From a87e794cb5c7649c627eab3c65f721324ab2eb96 Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Thu, 23 May 2024 15:34:11 -0400 Subject: [PATCH 001/164] [TM-846] Start up controller for Site Polygons data --- app/Helpers/GeometryHelper.php | 36 +++ .../V2/Sites/SitePolygonDataController.php | 41 ++++ openapi-src/V2/definitions/SitePolygon.yml | 55 +++++ .../definitions/SitePolygonsBboxResponse.yml | 5 + .../definitions/SitePolygonsDataResponse.yml | 4 + openapi-src/V2/definitions/_index.yml | 6 + .../paths/Sites/get-v2-sites-polygon-bbox.yml | 18 ++ .../Sites/get-v2-sites-polygons-data.yml | 18 ++ openapi-src/V2/paths/_index.yml | 6 + resources/docs/swagger-v2.yml | 222 ++++++++++++++++++ routes/api_v2.php | 3 + 11 files changed, 414 insertions(+) create mode 100644 app/Helpers/GeometryHelper.php create mode 100644 app/Http/Controllers/V2/Sites/SitePolygonDataController.php create mode 100644 openapi-src/V2/definitions/SitePolygon.yml create mode 100644 openapi-src/V2/definitions/SitePolygonsBboxResponse.yml create mode 100644 openapi-src/V2/definitions/SitePolygonsDataResponse.yml create mode 100644 openapi-src/V2/paths/Sites/get-v2-sites-polygon-bbox.yml create mode 100644 openapi-src/V2/paths/Sites/get-v2-sites-polygons-data.yml diff --git a/app/Helpers/GeometryHelper.php b/app/Helpers/GeometryHelper.php new file mode 100644 index 000000000..46df71528 --- /dev/null +++ b/app/Helpers/GeometryHelper.php @@ -0,0 +1,36 @@ +selectRaw('ST_ASGEOJSON(ST_Envelope(geom)) as envelope') + ->get(); + + $maxX = $maxY = PHP_INT_MIN; + $minX = $minY = PHP_INT_MAX; + + foreach ($envelopes as $envelope) { + $geojson = json_decode($envelope->envelope); + $coordinates = $geojson->coordinates[0]; + + foreach ($coordinates as $point) { + $x = $point[0]; + $y = $point[1]; + $maxX = max($maxX, $x); + $minX = min($minX, $x); + $maxY = max($maxY, $y); + $minY = min($minY, $y); + } + } + + $bboxCoordinates = [$minX, $minY, $maxX, $maxY]; + + return $bboxCoordinates; + } +} \ No newline at end of file diff --git a/app/Http/Controllers/V2/Sites/SitePolygonDataController.php b/app/Http/Controllers/V2/Sites/SitePolygonDataController.php new file mode 100644 index 000000000..6e16f659a --- /dev/null +++ b/app/Http/Controllers/V2/Sites/SitePolygonDataController.php @@ -0,0 +1,41 @@ +get(); + return response()->json($sitePolygons); + } catch (\Exception $e) { + Log::error($e->getMessage()); + return response()->json(['error' => 'An error occurred while fetching site polygons'], 500); + } + } + + public function getBboxOfCompleteSite($site): JsonResponse + { + try { + $sitePolygons = SitePolygon::where('site_id', $site)->get(); + if ($sitePolygons->isEmpty()) { + return response()->json(['error' => 'No polygons found for the site'], 404); + } + + $polygonsIds = $sitePolygons->pluck('poly_id'); + $bboxCoordinates = GeometryHelper::getPolygonsBbox($polygonsIds); + + return response()->json(['bbox' => $bboxCoordinates]); + } catch (\Exception $e) { + Log::error($e->getMessage()); + return response()->json(['error' => 'An error occurred while fetching the bounding box coordinates'], 500); + } + } +} diff --git a/openapi-src/V2/definitions/SitePolygon.yml b/openapi-src/V2/definitions/SitePolygon.yml new file mode 100644 index 000000000..51f5cd1e0 --- /dev/null +++ b/openapi-src/V2/definitions/SitePolygon.yml @@ -0,0 +1,55 @@ +title: SitePolygon +type: object +properties: + id: + type: integer + uuid: + type: string + project_id: + type: string + proj_name: + type: string + org_name: + type: string + poly_id: + type: string + poly_name: + type: string + site_id: + type: string + site_name: + type: string + plantstart: + type: string + format: date + plantend: + type: string + format: date + practice: + type: string + target_sys: + type: string + distr: + type: string + num_trees: + type: integer + calc_area: + type: number + format: float + created_by: + type: string + last_modified_by: + type: string + deleted_at: + type: string + format: date-time + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + status: + type: string + country: + type: string \ No newline at end of file diff --git a/openapi-src/V2/definitions/SitePolygonsBboxResponse.yml b/openapi-src/V2/definitions/SitePolygonsBboxResponse.yml new file mode 100644 index 000000000..246a10085 --- /dev/null +++ b/openapi-src/V2/definitions/SitePolygonsBboxResponse.yml @@ -0,0 +1,5 @@ +title: SitePolygonsBboxResponse +type: object +properties: + bbox: + type: array \ No newline at end of file diff --git a/openapi-src/V2/definitions/SitePolygonsDataResponse.yml b/openapi-src/V2/definitions/SitePolygonsDataResponse.yml new file mode 100644 index 000000000..ddcedc790 --- /dev/null +++ b/openapi-src/V2/definitions/SitePolygonsDataResponse.yml @@ -0,0 +1,4 @@ +title: SitePolygonsDataResponse +type: array +items: + $ref: './_index.yml#/SitePolygon' \ No newline at end of file diff --git a/openapi-src/V2/definitions/_index.yml b/openapi-src/V2/definitions/_index.yml index fcff7d24b..12c435c3a 100644 --- a/openapi-src/V2/definitions/_index.yml +++ b/openapi-src/V2/definitions/_index.yml @@ -276,3 +276,9 @@ GeoJSON: $ref: './GeoJSON.yml' SiteGeometryPost: $ref: './SiteGeometryPost.yml' +SitePolygon: + $ref: './SitePolygon.yml' +SitePolygonsDataResponse: + $ref: './SitePolygonsDataResponse.yml' +SitePolygonsBboxResponse: + $ref: './SitePolygonsBboxResponse.yml' diff --git a/openapi-src/V2/paths/Sites/get-v2-sites-polygon-bbox.yml b/openapi-src/V2/paths/Sites/get-v2-sites-polygon-bbox.yml new file mode 100644 index 000000000..88470087e --- /dev/null +++ b/openapi-src/V2/paths/Sites/get-v2-sites-polygon-bbox.yml @@ -0,0 +1,18 @@ +summary: Get bbox for a specific site +parameters: + - in: path + name: site + required: true + type: string + description: The ID of the site +responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '../../definitions/_index.yml#/SitePolygonsBboxResponse' + '400': + description: Bad request + '500': + description: Internal server error \ No newline at end of file diff --git a/openapi-src/V2/paths/Sites/get-v2-sites-polygons-data.yml b/openapi-src/V2/paths/Sites/get-v2-sites-polygons-data.yml new file mode 100644 index 000000000..9529905b4 --- /dev/null +++ b/openapi-src/V2/paths/Sites/get-v2-sites-polygons-data.yml @@ -0,0 +1,18 @@ +summary: Get polygons for a specific site +parameters: + - in: path + name: site + required: true + type: string + description: The ID of the site +responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '../../definitions/_index.yml#/SitePolygonsDataResponse' + '400': + description: Bad request + '500': + description: Internal server error \ No newline at end of file diff --git a/openapi-src/V2/paths/_index.yml b/openapi-src/V2/paths/_index.yml index e1e615422..24525dd98 100644 --- a/openapi-src/V2/paths/_index.yml +++ b/openapi-src/V2/paths/_index.yml @@ -2523,3 +2523,9 @@ /v2/geometry/{UUID}: put: $ref: './Geometry/put-v2-geometry-uuid.yml' +/v2/sites/{site}/polygon: + get: + $ref: './Sites/get-v2-sites-polygons-data.yml' +/v2/sites/{site}/bbox: + get: + $ref: './Sites/get-v2-sites-polygon-bbox.yml' diff --git a/resources/docs/swagger-v2.yml b/resources/docs/swagger-v2.yml index aa91d215f..572346c91 100644 --- a/resources/docs/swagger-v2.yml +++ b/resources/docs/swagger-v2.yml @@ -44062,6 +44062,127 @@ definitions: message: type: string description: Human readable string in English to describe the error. + SitePolygon: + title: SitePolygon + type: object + properties: + id: + type: integer + uuid: + type: string + project_id: + type: string + proj_name: + type: string + org_name: + type: string + poly_id: + type: string + poly_name: + type: string + site_id: + type: string + site_name: + type: string + plantstart: + type: string + format: date + plantend: + type: string + format: date + practice: + type: string + target_sys: + type: string + distr: + type: string + num_trees: + type: integer + calc_area: + type: number + format: float + created_by: + type: string + last_modified_by: + type: string + deleted_at: + type: string + format: date-time + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + status: + type: string + country: + type: string + SitePolygonsDataResponse: + title: SitePolygonsDataResponse + type: array + items: + title: SitePolygon + type: object + properties: + id: + type: integer + uuid: + type: string + project_id: + type: string + proj_name: + type: string + org_name: + type: string + poly_id: + type: string + poly_name: + type: string + site_id: + type: string + site_name: + type: string + plantstart: + type: string + format: date + plantend: + type: string + format: date + practice: + type: string + target_sys: + type: string + distr: + type: string + num_trees: + type: integer + calc_area: + type: number + format: float + created_by: + type: string + last_modified_by: + type: string + deleted_at: + type: string + format: date-time + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + status: + type: string + country: + type: string + SitePolygonsBboxResponse: + title: SitePolygonsBboxResponse + type: object + properties: + bbox: + type: array paths: '/v2/tree-species/{entity}/{UUID}': get: @@ -93944,3 +94065,104 @@ paths: description: This account does not have permission to update the polygon. '404': description: Geometry was not found. + '/v2/sites/{site}/polygon': + get: + summary: Get polygons for a specific site + parameters: + - in: path + name: site + required: true + type: string + description: The ID of the site + responses: + '200': + description: Successful response + content: + application/json: + schema: + title: SitePolygonsDataResponse + type: array + items: + title: SitePolygon + type: object + properties: + id: + type: integer + uuid: + type: string + project_id: + type: string + proj_name: + type: string + org_name: + type: string + poly_id: + type: string + poly_name: + type: string + site_id: + type: string + site_name: + type: string + plantstart: + type: string + format: date + plantend: + type: string + format: date + practice: + type: string + target_sys: + type: string + distr: + type: string + num_trees: + type: integer + calc_area: + type: number + format: float + created_by: + type: string + last_modified_by: + type: string + deleted_at: + type: string + format: date-time + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + status: + type: string + country: + type: string + '400': + description: Bad request + '500': + description: Internal server error + '/v2/sites/{site}/bbox': + get: + summary: Get bbox for a specific site + parameters: + - in: path + name: site + required: true + type: string + description: The ID of the site + responses: + '200': + description: Successful response + content: + application/json: + schema: + title: SitePolygonsBboxResponse + type: object + properties: + bbox: + type: array + '400': + description: Bad request + '500': + description: Internal server error diff --git a/routes/api_v2.php b/routes/api_v2.php index 4261cc69d..cb25a724f 100644 --- a/routes/api_v2.php +++ b/routes/api_v2.php @@ -156,6 +156,7 @@ use App\Http\Controllers\V2\Sites\Monitoring\AdminSoftDeleteSiteMonitoringController; use App\Http\Controllers\V2\Sites\Monitoring\AdminUpdateSiteMonitoringController; use App\Http\Controllers\V2\Sites\Monitoring\ViewSiteMonitoringController; +use App\Http\Controllers\V2\Sites\SitePolygonDataController; use App\Http\Controllers\V2\Sites\SoftDeleteSiteController; use App\Http\Controllers\V2\Sites\ViewASitesMonitoringsController; use App\Http\Controllers\V2\Stages\DeleteStageController; @@ -553,6 +554,8 @@ Route::delete('/', SoftDeleteSiteController::class); Route::get('/export', ExportAllSiteDataAsProjectDeveloperController::class); Route::post('/geometry', [GeometryController::class, 'storeSiteGeometry']); + Route::get('/polygon', [SitePolygonDataController::class, 'getSitePolygonData']); + Route::get('/bbox', [SitePolygonDataController::class, 'getBboxOfCompleteSite']); }); Route::prefix('geometry')->group(function () { From 11a8dcbc1894872867995d0d6cead33e577eb280 Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Thu, 23 May 2024 15:46:50 -0400 Subject: [PATCH 002/164] [TM-846] fix lint --- app/Helpers/GeometryHelper.php | 2 +- app/Http/Controllers/V2/Sites/SitePolygonDataController.php | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/app/Helpers/GeometryHelper.php b/app/Helpers/GeometryHelper.php index 46df71528..56f376b93 100644 --- a/app/Helpers/GeometryHelper.php +++ b/app/Helpers/GeometryHelper.php @@ -33,4 +33,4 @@ public static function getPolygonsBbox($polygonsIds) return $bboxCoordinates; } -} \ No newline at end of file +} diff --git a/app/Http/Controllers/V2/Sites/SitePolygonDataController.php b/app/Http/Controllers/V2/Sites/SitePolygonDataController.php index 6e16f659a..215925299 100644 --- a/app/Http/Controllers/V2/Sites/SitePolygonDataController.php +++ b/app/Http/Controllers/V2/Sites/SitePolygonDataController.php @@ -5,8 +5,8 @@ use App\Helpers\GeometryHelper; use App\Http\Controllers\Controller; use App\Models\V2\Sites\SitePolygon; -use Illuminate\Support\Facades\Log; use Illuminate\Http\JsonResponse; +use Illuminate\Support\Facades\Log; class SitePolygonDataController extends Controller { @@ -14,9 +14,11 @@ public function getSitePolygonData($site): JsonResponse { try { $sitePolygons = SitePolygon::where('site_id', $site)->get(); + return response()->json($sitePolygons); } catch (\Exception $e) { Log::error($e->getMessage()); + return response()->json(['error' => 'An error occurred while fetching site polygons'], 500); } } @@ -35,6 +37,7 @@ public function getBboxOfCompleteSite($site): JsonResponse return response()->json(['bbox' => $bboxCoordinates]); } catch (\Exception $e) { Log::error($e->getMessage()); + return response()->json(['error' => 'An error occurred while fetching the bounding box coordinates'], 500); } } From 7a3796a411a5baa93cf9c0bb9914a29ca933ce4f Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Fri, 24 May 2024 11:42:32 -0400 Subject: [PATCH 003/164] [TM-851] Modify Site Polygon table and change reference from est_area to calc_area --- .../TerrafundEditGeometryController.php | 38 +++++++---- app/Models/V2/Sites/SitePolygon.php | 10 +-- .../Extensions/Polygons/EstimatedArea.php | 2 +- .../factories/V2/Sites/SitePolygonFactory.php | 2 +- ...024_05_13_204255_modify_sites_polygons.php | 63 +++++++++++++++++++ .../Data/polygon_validation_projects.json | 14 ++--- database/seeders/PolygonValidationSeeder.php | 2 +- 7 files changed, 102 insertions(+), 29 deletions(-) create mode 100644 database/migrations/2024_05_13_204255_modify_sites_polygons.php diff --git a/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php b/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php index 1c601a421..ff7fc8849 100644 --- a/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php +++ b/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php @@ -66,7 +66,7 @@ public function updateSitePolygon(string $uuid, Request $request) 'practice' => 'nullable|string', 'distr' => 'nullable|string', 'num_trees' => 'nullable|integer', - 'est_area' => 'nullable|numeric', + 'calc_area' => 'nullable|numeric', 'target_sys' => 'nullable|string', ]); @@ -79,18 +79,30 @@ public function updateSitePolygon(string $uuid, Request $request) } } - public function createSitePolygon(string $uuid, Request $request) + public function createSitePolygon(string $uuid, string $siteUuid, Request $request) { try { - $validatedData = $request->validate([ - 'poly_name' => 'nullable|string', - 'plantstart' => 'nullable|date', - 'plantend' => 'nullable|date', - 'practice' => 'nullable|string', - 'distr' => 'nullable|string', - 'num_trees' => 'nullable|integer', - 'target_sys' => 'nullable|string', - ]); + if ($request->getContent() === '{}') { + $validatedData = [ + 'poly_name' => null, + 'plantstart' => null, + 'plantend' => null, + 'practice' => null, + 'distr' => null, + 'num_trees' => null, + 'target_sys' => null, + ]; + } else { + $validatedData = $request->validate([ + 'poly_name' => 'nullable|string', + 'plantstart' => 'nullable|date', + 'plantend' => 'nullable|date', + 'practice' => 'nullable|string', + 'distr' => 'nullable|string', + 'num_trees' => 'nullable|integer', + 'target_sys' => 'nullable|string', + ]); + } $polygonGeometry = PolygonGeometry::where('uuid', $uuid)->first(); if (! $polygonGeometry) { @@ -107,10 +119,12 @@ public function createSitePolygon(string $uuid, Request $request) 'practice' => $validatedData['practice'], 'distr' => $validatedData['distr'], 'num_trees' => $validatedData['num_trees'], - 'est_area' => $areaHectares, // Assign the calculated area + 'calc_area' => $areaHectares, 'target_sys' => $validatedData['target_sys'], 'poly_id' => $uuid, 'created_by' => Auth::user()?->id, + 'status' => 'submitted', + 'site_id' => $siteUuid, ]); $sitePolygon->save(); diff --git a/app/Models/V2/Sites/SitePolygon.php b/app/Models/V2/Sites/SitePolygon.php index dd420a334..2c60977e3 100644 --- a/app/Models/V2/Sites/SitePolygon.php +++ b/app/Models/V2/Sites/SitePolygon.php @@ -28,22 +28,18 @@ class SitePolygon extends Model protected $table = 'site_polygon'; protected $fillable = [ - 'proj_name', - 'org_name', 'poly_id', 'poly_name', 'site_id', - 'site_name', - 'project_id', - 'poly_label', + 'point_id', 'plantstart', 'plantend', 'practice', 'target_sys', 'distr', 'num_trees', - 'est_area', - 'country', + 'calc_area', + 'status', 'created_by', ]; diff --git a/app/Validators/Extensions/Polygons/EstimatedArea.php b/app/Validators/Extensions/Polygons/EstimatedArea.php index bff44f84c..6fe49021b 100644 --- a/app/Validators/Extensions/Polygons/EstimatedArea.php +++ b/app/Validators/Extensions/Polygons/EstimatedArea.php @@ -43,7 +43,7 @@ public static function getAreaData(string $polygonUuid): array return ['valid' => false, 'error' => 'Total hectares restored goal not set for the project', 'status' => 500]; } - $sumEstArea = $project->sitePolygons()->sum('est_area'); + $sumEstArea = $project->sitePolygons()->sum('calc_area'); $lowerBound = self::LOWER_BOUND_MULTIPLIER * $project->total_hectares_restored_goal; $upperBound = self::UPPER_BOUND_MULTIPLIER * $project->total_hectares_restored_goal; $valid = $sumEstArea >= $lowerBound && $sumEstArea <= $upperBound; diff --git a/database/factories/V2/Sites/SitePolygonFactory.php b/database/factories/V2/Sites/SitePolygonFactory.php index b12f83099..1e8415ca5 100644 --- a/database/factories/V2/Sites/SitePolygonFactory.php +++ b/database/factories/V2/Sites/SitePolygonFactory.php @@ -13,7 +13,7 @@ public function definition() return [ 'poly_id' => PolygonGeometry::factory()->create()->uuid, 'site_id' => Site::factory()->create()->uuid, - 'est_area' => $this->faker->numberBetween(2.0, 50.0), + 'calc_area' => $this->faker->numberBetween(2.0, 50.0), ]; } diff --git a/database/migrations/2024_05_13_204255_modify_sites_polygons.php b/database/migrations/2024_05_13_204255_modify_sites_polygons.php new file mode 100644 index 000000000..7f385b9ad --- /dev/null +++ b/database/migrations/2024_05_13_204255_modify_sites_polygons.php @@ -0,0 +1,63 @@ +dropColumn($column); + } + } + + if (Schema::hasColumn('site_polygon', 'est_area')) { + $table->decimal('est_area', 15, 2)->nullable()->change(); + $table->renameColumn('est_area', 'calc_area'); + } + + if (!Schema::hasColumn('site_polygon', 'point_id')) { + $table->string('point_id', 255)->nullable()->after('site_id'); + } + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + if (!Schema::hasTable('site_polygon')) { + return; + } + + Schema::table('site_polygon', function (Blueprint $table) { + $table->string('project_id')->nullable(); + $table->string('proj_name')->nullable(); + $table->string('site_name')->nullable(); + $table->string('org_name')->nullable(); + $table->string('poly_label')->nullable(); + $table->date('date_modified')->nullable(); + $table->string('country')->nullable(); + + if (Schema::hasColumn('site_polygon', 'calc_area')) { + $table->renameColumn('calc_area', 'est_area'); + $table->float('est_area')->nullable()->change(); + } + + $table->dropColumn('point_id'); + }); + } +}; \ No newline at end of file diff --git a/database/seeders/Data/polygon_validation_projects.json b/database/seeders/Data/polygon_validation_projects.json index a4dd66d10..94ed71250 100644 --- a/database/seeders/Data/polygon_validation_projects.json +++ b/database/seeders/Data/polygon_validation_projects.json @@ -43,15 +43,15 @@ "geometry": [ { "geojson": "{\"type\": \"Polygon\", \"coordinates\": [[[40.42039202036633, -12.986826569522448], [40.420395177605975, -12.986824096985375], [40.42038654475881, -12.98670798951762], [40.42037374475881, -12.98657808951762], [40.42036344475881, -12.98647018951762], [40.420353944758816, -12.98636398951762], [40.42034624475881, -12.986278589517621], [40.42037564475881, -12.986192889517621], [40.420425644758815, -12.98612818951762], [40.42047954475881, -12.986106689517621], [40.42062474475881, -12.98606338951762], [40.42073464475881, -12.98604168951762], [40.42084664475881, -12.98604248951762], [40.42095864475881, -12.98604348951762], [40.42101464475881, -12.98604398951762], [40.42108934475881, -12.98604458951762], [40.42116404475881, -12.98604518951762], [40.42125904475881, -12.98606828951762], [40.421372844758814, -12.98609218951762], [40.42148894475881, -12.98615798951762], [40.42156724475881, -12.98622208951762], [40.42160844475881, -12.98628648951762], [40.421631244758814, -12.98635168951762], [40.421675744758815, -12.98646138951762], [40.421720044758814, -12.986570589517621], [40.42174424475881, -12.98665748951762], [40.42178664475881, -12.98674408951762], [40.421810644758814, -12.98683018951762], [40.421852744758816, -12.98691618951762], [40.421911644758815, -12.98698058951762], [40.42198854475881, -12.98704498951762], [40.42210404475881, -12.98715168951762], [40.422141544758816, -12.987172989517621], [40.422254044758816, -12.98723718951762], [40.42229374475881, -12.98730048951762], [40.42233774475881, -12.987447089517621], [40.422342244758816, -12.98753018951762], [40.42234774475881, -12.987633589517621], [40.42235324475881, -12.987736489517621], [40.422360944758815, -12.98787978951762], [40.422433344758815, -12.98790068951762], [40.42252254475881, -12.98790128951762], [40.42261364475881, -12.98794268951762], [40.42267084475881, -12.98802418951762], [40.422692244758814, -12.98810508951762], [40.42269684475881, -12.98820568951762], [40.422717244758815, -12.98826588951762], [40.42272184475881, -12.98836568951762], [40.42274294475881, -12.988445289517621], [40.42281594475881, -12.98850508951762], [40.42288604475881, -12.988504889517621], [40.422938544758814, -12.98850448951762], [40.422990344758816, -12.98848438951762], [40.423113044758814, -12.988483289517621], [40.423183144758816, -12.988482689517621], [40.42325514475881, -12.98854088951762], [40.423292444758815, -12.988618289517621], [40.423329644758816, -12.98869528951762], [40.423331944758814, -12.98877298951762], [40.42338714475881, -12.98887068951762], [40.42342364475881, -12.98892908951762], [40.42346044475881, -12.98900658951762], [40.42347834475881, -12.98902598951762], [40.423534344758814, -12.98918018951762], [40.423554044758816, -12.98927518951762], [40.42355534475881, -12.989331789517621], [40.42352334475881, -12.989425589517621], [40.423525244758814, -12.98950048951762], [40.423492444758814, -12.98955628951762], [40.42346074475881, -12.98964908951762], [40.423394044758815, -12.98970428951762], [40.42334454475881, -12.98975948951762], [40.42327934475881, -12.989851189517621], [40.42323074475881, -12.98992428951762], [40.423181244758815, -12.98996098951762], [40.42311704475881, -12.99005358951762], [40.423069344758815, -12.99012728951762], [40.42303864475881, -12.99020088951762], [40.42300804475881, -12.990274089517621], [40.42297834475881, -12.990365289517621], [40.42296554475881, -12.990456189517621], [40.422917844758814, -12.990510289517621], [40.42290434475881, -12.99058208951762], [40.422874144758815, -12.99065328951762], [40.42286054475881, -12.99072368951762], [40.42283124475881, -12.99081138951762], [40.42283434475881, -12.990881189517621], [40.42283814475881, -12.99096818951762], [40.42282474475881, -12.99103748951762], [40.42281134475881, -12.99110648951762], [40.422814444758814, -12.99117528951762], [40.42280104475881, -12.991243889517621], [40.42280574475881, -12.99134628951762], [40.42280874475881, -12.99141418951762], [40.422813344758815, -12.99151578951762], [40.42281714475881, -12.99159998951762], [40.42282094475881, -12.991683789517621], [40.42282474475881, -12.99176718951762], [40.42282774475881, -12.99183378951762], [40.422846844758816, -12.991900089517621], [40.422882044758815, -12.99196628951762], [40.42290254475881, -12.99206558951762], [40.422921644758816, -12.99213168951762], [40.42294064475881, -12.99219758951762], [40.42294434475881, -12.992279489517621], [40.42294724475881, -12.99234478951762], [40.42295094475881, -12.99242608951762], [40.42290484475881, -12.99245828951762], [40.422843644758814, -12.992506589517621], [40.42279774475881, -12.99253868951762], [40.422736044758814, -12.99257068951762], [40.42267264475881, -12.99257048951762], [40.42259354475881, -12.99257018951762], [40.422529344758814, -12.99255388951762], [40.42244814475881, -12.99252138951762], [40.422368944758816, -12.992521189517621], [40.42228964475881, -12.992520889517621], [40.42219464475881, -12.99252098951762], [40.42215034475881, -12.99256918951762], [40.422120844758815, -12.99260118951762], [40.422110444758815, -12.992681089517621], [40.42206564475881, -12.99271338951762], [40.422002744758814, -12.99271368951762], [40.42198244475881, -12.992649789517621], [40.42191144475881, -12.99253818951762], [40.421890944758815, -12.99247398951762], [40.42186804475881, -12.99237718951762], [40.42184984475881, -12.99234488951762], [40.421810744758815, -12.99224718951762], [40.42179104475881, -12.99219798951762], [40.42175004475881, -12.99208268951762], [40.42173014475881, -12.992033089517621], [40.42167554475881, -12.99195028951762], [40.421638144758816, -12.99188388951762], [40.42160064475881, -12.99181728951762], [40.421577844758815, -12.99173368951762], [40.421522544758815, -12.99164968951762], [40.42145354475881, -12.99159918951762], [40.421402144758815, -12.99156558951762], [40.42135214475881, -12.99154898951762], [40.42125054475881, -12.99149868951762], [40.42118544475881, -12.991498789517621], [40.421104144758814, -12.99149888951762], [40.42107164475881, -12.99149888951762], [40.420957744758816, -12.99149898951762], [40.420907244758816, -12.99148198951762], [40.42080964475881, -12.991482089517621], [40.42067944475881, -12.99148218951762], [40.420565544758816, -12.99148228951762], [40.420500444758815, -12.991482389517621], [40.420417144758815, -12.99146538951762], [40.420335744758816, -12.99146538951762], [40.42023814475881, -12.991465489517621], [40.420170944758816, -12.991448489517621], [40.420105844758815, -12.99144858951762], [40.42002204475881, -12.991431289517621], [40.41992174475881, -12.991413689517621], [40.419854044758814, -12.99139628951762], [40.419788544758816, -12.99139598951762], [40.41972064475881, -12.99137848951762], [40.419638744758814, -12.99137818951762], [40.419556744758815, -12.991377789517621], [40.419474744758816, -12.991377489517621], [40.41938124475881, -12.991411389517621], [40.41936314475881, -12.991513989517621], [40.41937524475881, -12.99159908951762], [40.419350044758815, -12.99164998951762], [40.41934594475881, -12.991734389517621], [40.41935564475881, -12.99180168951762], [40.41935154475881, -12.991885489517621], [40.41934504475881, -12.99195218951762], [40.419341044758816, -12.99203518951762], [40.419318544758816, -12.99210138951762], [40.41929864475881, -12.99218378951762], [40.41930824475881, -12.992249389517621], [40.419301944758814, -12.99231478951762], [40.41929804475881, -12.99239618951762], [40.419307544758816, -12.99246108951762], [40.41930364475881, -12.99254178951762], [40.41924764475881, -12.99259008951762], [40.419173644758814, -12.992622289517621], [40.41909724475881, -12.992638389517621], [40.41900264475881, -12.992638389517621], [40.41893194475881, -12.99259038951762], [40.41889014475881, -12.99252598951762], [40.418850744758814, -12.99247758951762], [40.418827044758814, -12.992429089517621], [40.41877954475881, -12.99233158951762], [40.418721244758814, -12.992266289517621], [40.418694644758816, -12.99220078951762], [40.418633144758815, -12.99211848951762], [40.41857694475881, -12.992068989517621], [40.418501744758814, -12.99200278951762], [40.41843474475881, -12.991986289517621], [40.418332744758814, -12.99195308951762], [40.418246544758816, -12.99191978951762], [40.417351544758816, -12.992188289517621], [40.417190344758815, -12.99210668951762], [40.41714134475881, -12.992057889517621], [40.417091844758815, -12.99199238951762], [40.41707464475881, -12.99194258951762], [40.41705704475881, -12.99187588951762], [40.417055444758816, -12.99180898951762], [40.417053444758814, -12.99172488951762], [40.41705184475881, -12.99165728951762], [40.41705024475881, -12.99158958951762], [40.41704824475881, -12.99150448951762], [40.417062544758814, -12.99141888951762], [40.41706054475881, -12.99133298951762], [40.417042544758814, -12.991264089517621], [40.416959344758816, -12.99121268951762], [40.416908344758816, -12.99114348951762], [40.416856544758815, -12.99105638951762], [40.416804944758816, -12.99098528951762], [40.41680204475881, -12.99089628951762], [40.41679924475881, -12.99080688951762], [40.41681304475881, -12.99071708951762], [40.41684464475881, -12.99066308951762], [40.41689224475881, -12.990573989517621], [40.41694064475881, -12.99050308951762], [40.41698954475881, -12.99044988951762], [40.417039044758816, -12.990414389517621], [40.417105344758816, -12.99037898951762], [40.41718824475881, -12.99032558951762], [40.417254844758816, -12.99028998951762], [40.41728794475881, -12.990254189517621], [40.41735464475881, -12.99021818951762], [40.417421344758814, -12.990163889517621], [40.417488344758816, -12.99012758951762], [40.41757244475881, -12.99009118951762], [40.41765644475881, -12.99003658951762], [40.41772394475881, -12.99000008951762], [40.417757644758815, -12.98996348951762], [40.417842244758816, -12.98992678951762], [40.41791004475881, -12.98989008951762], [40.41794404475881, -12.98985328951762], [40.41802904475881, -12.98983468951762], [40.41809714475881, -12.989797389517621], [40.41818234475881, -12.98977828951762], [40.418267844758816, -12.989740689517621], [40.41833614475881, -12.989721689517621], [40.418404644758816, -12.98970258951762], [40.418473344758816, -12.989664989517621], [40.418524944758815, -12.989645989517621], [40.41862874475881, -12.98957078951762], [40.41868084475881, -12.98953308951762], [40.418750544758815, -12.98947598951762], [40.41885494475881, -12.98941808951762], [40.41890844475881, -12.989341989517621], [40.41896114475881, -12.98930348951762], [40.419049644758815, -12.98922608951762], [40.41910394475881, -12.98914808951762], [40.419158444758814, -12.98906978951762], [40.419212544758814, -12.98901058951762], [40.419233244758814, -12.98891278951762], [40.41923654475881, -12.988814689517621], [40.41923984475881, -12.98871608951762], [40.41924324475881, -12.98861698951762], [40.41924584475881, -12.98853778951762], [40.41924894475881, -12.988439389517621], [40.419250844758814, -12.988380089517621], [40.419253344758815, -12.98830078951762], [40.41925784475881, -12.98816128951762], [40.419242544758816, -12.98808148951762], [40.41919154475881, -12.98800148951762], [40.419121444758815, -12.98796148951762], [40.41910594475881, -12.98788008951762], [40.41907244475881, -12.987799289517621], [40.419075144758814, -12.98769738951762], [40.41907794475881, -12.987594989517621], [40.41909874475881, -12.98749188951762], [40.419137244758815, -12.98740888951762], [40.41919574475881, -12.98726288951762], [40.419252744758815, -12.987178789517621], [40.419327444758814, -12.98711518951762], [40.419401744758815, -12.987072389517621], [40.41954744475881, -12.98707138951762], [40.41954734475881, -12.987021289517621], [40.419545944758816, -12.98699158951762], [40.41954494475881, -12.98697178951762], [40.41954354475881, -12.98694198951762], [40.41954234475881, -12.98691698951762], [40.419550644758814, -12.98689688951762], [40.419554344758815, -12.98687678951762], [40.41955824475881, -12.98686158951762], [40.41957104475881, -12.98683618951762], [40.419579344758816, -12.98681588951762], [40.41959244475881, -12.98679548951762], [40.41961064475881, -12.986785089517621], [40.41962864475881, -12.98676968951762], [40.419646644758814, -12.98675418951762], [40.419660244758816, -12.98674378951762], [40.41968304475881, -12.98672818951762], [40.419705644758814, -12.98670738951762], [40.419719044758814, -12.98668668951762], [40.419732544758816, -12.98667098951762], [40.41975534475881, -12.986650089517621], [40.419769044758816, -12.98663438951762], [40.41978264475881, -12.98661858951762], [40.41979614475881, -12.98659758951762], [40.41981474475881, -12.986586889517621], [40.41982834475881, -12.98656578951762], [40.41984704475881, -12.986555089517621], [40.419865744758816, -12.98654438951762], [40.41988434475881, -12.98652838951762], [40.41990304475881, -12.98651768951762], [40.419936244758816, -12.986512089517621], [40.41996004475881, -12.986511789517621], [40.419993244758814, -12.986511489517621], [40.42001264475881, -12.98653248951762], [40.420031644758815, -12.98653758951762], [40.42005084475881, -12.98655348951762], [40.420070044758816, -12.986569389517621], [40.42008434475881, -12.98657998951762], [40.420108144758814, -12.98659578951762], [40.42012724475881, -12.98661158951762], [40.42014144475881, -12.98662208951762], [40.42015094475881, -12.986637789517621], [40.420160544758815, -12.98666398951762], [40.42017474475881, -12.98667438951762], [40.42018884475881, -12.98668488951762], [40.42022174475881, -12.98670038951762], [40.420231144758816, -12.986705589517621], [40.42025464475881, -12.98672118951762], [40.420277944758816, -12.98673668951762], [40.42028734475881, -12.98674178951762], [40.420310644758814, -12.98676248951762], [40.42032924475881, -12.98677268951762], [40.42034314475881, -12.98678808951762], [40.42036164475881, -12.986803489517621], [40.420370844758814, -12.98681368951762], [40.42038474475881, -12.98682388951762], [40.42039042272699, -12.986826303249225], [40.42039202036633, -12.986826569522448]]]}", - "est_area": 29 + "calc_area": 29 }, { "geojson": "{\"type\": \"Polygon\", \"coordinates\": [[[40.4208782, -12.9966219], [40.420668718590605, -12.996690702886378], [40.4205746, -12.9967071], [40.42057158698505, -12.996712167019878], [40.4205646, -12.9967249], [40.4206808, -12.9970237], [40.4205785, -12.9970738], [40.4204578, -12.9970399], [40.4201384, -12.9970048], [40.4199487, -12.9969966], [40.4198451, -12.9969883], [40.4195651, -12.9969206], [40.4193779, -12.9968437], [40.41915, -12.9967142], [40.419007, -12.9966792], [40.4187997, -12.9966181], [40.4186464, -12.9964872], [40.4182502, -12.9963375], [40.4178242, -12.996267], [40.4177966, -12.9962583], [40.4176934, -12.996151], [40.4176655, -12.9961421], [40.4174409, -12.9960624], [40.4174293, -12.9960442], [40.4171427, -12.9958793], [40.4167641, -12.9958254], [40.416554, -12.9955798], [40.4165486, -12.9952107], [40.416852, -12.9952486], [40.4170542, -12.9952964], [40.4173546, -12.9951463], [40.4176285, -12.9948334], [40.4177287, -12.9948741], [40.4178497, -12.9950051], [40.4182262, -12.9950137], [40.4184424, -12.9950135], [40.4185773, -12.9948521], [40.4187258, -12.9946058], [40.4187848, -12.9942907], [40.4187998, -12.9940106], [40.4186606, -12.9936752], [40.4184847, -12.9935047], [40.418567, -12.9934237], [40.4191292, -12.993422], [40.4194912, -12.9934221], [40.4198032, -12.9934243], [40.4197678, -12.9937522], [40.4197963, -12.9939596], [40.4200389, -12.9941628], [40.4203545, -12.9943043], [40.4205594, -12.9943907], [40.4205707, -12.9945175], [40.4205837, -12.9947875], [40.4205933, -12.9947979], [40.420737, -12.9950106], [40.4209999, -12.9951113], [40.4210092, -12.9951213], [40.4213239, -12.9952997], [40.4214468, -12.9955806], [40.4214587, -12.9958268], [40.4213012, -12.9960029], [40.4212651, -12.996012], [40.4209943, -12.996185], [40.4208782, -12.9966219]]]}", - "est_area": 11 + "calc_area": 11 }, { "geojson": "{\"type\": \"Polygon\", \"coordinates\": [[[40.422583542502316, -12.996359645998147], [40.422837542502315, -12.996105945998147], [40.422867442502316, -12.995839445998147], [40.42275404250232, -12.995605945998147], [40.422777942502314, -12.995321145998147], [40.42286394250232, -12.995240745998148], [40.42294434250232, -12.995202445998148], [40.42301354250232, -12.995182845998148], [40.42312124250232, -12.995165945998147], [40.423235242502315, -12.995097345998147], [40.42333114250231, -12.995037345998147], [40.42345394250231, -12.994979345998148], [40.42349344250232, -12.994923945998147], [40.423533042502314, -12.994886345998147], [40.423530042502314, -12.994822145998148], [40.423541042502315, -12.994772445998148], [40.423573942502316, -12.994691745998148], [40.42359924250232, -12.994634745998148], [40.42364354250232, -12.994580345998148], [40.42369814250232, -12.994557945998148], [40.42375044250232, -12.994438045998148], [40.423774642502316, -12.994418245998148], [40.423775742502315, -12.994391445998147], [40.42377714250232, -12.994357845998147], [40.42378474250231, -12.994317245998147], [40.423785542502316, -12.994296845998148], [40.42379264250231, -12.994269545998147], [40.423805642502316, -12.994242245998148], [40.42380714250232, -12.994207745998148], [40.42380834250232, -12.994179945998148], [40.42382714250232, -12.994159245998148], [40.42385704250232, -12.994159545998148], [40.423880842502314, -12.994159745998148], [40.42390444250232, -12.994166945998147], [40.423927142502315, -12.994188045998147], [40.42394384250232, -12.994208945998148], [40.42394754250232, -12.994305145998148], [40.423973342502315, -12.994332545998148], [40.42399254250232, -12.994352945998148], [40.424006842502315, -12.994386745998147], [40.424014642502314, -12.994413645998147], [40.42404004250232, -12.994440445998148], [40.424058442502314, -12.994453945998147], [40.424087642502315, -12.994454145998148], [40.424111442502316, -12.994461045998147], [40.42413604250232, -12.994481045998148], [40.424160642502315, -12.994501045998147], [40.424178842502315, -12.994514345998148], [40.42420244250231, -12.994520945998147], [40.424226342502315, -12.994534045998147], [40.42424474250232, -12.994553645998147], [40.42426304250232, -12.994573245998147], [40.42427594250232, -12.994599145998148], [40.42428364250232, -12.994637845998147], [40.424295742502316, -12.994650645998147], [40.42431424250232, -12.994676445998147], [40.424332042502314, -12.994689445998148], [40.424333242502314, -12.994715045998147], [40.424335042502314, -12.994753245998147], [40.42434704250232, -12.994766045998148], [40.42437024250231, -12.994778945998148], [40.42439864250232, -12.994779145998148], [40.424420842502315, -12.994766545998148], [40.424437342502316, -12.994754045998148], [40.424459142502315, -12.994728745998147], [40.42447534250232, -12.994703345998147], [40.42450324250232, -12.994684345998147], [40.42451984250231, -12.994665145998148], [40.424548042502316, -12.994652545998148], [40.42456454250232, -12.994626745998147], [40.424581442502316, -12.994613845998147], [40.42461024250232, -12.994614145998147], [40.42463894250232, -12.994614345998148], [40.42466194250232, -12.994614545998148], [40.42469064250232, -12.994614745998147], [40.424719442502315, -12.994614945998148], [40.42473674250232, -12.994621645998148], [40.42476544250231, -12.994628345998148], [40.424782742502316, -12.994641445998148], [40.42478294250232, -12.994673645998148], [40.424783242502315, -12.994705745998148], [40.424783342502316, -12.994731245998148], [40.42477794250232, -12.994762945998147], [40.424766842502315, -12.994794545998147], [40.42476704250232, -12.994819845998148], [40.42475604250232, -12.994844945998148], [40.42473354250232, -12.994844745998147], [40.42471104250232, -12.994844545998147], [40.42468854250232, -12.994844445998147], [40.424660442502315, -12.994844245998147], [40.42463224250232, -12.994844045998148], [40.424598542502316, -12.994843745998148], [40.424575942502315, -12.994843645998147], [40.42454224250232, -12.994843345998147], [40.42451404250232, -12.994843145998148], [40.42448614250232, -12.994849245998148], [40.42446424250232, -12.994867845998147], [40.42444794250232, -12.994880245998148], [40.42442594250232, -12.994892545998148], [40.424404342502314, -12.994911045998148], [40.42438274250232, -12.994929445998148], [40.424372742502314, -12.994954045998147], [40.42436274250232, -12.994978545998148], [40.424347242502314, -12.995002845998147], [40.42432564250232, -12.995014945998147], [40.424303442502314, -12.995014745998148], [40.42428194250232, -12.995026745998148], [40.424254242502315, -12.995026545998147], [40.42423684250232, -12.995014345998147], [40.424240942502315, -12.994989945998148], [40.42425624250232, -12.994965545998147], [40.424266342502314, -12.994947145998148], [40.42427054250231, -12.994922445998148], [40.42425834250232, -12.994903845998147], [40.42423584250232, -12.994903645998148], [40.42421984250232, -12.994915945998148], [40.424197742502315, -12.994921945998147], [40.424188542502314, -12.994952745998148], [40.42418454250232, -12.994977345998148], [40.424186142502315, -12.995001745998147], [40.424182542502315, -12.995032145998147], [40.42416714250232, -12.995050245998147], [40.424145442502315, -12.995056145998147], [40.42412324250232, -12.995055945998148], [40.42404734250232, -12.995202345998148], [40.42404604250232, -12.995213245998148], [40.42402214250232, -12.995293245998148], [40.424011642502315, -12.995363545998147], [40.42406714250232, -12.995417245998148], [40.424062842502316, -12.995469745998147], [40.423970942502315, -12.995494045998148], [40.42391594250232, -12.995506145998148], [40.42399504250232, -12.995623645998148], [40.42402784250232, -12.995740945998147], [40.424191642502315, -12.995772345998148], [40.42430614250232, -12.995772245998147], [40.42438404250232, -12.995702245998148], [40.42434714250231, -12.995631845998147], [40.424305242502314, -12.995537145998147], [40.42438774250232, -12.995497245998148], [40.42444734250232, -12.995457245998148], [40.42452044250231, -12.995433245998148], [40.42468254250232, -12.995441045998147], [40.42475674250232, -12.995464845998148], [40.42488624250232, -12.995480645998148], [40.42498594250232, -12.995481445998148], [40.425070242502315, -12.995482145998148], [40.42518614250232, -12.995522645998147], [40.42533004250232, -12.995703845998147], [40.425350642502316, -12.995758145998147], [40.42534114250232, -12.995811845998148], [40.42531814250231, -12.995941145998147], [40.425299442502315, -12.996046245998148], [40.425245442502316, -12.996142645998148], [40.425185242502316, -12.996230945998148], [40.42511004250232, -12.996281945998147], [40.42500364250232, -12.996303345998147], [40.42477794250232, -12.996331945998147], [40.42466664250232, -12.996332145998148], [40.424599742502316, -12.996332445998148], [40.424500542502315, -12.996296445998148], [40.424501242502316, -12.996238045998147], [40.424360142502316, -12.996231345998147], [40.42425834250232, -12.996268345998148], [40.42410754250232, -12.996283545998148], [40.424085842502315, -12.996341745998148], [40.424024542502316, -12.996511745998147], [40.42422704250232, -12.996710845998148], [40.42438334250232, -12.996770345998147], [40.42446174250232, -12.996746745998147], [40.42448634250232, -12.996746745998147], [40.424615342502314, -12.996746645998147], [40.42474954250232, -12.996752545998147], [40.42487664250232, -12.996764645998148], [40.42490214250232, -12.996795345998148], [40.42496894250232, -12.996904445998148], [40.42497214250232, -12.997023645998148], [40.42499224250231, -12.997111345998148], [40.42498654250232, -12.997209145998148], [40.42495304250232, -12.997328545998148], [40.42486254250232, -12.997521945998148], [40.42462544250232, -12.998119045998148], [40.42453624250231, -12.998417745998148], [40.42424784250232, -12.998550545998148], [40.424090842502316, -12.998580445998147], [40.423812742502314, -12.998598545998147], [40.42300324250232, -12.997743445998148], [40.42264044250231, -12.997648945998147], [40.42218104250232, -12.997461745998148], [40.421974142502314, -12.997376545998147], [40.42153534250232, -12.997305045998148], [40.42121454250232, -12.997115945998148], [40.420682142502315, -12.997014245998148], [40.420577064606924, -12.996716427392446], [40.422583542502316, -12.996359645998147]]]}", - "est_area": 10 + "calc_area": 10 } ] }, @@ -60,11 +60,11 @@ "geometry": [ { "geojson": "{\"type\": \"Polygon\", \"coordinates\": [[[40.4030892, -12.9677323], [40.4031161, -12.9677189], [40.4031687, -12.9677027], [40.4032214, -12.9676864], [40.4032909, -12.9676864], [40.4033603, -12.9676865], [40.4034297, -12.9676865], [40.4034826, -12.9676702], [40.4035494, -12.9676539], [40.4036189, -12.9676539], [40.4036719, -12.9676376], [40.4037251, -12.9676213], [40.4037807, -12.9676213], [40.4038642, -12.9676213], [40.4039222, -12.9676377], [40.4039918, -12.9676377], [40.4040497, -12.9676541], [40.4041215, -12.9676704], [40.4041792, -12.9676867], [40.4042275, -12.9677355], [40.4042777, -12.9678003], [40.4043121, -12.9678492], [40.4043485, -12.967914], [40.4043826, -12.9679626], [40.4043951, -12.9680582], [40.4044173, -12.9681218], [40.4044235, -12.9681692], [40.4044612, -12.9682481], [40.4044967, -12.9683111], [40.4045437, -12.9683584], [40.4045884, -12.9683899], [40.4046446, -12.9684057], [40.4047142, -12.9684216], [40.404799, -12.9684529], [40.4048667, -12.9684534], [40.4049124, -12.9684995], [40.4049697, -12.9685303], [40.4050284, -12.9685758], [40.4050868, -12.9686211], [40.4051585, -12.9686663], [40.4052165, -12.9687113], [40.4052729, -12.9687412], [40.4053277, -12.9687562], [40.4053853, -12.9688009], [40.4054532, -12.9688158], [40.4055104, -12.9688603], [40.4055542, -12.9689046], [40.4055727, -12.9689636], [40.4055911, -12.9690222], [40.4055699, -12.9690806], [40.4055474, -12.9691242], [40.4054857, -12.9691677], [40.4054359, -12.9691966], [40.4053834, -12.9691966], [40.4053309, -12.9691966], [40.4052522, -12.9691966], [40.4051881, -12.969211], [40.4051372, -12.9692254], [40.4050748, -12.9692541], [40.4050288, -12.9693115], [40.4050058, -12.9693401], [40.4049714, -12.9693827], [40.4049147, -12.9694543], [40.4048809, -12.9694972], [40.40482, -12.9695264], [40.4047814, -12.9695267], [40.4047314, -12.969541], [40.4046833, -12.9695694], [40.4046206, -12.9695836], [40.4045689, -12.9695836], [40.4045211, -12.969612], [40.4044734, -12.9696403], [40.4044258, -12.9696685], [40.4043723, -12.9696544], [40.4043295, -12.9696261], [40.4042955, -12.9695693], [40.4042613, -12.9695124], [40.404255, -12.9694695], [40.4042296, -12.9693836], [40.4042105, -12.9693407], [40.4041742, -12.9692691], [40.4041269, -12.9692118], [40.4040815, -12.9691688], [40.404049, -12.9691254], [40.4040034, -12.9690821], [40.4039576, -12.9690387], [40.4039091, -12.9689799], [40.4038625, -12.9689355], [40.4038134, -12.9688759], [40.4037797, -12.9688311], [40.4037302, -12.968771], [40.4036804, -12.9687107], [40.4036306, -12.9686503], [40.4035318, -12.9686198], [40.4034729, -12.9685891], [40.4034273, -12.9685584], [40.4033654, -12.9685121], [40.4033303, -12.9684657], [40.4032787, -12.9684036], [40.4032433, -12.9683568], [40.4032049, -12.9682941], [40.4031635, -12.9682154], [40.4031247, -12.968152], [40.4030828, -12.9680724], [40.4030573, -12.9680084], [40.403032, -12.9679444], [40.4030175, -12.9678643], [40.4030307, -12.9677837], [40.4030664, -12.9677513], [40.4030892, -12.9677323]]]}", - "est_area": 3 + "calc_area": 3 }, { "geojson": "{\"type\": \"Polygon\", \"coordinates\": [[[40.405925, -12.968045], [40.4058902, -12.9680778], [40.4059127, -12.9680233], [40.4059379, -12.9679904], [40.4059631, -12.9679571], [40.4059994, -12.9679346], [40.4060385, -12.9679343], [40.4060899, -12.9679561], [40.406129, -12.9679558], [40.4061803, -12.9679776], [40.4062302, -12.9679882], [40.4062812, -12.9680097], [40.4063202, -12.9680094], [40.4063691, -12.9680095], [40.4064081, -12.9680096], [40.4064472, -12.9680096], [40.4064808, -12.9680537], [40.4065208, -12.9680647], [40.4065618, -12.9680866], [40.4066114, -12.9680976], [40.4066529, -12.9681298], [40.4066936, -12.9681515], [40.4067332, -12.9681624], [40.4067737, -12.968184], [40.4068141, -12.9682056], [40.4068554, -12.9682384], [40.4068683, -12.9682816], [40.4068724, -12.9683353], [40.4068661, -12.9683779], [40.4068303, -12.9684095], [40.4068032, -12.9684305], [40.4067458, -12.9684301], [40.4067075, -12.9684298], [40.4066606, -12.96844], [40.4066128, -12.9684397], [40.4065861, -12.9684606], [40.4065403, -12.9684814], [40.4065127, -12.9684917], [40.4064767, -12.9685126], [40.4064312, -12.9685334], [40.4063764, -12.9685541], [40.4063407, -12.9685748], [40.4062933, -12.9685748], [40.406246, -12.9685748], [40.4061892, -12.9685747], [40.4061513, -12.9685747], [40.4061134, -12.9685747], [40.4060755, -12.9685747], [40.4060281, -12.9685747], [40.4059903, -12.9685747], [40.4059429, -12.9685747], [40.4058956, -12.9685747], [40.4058549, -12.968554], [40.4058128, -12.9685228], [40.4057979, -12.9684814], [40.4058114, -12.9684397], [40.4058345, -12.9683978], [40.4058591, -12.9683662], [40.4058619, -12.9683135], [40.4058662, -12.9682711], [40.4058704, -12.9682285], [40.4058843, -12.9681856], [40.4058982, -12.9681426], [40.4059206, -12.9680884], [40.405925, -12.968045]]]}", - "est_area": 1 + "calc_area": 1 } ] }, @@ -73,11 +73,11 @@ "geometry": [ { "geojson": "{\"type\": \"Polygon\", \"coordinates\": [[[40.4067983, -12.9261098], [40.4068497, -12.9260495], [40.4069473, -12.9260279], [40.4069582, -12.9260272], [40.4069745, -12.9260261], [40.4069881, -12.9260253], [40.406996, -12.9260218], [40.4070096, -12.9260209], [40.4070204, -12.9260202], [40.4070311, -12.9260165], [40.4070389, -12.926013], [40.4070523, -12.9260091], [40.4070605, -12.9260086], [40.4070736, -12.9260017], [40.4070838, -12.925992], [40.4070947, -12.9259913], [40.4071054, -12.9259876], [40.4071161, -12.9259839], [40.4071268, -12.9259802], [40.4071375, -12.9259765], [40.4071476, -12.9259636], [40.4071613, -12.9259628], [40.407172, -12.925959], [40.4071885, -12.925958], [40.4072049, -12.9259569], [40.4072186, -12.9259561], [40.4072295, -12.9259554], [40.4072432, -12.9259545], [40.4072542, -12.9259538], [40.4072706, -12.9259528], [40.4072784, -12.9259431], [40.4072777, -12.9259278], [40.4072853, -12.9259149], [40.4072848, -12.9259026], [40.407287, -12.92589], [40.4072892, -12.9258773], [40.4072885, -12.9258617], [40.4072879, -12.9258491], [40.4072873, -12.9258365], [40.4072813, -12.9258274], [40.4072724, -12.9258152], [40.4072609, -12.9258095], [40.4072495, -12.925807], [40.407238, -12.9258014], [40.4072292, -12.9257955], [40.4072202, -12.9257864], [40.4072113, -12.9257773], [40.4072049, -12.9257647], [40.4071957, -12.9257523], [40.4071864, -12.9257398], [40.4071747, -12.925734], [40.4071629, -12.9257281], [40.4071511, -12.9257223], [40.4071395, -12.9257197], [40.4071277, -12.9257139], [40.4071182, -12.9257012], [40.4071061, -12.925692], [40.4070992, -12.9256758], [40.4070953, -12.9256626], [40.4070637, -12.9256274], [40.4070511, -12.9256146], [40.4070419, -12.9256084], [40.4070297, -12.9256023], [40.4070176, -12.9255962], [40.4070054, -12.9255901], [40.4069934, -12.9255874], [40.4069815, -12.9255847], [40.4069695, -12.925582], [40.4069572, -12.9255758], [40.4069472, -12.9255626], [40.40694, -12.9255491], [40.4069384, -12.9255318], [40.4069371, -12.9255178], [40.4069298, -12.925504], [40.4069199, -12.9254938], [40.4069077, -12.9254909], [40.4068959, -12.9254915], [40.4068833, -12.925485], [40.4068703, -12.9254748], [40.406858, -12.9254719], [40.4068446, -12.9254581], [40.4068344, -12.9254477], [40.4068268, -12.9254335], [40.4068196, -12.9254229], [40.406809, -12.9254088], [40.4067983, -12.9253947], [40.4067906, -12.9253804], [40.4067829, -12.925366], [40.4067751, -12.9253516], [40.4067734, -12.9253368], [40.4067778, -12.9253217], [40.4067891, -12.9253136], [40.4067978, -12.9253094], [40.4068126, -12.9253049], [40.4068279, -12.9253041], [40.4068401, -12.9253035], [40.406853, -12.9253104], [40.4068637, -12.9253248], [40.406877, -12.9253353], [40.4068872, -12.9253459], [40.4069, -12.9253527], [40.4069098, -12.9253596], [40.4069226, -12.9253663], [40.406933, -12.9253805], [40.4069457, -12.9253872], [40.4069584, -12.9253938], [40.4069713, -12.9254041], [40.4069812, -12.9254145], [40.4069912, -12.9254249], [40.407004, -12.9254352], [40.4070165, -12.9254417], [40.4070236, -12.9254556], [40.4070363, -12.9254655], [40.4070487, -12.9254719], [40.4070613, -12.9254817], [40.4070707, -12.9254882], [40.4070833, -12.9254981], [40.4070929, -12.925508], [40.4071022, -12.9255145], [40.407112, -12.9255279], [40.407121, -12.9255308], [40.407152, -12.9256014], [40.407186, -12.9256367], [40.4071981, -12.9256461], [40.4072048, -12.9256624], [40.4072166, -12.9256684], [40.4072284, -12.9256743], [40.4072402, -12.9256803], [40.4072493, -12.9256897], [40.4072555, -12.9256992], [40.4072673, -12.9257084], [40.4072763, -12.9257177], [40.4072853, -12.925727], [40.4072943, -12.9257395], [40.4073062, -12.9257518], [40.4073179, -12.9257608], [40.4073267, -12.92577], [40.4073382, -12.9257757], [40.4073471, -12.925788], [40.4073533, -12.9258037], [40.4073592, -12.9258129], [40.4073598, -12.9258319], [40.4073685, -12.9258409], [40.4073799, -12.9258496], [40.4073913, -12.9258583], [40.4074, -12.9258703], [40.4074085, -12.9258792], [40.4074171, -12.9258911], [40.4074284, -12.9259028], [40.4074287, -12.9259151], [40.4074291, -12.9259304], [40.4074347, -12.9259393], [40.4074432, -12.925951], [40.4074516, -12.9259626], [40.4074573, -12.9259743], [40.4074629, -12.925983], [40.4074685, -12.9259917], [40.4074741, -12.9260034], [40.4074797, -12.9260149], [40.4074853, -12.9260265], [40.4074855, -12.9260384], [40.407491, -12.9260498], [40.4074965, -12.9260612], [40.407502, -12.9260726], [40.4075022, -12.9260872], [40.4075077, -12.9260985], [40.4075131, -12.9261097], [40.4075158, -12.9261212], [40.4075185, -12.9261297], [40.4075213, -12.9261439], [40.407524, -12.9261552], [40.4075346, -12.9261631], [40.4075373, -12.9261772], [40.4075452, -12.9261852], [40.4075452, -12.9261993], [40.4075531, -12.9262072], [40.4075557, -12.9262183], [40.4075635, -12.926229], [40.4075661, -12.9262344], [40.4075713, -12.9262507], [40.4075713, -12.9262617], [40.4075764, -12.9262724], [40.407579, -12.9262832], [40.4075841, -12.9262938], [40.4075892, -12.9263043], [40.4075942, -12.9263149], [40.4075993, -12.9263253], [40.4076043, -12.9263384], [40.4076093, -12.9263488], [40.4076169, -12.9263563], [40.4076193, -12.9263695], [40.4076268, -12.9263796], [40.4076317, -12.9263898], [40.4076366, -12.9264], [40.4076415, -12.9264101], [40.4076464, -12.9264202], [40.4076512, -12.9264303], [40.4076561, -12.9264378], [40.4076634, -12.9264502], [40.4076657, -12.9264603], [40.407673, -12.9264675], [40.4076753, -12.9264776], [40.4076801, -12.9264874], [40.4076823, -12.9264974], [40.4076821, -12.9265075], [40.4076843, -12.9265174], [40.4076866, -12.9265273], [40.4076888, -12.9265371], [40.4076886, -12.9265471], [40.4077062, -12.9266194], [40.4077071, -12.9266744], [40.4077068, -12.9266838], [40.4077065, -12.9266956], [40.4077015, -12.9267053], [40.4076918, -12.9267106], [40.4076822, -12.9267159], [40.407675, -12.926721], [40.4076653, -12.9267286], [40.407658, -12.9267361], [40.4076485, -12.9267413], [40.4076389, -12.9267466], [40.4076271, -12.9267473], [40.4076176, -12.926748], [40.4076057, -12.926751], [40.4075986, -12.9267515], [40.4075844, -12.9267524], [40.4075726, -12.9267532], [40.4075607, -12.926754], [40.4075513, -12.9267523], [40.4075418, -12.9267506], [40.4075299, -12.9267514], [40.4075204, -12.9267474], [40.4074879, -12.9267836], [40.4074773, -12.9267872], [40.4074667, -12.9267879], [40.4074508, -12.9267889], [40.4074401, -12.9267896], [40.4074297, -12.926796], [40.4074245, -12.9268021], [40.407425, -12.9268164], [40.4074201, -12.9268282], [40.4074206, -12.9268423], [40.407421, -12.9268565], [40.4074214, -12.9268677], [40.4074297, -12.9268784], [40.4074402, -12.9268806], [40.4074482, -12.9268828], [40.4074613, -12.9268848], [40.4074692, -12.9268843], [40.4074824, -12.926889], [40.4074928, -12.9268884], [40.4075059, -12.9268875], [40.4075164, -12.9268869], [40.4075294, -12.926886], [40.4075425, -12.9268852], [40.4075529, -12.9268845], [40.4075634, -12.9268838], [40.4075791, -12.9268828], [40.4075921, -12.926882], [40.4076026, -12.9268813], [40.4076157, -12.9268805], [40.4076261, -12.9268798], [40.4076392, -12.9268789], [40.4076471, -12.9268756], [40.4076602, -12.9268747], [40.4076707, -12.9268684], [40.4076838, -12.9268647], [40.4076943, -12.9268612], [40.4077049, -12.9268577], [40.4077154, -12.9268541], [40.4077259, -12.9268507], [40.4077364, -12.92685], [40.4077469, -12.9268493], [40.4077574, -12.9268487], [40.4077677, -12.9268536], [40.4077701, -12.9268646], [40.4077697, -12.9268812], [40.40778, -12.9268889], [40.4077876, -12.9268966], [40.4077978, -12.9269015], [40.4078081, -12.9269063], [40.4078183, -12.9269111], [40.4078285, -12.9269159], [40.4078361, -12.9269209], [40.4078436, -12.9269286], [40.4078536, -12.9269361], [40.4078584, -12.9269466], [40.4078632, -12.9269544], [40.4078655, -12.9269623], [40.4078727, -12.9269752], [40.4078801, -12.9269801], [40.4078902, -12.9269848], [40.4078976, -12.9269896], [40.4079101, -12.9269941], [40.4079173, -12.9270043], [40.407922, -12.9270119], [40.4079266, -12.9270221], [40.4079286, -12.9270325], [40.4079307, -12.9270428], [40.4079299, -12.9270585], [40.4079343, -12.9270712], [40.4079388, -12.9270812], [40.407946, -12.9270885], [40.4079504, -12.9270984], [40.4079548, -12.9271109], [40.4079542, -12.9271212], [40.4079562, -12.9271312], [40.4079555, -12.9271439], [40.4079476, -12.9271519], [40.4079351, -12.9271552], [40.4079297, -12.9271631], [40.4079194, -12.9271713], [40.4079095, -12.9271719], [40.4078971, -12.9271727], [40.4078874, -12.9271684], [40.4078803, -12.9271613], [40.4078757, -12.9271515], [40.4078686, -12.9271444], [40.4078588, -12.92714], [40.4078491, -12.927133], [40.4078419, -12.9271258], [40.407832, -12.9271214], [40.4078197, -12.9271171], [40.4078099, -12.92711], [40.4078, -12.9271056], [40.4077927, -12.9270983], [40.4077878, -12.9270909], [40.4077805, -12.9270836], [40.4077731, -12.9270738], [40.4077632, -12.9270692], [40.4077557, -12.9270619], [40.4077482, -12.9270571], [40.4077408, -12.9270498], [40.4077332, -12.927045], [40.4077258, -12.927035], [40.4077182, -12.9270302], [40.4077106, -12.9270255], [40.4077031, -12.9270128], [40.4076955, -12.9270053], [40.4076905, -12.9269977], [40.4076854, -12.9269874], [40.4076829, -12.9269768], [40.4076779, -12.9269664], [40.4076675, -12.9269644], [40.4076572, -12.9269651], [40.4076469, -12.9269659], [40.4076366, -12.9269746], [40.4076314, -12.926983], [40.4076237, -12.9269943], [40.407616, -12.9270002], [40.4076032, -12.9270064], [40.4075904, -12.9270072], [40.4075801, -12.927008], [40.4075673, -12.9270088], [40.4075545, -12.9270097], [40.4075416, -12.9270053], [40.4075313, -12.9270007], [40.4075209, -12.926996], [40.4075131, -12.9269912], [40.4075027, -12.9269865], [40.4074923, -12.9269818], [40.4074794, -12.9269826], [40.4074691, -12.9269806], [40.4074586, -12.9269758], [40.4074482, -12.9269738], [40.4074377, -12.926969], [40.4074272, -12.9269642], [40.4074193, -12.9269593], [40.4074088, -12.9269545], [40.4074032, -12.9269439], [40.4073925, -12.9269364], [40.4073844, -12.9269286], [40.4073763, -12.9269236], [40.4073631, -12.9269189], [40.4073525, -12.9269168], [40.4073417, -12.9269092], [40.4073386, -12.9268982], [40.4073381, -12.9268871], [40.4073373, -12.9268703], [40.4073366, -12.9268562], [40.4073359, -12.9268421], [40.4073352, -12.9268279], [40.4073347, -12.9268165], [40.4073263, -12.9268084], [40.4073178, -12.9267974], [40.4073067, -12.9267894], [40.4072983, -12.9267812], [40.4072948, -12.9267668], [40.407289, -12.9267583], [40.4072857, -12.9267467], [40.407277, -12.9267354], [40.4072684, -12.9267271], [40.407265, -12.9267154], [40.4072641, -12.9267004], [40.4072607, -12.9266886], [40.4072546, -12.9266769], [40.4072512, -12.926665], [40.4072424, -12.9266564], [40.4072312, -12.926651], [40.4072224, -12.9266424], [40.4072136, -12.9266337], [40.407205, -12.9266281], [40.4071989, -12.9266192], [40.407187, -12.9266076], [40.4071754, -12.926599], [40.4071692, -12.9265901], [40.4071662, -12.9265871], [40.4071512, -12.9265724], [40.4071392, -12.9265606], [40.4071271, -12.9265487], [40.4071152, -12.9265399], [40.4071064, -12.9265341], [40.4070997, -12.9265218], [40.4070931, -12.9265094], [40.4070839, -12.9265003], [40.4070772, -12.9264878], [40.4070651, -12.9264789], [40.4070561, -12.926473], [40.4070442, -12.9264672], [40.4070355, -12.9264645], [40.407023, -12.9264523], [40.4070133, -12.9264398], [40.4070041, -12.9264339], [40.4069944, -12.9264214], [40.4069877, -12.9264119], [40.4069782, -12.9264026], [40.4069712, -12.9263898], [40.4069616, -12.9263804], [40.406952, -12.9263711], [40.4069398, -12.9263652], [40.4069302, -12.9263558], [40.4069205, -12.9263463], [40.4069082, -12.9263404], [40.406896, -12.9263345], [40.4068862, -12.926325], [40.4068814, -12.9263082], [40.4068893, -12.9263007], [40.4069037, -12.9262997], [40.4069146, -12.926292], [40.4069254, -12.9262843], [40.4069367, -12.92628], [40.4069472, -12.9262688], [40.4069458, -12.926255], [40.4069356, -12.9262417], [40.4069257, -12.9262319], [40.4069184, -12.9262183], [40.4069114, -12.9262081], [40.4068988, -12.9262018], [40.4068917, -12.9261914], [40.4068787, -12.9261814], [40.4068636, -12.9261788], [40.406853, -12.926165], [40.4068454, -12.9261509], [40.4068347, -12.9261369], [40.4068245, -12.9261266], [40.4068117, -12.92612], [40.4068013, -12.9261096], [40.4067983, -12.9261098]]]}", - "est_area": 2 + "calc_area": 2 }, { "geojson": "{\"type\": \"Polygon\", \"coordinates\": [[[40.4054372, -12.9235332], [40.405487, -12.9235331], [40.4055256, -12.9235219], [40.4055534, -12.9235], [40.4055902, -12.9234671], [40.4056281, -12.923445], [40.4056651, -12.9234121], [40.405735, -12.923412], [40.405775, -12.9234119], [40.405835, -12.9234119], [40.4058849, -12.9234118], [40.4059258, -12.9234227], [40.4059491, -12.9234662], [40.4059542, -12.9235314], [40.4059658, -12.923553], [40.4059882, -12.9235854], [40.4060336, -12.9236608], [40.4060378, -12.9237149], [40.4060404, -12.9237472], [40.4060248, -12.9238008], [40.4060002, -12.9238649], [40.4059946, -12.9239182], [40.4059981, -12.9239608], [40.4059908, -12.9239926], [40.4059844, -12.9240348], [40.40597, -12.9241073], [40.4059624, -12.9241382], [40.4059669, -12.9242], [40.4059698, -12.9242411], [40.405963, -12.924282], [40.405966, -12.9243228], [40.4059697, -12.9243738], [40.4059741, -12.9244347], [40.405977, -12.9244752], [40.4059807, -12.9245257], [40.405985, -12.9245861], [40.4059879, -12.9246262], [40.4059923, -12.9246862], [40.4059959, -12.9247361], [40.4060091, -12.9247859], [40.4060305, -12.9248157], [40.4060539, -12.9248751], [40.4060663, -12.9249146], [40.4060691, -12.924954], [40.4060814, -12.9249933], [40.4060935, -12.9250323], [40.4061056, -12.9250712], [40.4061272, -12.92511], [40.4061291, -12.9251391], [40.4061519, -12.925197], [40.4061923, -12.9252355], [40.4062325, -12.925274], [40.4062538, -12.9253123], [40.4062751, -12.9253506], [40.4063057, -12.9253888], [40.406327, -12.925427], [40.4063578, -12.9254655], [40.4063799, -12.9255134], [40.4063918, -12.9255516], [40.4064132, -12.9255898], [40.4064238, -12.9256089], [40.4064463, -12.9256659], [40.4064586, -12.9257131], [40.4064704, -12.9257509], [40.4064816, -12.9257791], [40.4064933, -12.9258167], [40.4065149, -12.9258636], [40.4065172, -12.9259009], [40.40652, -12.9259473], [40.4065222, -12.9259843], [40.406496, -12.9260119], [40.4064699, -12.9260395], [40.4064444, -12.9260762], [40.4064086, -12.9260945], [40.4063728, -12.9261128], [40.4063464, -12.9261312], [40.4063201, -12.9261496], [40.4062741, -12.9261497], [40.406238, -12.9261589], [40.4062012, -12.9261589], [40.4061652, -12.9261681], [40.40611, -12.9261682], [40.4060733, -12.9261682], [40.4060472, -12.9261866], [40.4060012, -12.9261866], [40.4059553, -12.9261867], [40.4059362, -12.9261775], [40.4058963, -12.9261408], [40.4058563, -12.926104], [40.4058171, -12.9260764], [40.4057955, -12.9260395], [40.4057654, -12.9260118], [40.4056975, -12.9259748], [40.4056673, -12.925947], [40.4056261, -12.9259005], [40.4055957, -12.9258726], [40.4055729, -12.9258259], [40.4055619, -12.9258071], [40.4055288, -12.9257508], [40.4055235, -12.9256943], [40.4055192, -12.925647], [40.405525, -12.9256091], [40.4055402, -12.9255711], [40.4055453, -12.9255234], [40.4055513, -12.9254854], [40.4055472, -12.9254377], [40.4055447, -12.925409], [40.4055414, -12.9253707], [40.4055364, -12.9253131], [40.405533, -12.9252745], [40.4055194, -12.9252263], [40.4054989, -12.9252071], [40.4054569, -12.9251588], [40.4054259, -12.9251298], [40.4053855, -12.9251008], [40.4053734, -12.9250716], [40.4053509, -12.9250327], [40.405318, -12.9249839], [40.4053144, -12.9249446], [40.4053012, -12.9249053], [40.4052939, -12.9248263], [40.4052789, -12.9247668], [40.4052561, -12.9247272], [40.4052523, -12.9246873], [40.405239, -12.9246474], [40.4052152, -12.9245975], [40.4052018, -12.9245574], [40.4051893, -12.9245272], [40.4051749, -12.9244769], [40.4051903, -12.9244363], [40.4052164, -12.9244057], [40.4052434, -12.9243852], [40.4052792, -12.9243545], [40.405317, -12.924344], [40.405352, -12.924303], [40.4053677, -12.924262], [40.4053834, -12.9242209], [40.4053895, -12.9241798], [40.4053956, -12.9241386], [40.4054017, -12.9240972], [40.4053981, -12.9240559], [40.405404, -12.924014], [40.4054097, -12.9239719], [40.4054057, -12.9239297], [40.4054017, -12.9238874], [40.4053977, -12.923845], [40.4053936, -12.9238024], [40.4053896, -12.9237598], [40.4053845, -12.9237063], [40.4053835, -12.9236956], [40.4054059, -12.9236202], [40.4054216, -12.9235768], [40.4054372, -12.9235332]]]}", - "est_area": 1 + "calc_area": 1 } ] } diff --git a/database/seeders/PolygonValidationSeeder.php b/database/seeders/PolygonValidationSeeder.php index fbed7f03a..801330e33 100644 --- a/database/seeders/PolygonValidationSeeder.php +++ b/database/seeders/PolygonValidationSeeder.php @@ -32,7 +32,7 @@ public function run(): void $geometry = PolygonGeometry::factory()->geojson($geojsonString)->create(); SitePolygon::factory()->site($site)->geometry($geometry)->create([ - 'est_area' => $geometryDef['est_area'] ?? 0, + 'calc_area' => $geometryDef['calc_area'] ?? 0, ]); } } From d26c540a9e0f09cf6ee299c6dabc970b5540204f Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Fri, 24 May 2024 11:45:39 -0400 Subject: [PATCH 004/164] [TM-851] Fix lint --- .../2024_05_13_204255_modify_sites_polygons.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/database/migrations/2024_05_13_204255_modify_sites_polygons.php b/database/migrations/2024_05_13_204255_modify_sites_polygons.php index 7f385b9ad..b898105f8 100644 --- a/database/migrations/2024_05_13_204255_modify_sites_polygons.php +++ b/database/migrations/2024_05_13_204255_modify_sites_polygons.php @@ -4,13 +4,13 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration { +return new class () extends Migration { /** * Run the migrations. */ public function up(): void { - if (!Schema::hasTable('site_polygon')) { + if (! Schema::hasTable('site_polygon')) { return; } @@ -28,7 +28,7 @@ public function up(): void $table->renameColumn('est_area', 'calc_area'); } - if (!Schema::hasColumn('site_polygon', 'point_id')) { + if (! Schema::hasColumn('site_polygon', 'point_id')) { $table->string('point_id', 255)->nullable()->after('site_id'); } }); @@ -39,7 +39,7 @@ public function up(): void */ public function down(): void { - if (!Schema::hasTable('site_polygon')) { + if (! Schema::hasTable('site_polygon')) { return; } @@ -60,4 +60,4 @@ public function down(): void $table->dropColumn('point_id'); }); } -}; \ No newline at end of file +}; From 70fe6e1c60ada490157aa08f0f63f8c7aad7eb82 Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Fri, 24 May 2024 12:25:54 -0400 Subject: [PATCH 005/164] [TM-851] remove unused properties from validate Site Polygon --- app/Services/PolygonService.php | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/app/Services/PolygonService.php b/app/Services/PolygonService.php index 89193f23e..329416709 100644 --- a/app/Services/PolygonService.php +++ b/app/Services/PolygonService.php @@ -24,10 +24,13 @@ class PolygonService public const SCHEMA_CRITERIA_ID = 13; public const DATA_CRITERIA_ID = 14; - public function createGeojsonModels($geojson, $sitePolygonProperties = []): array + public function createGeojsonModels($geojson, $sitePolygonProperties = [], ?string $site_id = null): array { $uuids = []; foreach ($geojson['features'] as $feature) { + if ($site_id !== null) { + $feature['properties']['site_id'] = $site_id; + } if ($feature['geometry']['type'] === 'Polygon') { $data = $this->insertSinglePolygon($feature['geometry']); $uuids[] = $data['uuid']; @@ -64,6 +67,7 @@ public function createCriteriaSite($polygonId, $criteriaId, $valid): bool|string $criteriaSite->polygon_id = $polygonId; $criteriaSite->criteria_id = $criteriaId; $criteriaSite->valid = $valid; + $criteriaSite->created_by = Auth::user()?->id; try { $criteriaSite->save(); @@ -163,21 +167,16 @@ protected function validateSitePolygonProperties(string $polygonUuid, array $pro $this->createCriteriaSite($polygonUuid, self::DATA_CRITERIA_ID, $validData); return [ - 'project_id' => $properties['project_id'] ?? null, - 'proj_name' => $properties['proj_name'] ?? null, - 'org_name' => $properties['org_name'] ?? null, - 'country' => $properties['country'] ?? null, 'poly_name' => $properties['poly_name'] ?? null, 'site_id' => $properties['site_id'] ?? null, - 'site_name' => $properties['site_name'] ?? null, - 'poly_label' => $properties['poly_label'] ?? null, 'plantstart' => $properties['plantstart'], 'plantend' => $properties['plantend'], 'practice' => $properties['practice'] ?? null, 'target_sys' => $properties['target_sys'] ?? null, 'distr' => $properties['distr'] ?? null, 'num_trees' => $properties['num_trees'], - 'est_area' => $properties['area'] ?? null, + 'calc_area' => $properties['area'] ?? null, + 'status' => 'submitted', ]; } } From d1a7ca67d4f95ddf958ef46caf8f693263e06f31 Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Fri, 24 May 2024 15:50:52 -0400 Subject: [PATCH 006/164] [TM-851] include siteId to create Site Polygon controller --- routes/api_v2.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/routes/api_v2.php b/routes/api_v2.php index 4261cc69d..f2dcbf650 100644 --- a/routes/api_v2.php +++ b/routes/api_v2.php @@ -630,7 +630,7 @@ Route::put('/polygon/{uuid}', [TerrafundEditGeometryController::class, 'updateGeometry']); Route::put('/site-polygon/{uuid}', [TerrafundEditGeometryController::class, 'updateSitePolygon']); - Route::post('/site-polygon/{uuid}', [TerrafundEditGeometryController::class, 'createSitePolygon']); + Route::post('/site-polygon/{uuid}/{siteUuid}', [TerrafundEditGeometryController::class, 'createSitePolygon']); }); Route::get('/funding-programme', [FundingProgrammeController::class, 'index'])->middleware('i18n'); From d65f520d0ca9a245696434d117ab0d1dfd90c361 Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Fri, 24 May 2024 16:20:16 -0400 Subject: [PATCH 007/164] [TM-846] add definition - create Site Polygon controller --- .../definitions/SitePolygonCreateResponse.yml | 12 ++ .../V2/definitions/SitePolygonResponse.yml | 27 +++++ openapi-src/V2/definitions/_index.yml | 4 + .../Terrafund/post-v2-site-polygon-data.yml | 28 +++++ openapi-src/V2/paths/_index.yml | 3 + resources/docs/swagger-v2.yml | 108 ++++++++++++++++++ 6 files changed, 182 insertions(+) create mode 100644 openapi-src/V2/definitions/SitePolygonCreateResponse.yml create mode 100644 openapi-src/V2/definitions/SitePolygonResponse.yml create mode 100644 openapi-src/V2/paths/Terrafund/post-v2-site-polygon-data.yml diff --git a/openapi-src/V2/definitions/SitePolygonCreateResponse.yml b/openapi-src/V2/definitions/SitePolygonCreateResponse.yml new file mode 100644 index 000000000..3c5a29921 --- /dev/null +++ b/openapi-src/V2/definitions/SitePolygonCreateResponse.yml @@ -0,0 +1,12 @@ +type: object +properties: + message: + type: string + example: Site polygon created successfully + uuid: + type: string + description: UUID of the created site polygon + area: + type: number + format: double + description: Calculated area in hectares \ No newline at end of file diff --git a/openapi-src/V2/definitions/SitePolygonResponse.yml b/openapi-src/V2/definitions/SitePolygonResponse.yml new file mode 100644 index 000000000..f2bafdd02 --- /dev/null +++ b/openapi-src/V2/definitions/SitePolygonResponse.yml @@ -0,0 +1,27 @@ +type: object +properties: + id: + type: integer + uuid: + type: string + poly_name: + type: string + plantstart: + type: string + format: date + plantend: + type: string + format: date + practice: + type: string + target_sys: + type: string + distr: + type: string + num_trees: + type: integer + calc_area: + type: number + format: float + status: + type: string \ No newline at end of file diff --git a/openapi-src/V2/definitions/_index.yml b/openapi-src/V2/definitions/_index.yml index 12c435c3a..10f0eba48 100644 --- a/openapi-src/V2/definitions/_index.yml +++ b/openapi-src/V2/definitions/_index.yml @@ -282,3 +282,7 @@ SitePolygonsDataResponse: $ref: './SitePolygonsDataResponse.yml' SitePolygonsBboxResponse: $ref: './SitePolygonsBboxResponse.yml' +SitePolygonResponse: + $ref: './SitePolygonResponse.yml' +SitePolygonCreateResponse: + $ref: './SitePolygonCreateResponse.yml' diff --git a/openapi-src/V2/paths/Terrafund/post-v2-site-polygon-data.yml b/openapi-src/V2/paths/Terrafund/post-v2-site-polygon-data.yml new file mode 100644 index 000000000..7291fb087 --- /dev/null +++ b/openapi-src/V2/paths/Terrafund/post-v2-site-polygon-data.yml @@ -0,0 +1,28 @@ +summary: Create site polygon +parameters: + - in: path + name: uuid + required: true + type: string + description: The UUID of the polygon related + - in: path + name: siteUuid + required: true + type: string + description: The UUID of the site + - in: body + name: body + required: true + schema: + $ref: '../../definitions/_index.yml#/SitePolygonResponse' +responses: + '201': + description: Successful response + content: + application/json: + schema: + $ref: '../../definitions/_index.yml#/SitePolygonCreateResponse' + '400': + description: Bad request + '500': + description: Internal server error \ No newline at end of file diff --git a/openapi-src/V2/paths/_index.yml b/openapi-src/V2/paths/_index.yml index 24525dd98..08dfd69cc 100644 --- a/openapi-src/V2/paths/_index.yml +++ b/openapi-src/V2/paths/_index.yml @@ -2529,3 +2529,6 @@ /v2/sites/{site}/bbox: get: $ref: './Sites/get-v2-sites-polygon-bbox.yml' +/site-polygon/{uuid}/{siteUuid}: + post: + $ref: './Terrafund/post-v2-site-polygon-data.yml' diff --git a/resources/docs/swagger-v2.yml b/resources/docs/swagger-v2.yml index 572346c91..54898c24b 100644 --- a/resources/docs/swagger-v2.yml +++ b/resources/docs/swagger-v2.yml @@ -44183,6 +44183,47 @@ definitions: properties: bbox: type: array + SitePolygonResponse: + type: object + properties: + id: + type: integer + uuid: + type: string + poly_name: + type: string + plantstart: + type: string + format: date + plantend: + type: string + format: date + practice: + type: string + target_sys: + type: string + distr: + type: string + num_trees: + type: integer + calc_area: + type: number + format: float + status: + type: string + SitePolygonCreateResponse: + type: object + properties: + message: + type: string + example: Site polygon created successfully + uuid: + type: string + description: UUID of the created site polygon + area: + type: number + format: double + description: Calculated area in hectares paths: '/v2/tree-species/{entity}/{UUID}': get: @@ -94166,3 +94207,70 @@ paths: description: Bad request '500': description: Internal server error + '/site-polygon/{uuid}/{siteUuid}': + post: + summary: Create site polygon + parameters: + - in: path + name: uuid + required: true + type: string + description: The UUID of the polygon related + - in: path + name: siteUuid + required: true + type: string + description: The UUID of the site + - in: body + name: body + required: true + schema: + type: object + properties: + id: + type: integer + uuid: + type: string + poly_name: + type: string + plantstart: + type: string + format: date + plantend: + type: string + format: date + practice: + type: string + target_sys: + type: string + distr: + type: string + num_trees: + type: integer + calc_area: + type: number + format: float + status: + type: string + responses: + '201': + description: Successful response + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Site polygon created successfully + uuid: + type: string + description: UUID of the created site polygon + area: + type: number + format: double + description: Calculated area in hectares + '400': + description: Bad request + '500': + description: Internal server error From 704675f4cb995d89fd70180a938c78a98804f597 Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Mon, 27 May 2024 14:01:02 -0400 Subject: [PATCH 008/164] [TM-846] get polygon bounding box --- .../TerrafundEditGeometryController.php | 14 ++++++++++ .../paths/Terrafund/get-v2-polygon-bbox.yml | 18 +++++++++++++ openapi-src/V2/paths/_index.yml | 5 +++- resources/docs/swagger-v2.yml | 26 ++++++++++++++++++- routes/api_v2.php | 2 ++ 5 files changed, 63 insertions(+), 2 deletions(-) create mode 100644 openapi-src/V2/paths/Terrafund/get-v2-polygon-bbox.yml diff --git a/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php b/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php index ff7fc8849..61701a062 100644 --- a/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php +++ b/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php @@ -2,12 +2,14 @@ namespace App\Http\Controllers\V2\Terrafund; +use App\Helpers\GeometryHelper; use App\Http\Controllers\Controller; use App\Models\V2\PolygonGeometry; use App\Models\V2\Sites\SitePolygon; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\DB; +use Illuminate\Support\Facades\Log; class TerrafundEditGeometryController extends Controller { @@ -134,4 +136,16 @@ public function createSitePolygon(string $uuid, string $siteUuid, Request $reque return response()->json(['error' => 'An error occurred: ' . $e->getMessage()], 500); } } + public function getPolygonBbox(string $uuid) + { + try { + $bboxCoordinates = GeometryHelper::getPolygonsBbox([$uuid]); + + return response()->json(['bbox' => $bboxCoordinates]); + } catch (\Exception $e) { + Log::error($e->getMessage()); + + return response()->json(['error' => 'An error occurred while fetching the bounding box coordinates'], 404); + } + } } diff --git a/openapi-src/V2/paths/Terrafund/get-v2-polygon-bbox.yml b/openapi-src/V2/paths/Terrafund/get-v2-polygon-bbox.yml new file mode 100644 index 000000000..3e63b06b0 --- /dev/null +++ b/openapi-src/V2/paths/Terrafund/get-v2-polygon-bbox.yml @@ -0,0 +1,18 @@ +summary: Get bbox for a polygon +parameters: + - in: path + name: uuid + required: true + type: string + description: The UUID of the polygon +responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '../../definitions/_index.yml#/SitePolygonsBboxResponse' + '400': + description: Bad request + '500': + description: Internal server error \ No newline at end of file diff --git a/openapi-src/V2/paths/_index.yml b/openapi-src/V2/paths/_index.yml index 08dfd69cc..0990d04b7 100644 --- a/openapi-src/V2/paths/_index.yml +++ b/openapi-src/V2/paths/_index.yml @@ -2529,6 +2529,9 @@ /v2/sites/{site}/bbox: get: $ref: './Sites/get-v2-sites-polygon-bbox.yml' -/site-polygon/{uuid}/{siteUuid}: +/v2/terrafund/site-polygon/{uuid}/{siteUuid}: post: $ref: './Terrafund/post-v2-site-polygon-data.yml' +/v2/terrafund/polygon/bbox/{uuid}: + get: + $ref: './Terrafund/get-v2-polygon-bbox.yml' diff --git a/resources/docs/swagger-v2.yml b/resources/docs/swagger-v2.yml index 54898c24b..33e949ee5 100644 --- a/resources/docs/swagger-v2.yml +++ b/resources/docs/swagger-v2.yml @@ -94207,7 +94207,7 @@ paths: description: Bad request '500': description: Internal server error - '/site-polygon/{uuid}/{siteUuid}': + '/v2/terrafund/site-polygon/{uuid}/{siteUuid}': post: summary: Create site polygon parameters: @@ -94274,3 +94274,27 @@ paths: description: Bad request '500': description: Internal server error + '/v2/terrafund/polygon/bbox/{uuid}': + get: + summary: Get bbox for a polygon + parameters: + - in: path + name: uuid + required: true + type: string + description: The UUID of the polygon + responses: + '200': + description: Successful response + content: + application/json: + schema: + title: SitePolygonsBboxResponse + type: object + properties: + bbox: + type: array + '400': + description: Bad request + '500': + description: Internal server error diff --git a/routes/api_v2.php b/routes/api_v2.php index c407ca94f..44f873bf7 100644 --- a/routes/api_v2.php +++ b/routes/api_v2.php @@ -632,6 +632,8 @@ Route::get('/polygon/geojson/{uuid}', [TerrafundEditGeometryController::class, 'getPolygonGeojson']); Route::put('/polygon/{uuid}', [TerrafundEditGeometryController::class, 'updateGeometry']); + Route::get('/polygon/bbox/{uuid}', [TerrafundEditGeometryController::class, 'getPolygonBbox']); + Route::put('/site-polygon/{uuid}', [TerrafundEditGeometryController::class, 'updateSitePolygon']); Route::post('/site-polygon/{uuid}/{siteUuid}', [TerrafundEditGeometryController::class, 'createSitePolygon']); }); From a651a27f3c854213a0d687f59e33882918a68130 Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Mon, 27 May 2024 15:32:57 -0400 Subject: [PATCH 009/164] [TM-853] add polygon and site validation controllers --- .../TerrafundCreateGeometryController.php | 99 ++++++++++- .../definitions/V2TerrafundCriteriaData.yml | 21 +++ .../definitions/V2TerrafundCriteriaSite.yml | 13 ++ openapi-src/V2/definitions/_index.yml | 4 + ...-v2-terrafund-validation-criteria-data.yml | 16 ++ ...-v2-terrafund-validation-criteria-site.yml | 16 ++ .../get-v2-terrafund-validation-polygon.yml | 16 ++ ...t-v2-terrafund-validation-sitepolygons.yml | 20 +++ openapi-src/V2/paths/_index.yml | 12 ++ resources/docs/swagger-v2.yml | 164 ++++++++++++++++++ routes/api_v2.php | 3 + 11 files changed, 382 insertions(+), 2 deletions(-) create mode 100644 openapi-src/V2/definitions/V2TerrafundCriteriaData.yml create mode 100644 openapi-src/V2/definitions/V2TerrafundCriteriaSite.yml create mode 100644 openapi-src/V2/paths/Terrafund/get-v2-terrafund-validation-criteria-data.yml create mode 100644 openapi-src/V2/paths/Terrafund/get-v2-terrafund-validation-criteria-site.yml create mode 100644 openapi-src/V2/paths/Terrafund/get-v2-terrafund-validation-polygon.yml create mode 100644 openapi-src/V2/paths/Terrafund/get-v2-terrafund-validation-sitepolygons.yml diff --git a/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php b/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php index f7893f39a..a92c6a987 100644 --- a/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php +++ b/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php @@ -327,7 +327,7 @@ public function getCriteriaData(Request $request) $criteriaList = []; foreach ($criteriaData as $criteria) { $criteriaId = $criteria->criteria_id; - $valid = CriteriaSite::where(['polygon_id' => $uuid, 'criteria_id' => $criteriaId])->select('valid')->first()?->valid; + $valid = CriteriaSite::where(['polygon_id' => $uuid, 'criteria_id' => $criteriaId])->orderBy('created_at', 'desc')->select('valid')->first()?->valid; $criteriaList[] = [ 'criteria_id' => $criteriaId, 'latest_created_at' => $criteria->latest_created_at, @@ -437,4 +437,99 @@ private function handlePolygonValidation($polygonUuid, $response, $criteriaId): return response()->json($response); } -} + + public function runValidationPolygon(string $uuid) + { + $request = new Request(['uuid' => $uuid]); + + $this->validateOverlapping($request); + $this->checkSelfIntersection($request); + $this->validatePolygonSize($request); + $this->checkWithinCountry($request); + $this->checkBoundarySegments($request); + $this->getGeometryType($request); + $this->validateEstimatedArea($request); + $this->validateDataInDB($request); + } + + public function getValidationPolygon(Request $request) + { + + $uuid = $request->input('uuid'); + $this->runValidationPolygon($uuid); + $criteriaData = $this->getCriteriaData($request); + + return $criteriaData; + } + + public function getSiteValidationPolygon(Request $request) + { + try { + $uuid = $request->input('uuid'); + + $sitePolygonsUuids = $this->getSitePolygonsUuids($uuid); + + foreach ($sitePolygonsUuids as $polygonUuid) { + $this->runValidationPolygon($polygonUuid); + } + + return response()->json(['message' => 'Validation completed for all site polygons']); + } catch (\Exception $e) { + Log::error('Error during site validation polygon: ' . $e->getMessage()); + return response()->json(['error' => 'An error occurred during site validation'], 500); + } + } + + public function getCurrentSiteValidation(Request $request) + { + try { + $uuid = $request->input('uuid'); + + $sitePolygonsUuids = $this->getSitePolygonsUuids($uuid); + $checkedPolygons = []; + + foreach ($sitePolygonsUuids as $polygonUuid) { + $isValid = true; + $isChecked = true; + + $criteriaData = $this->fetchCriteriaData($polygonUuid); + + if (isset($criteriaData['error'])) { + Log::error('Error fetching criteria data', ['polygon_uuid' => $polygonUuid, 'error' => $criteriaData['error']]); + $isValid = false; + $isChecked = false; + } else { + foreach ($criteriaData['criteria_list'] as $criteria) { + if ($criteria['valid'] == 0) { + $isValid = false; + break; + } + } + } + + $checkedPolygons[] = [ + 'uuid' => $polygonUuid, + 'valid' => $isValid, + 'checked' => $isChecked, + ]; + } + + return $checkedPolygons; + } catch (\Exception $e) { + Log::error('Error during current site validation: ' . $e->getMessage()); + return response()->json(['error' => 'An error occurred during current site validation'], 500); + } + } + + private function getSitePolygonsUuids($uuid) + { + return SitePolygon::where('site_id', $uuid)->get()->pluck('poly_id'); + } + + private function fetchCriteriaData($polygonUuid) + { + $polygonRequest = new Request(['uuid' => $polygonUuid]); + $criteriaDataResponse = $this->getCriteriaData($polygonRequest); + return json_decode($criteriaDataResponse->getContent(), true); + } +} \ No newline at end of file diff --git a/openapi-src/V2/definitions/V2TerrafundCriteriaData.yml b/openapi-src/V2/definitions/V2TerrafundCriteriaData.yml new file mode 100644 index 000000000..4d073736b --- /dev/null +++ b/openapi-src/V2/definitions/V2TerrafundCriteriaData.yml @@ -0,0 +1,21 @@ +type: object +properties: + polygon_id: + type: string + description: The ID of the polygon + criteria_list: + type: array + description: List of validation criteria + items: + type: object + properties: + criteria_id: + type: integer + description: The ID of the criteria + latest_created_at: + type: string + format: date-time + description: The latest created at timestamp of the criteria + valid: + type: integer + description: Indicates if the criteria is valid or not (1 for valid, 0 for invalid) \ No newline at end of file diff --git a/openapi-src/V2/definitions/V2TerrafundCriteriaSite.yml b/openapi-src/V2/definitions/V2TerrafundCriteriaSite.yml new file mode 100644 index 000000000..667dc4b02 --- /dev/null +++ b/openapi-src/V2/definitions/V2TerrafundCriteriaSite.yml @@ -0,0 +1,13 @@ +type: array +items: + type: object + properties: + uuid: + type: string + description: The UUID of the polygon. + valid: + type: boolean + description: Indicates if the polygon is valid or not. + checked: + type: boolean + description: Indicates if the polygon has been checked before or not. \ No newline at end of file diff --git a/openapi-src/V2/definitions/_index.yml b/openapi-src/V2/definitions/_index.yml index 10f0eba48..596488c98 100644 --- a/openapi-src/V2/definitions/_index.yml +++ b/openapi-src/V2/definitions/_index.yml @@ -276,6 +276,10 @@ GeoJSON: $ref: './GeoJSON.yml' SiteGeometryPost: $ref: './SiteGeometryPost.yml' +V2TerrafundCriteriaData: + $ref: './V2TerrafundCriteriaData.yml' +V2TerrafundCriteriaSite: + $ref: './V2TerrafundCriteriaSite.yml' SitePolygon: $ref: './SitePolygon.yml' SitePolygonsDataResponse: diff --git a/openapi-src/V2/paths/Terrafund/get-v2-terrafund-validation-criteria-data.yml b/openapi-src/V2/paths/Terrafund/get-v2-terrafund-validation-criteria-data.yml new file mode 100644 index 000000000..5c9f537ef --- /dev/null +++ b/openapi-src/V2/paths/Terrafund/get-v2-terrafund-validation-criteria-data.yml @@ -0,0 +1,16 @@ +summary: Get criteria data validation results for a polygon +parameters: + - in: query + name: uuid + required: true + description: The UUID of the polygon + type: string + schema: + type: string +responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '../../definitions/_index.yml#/V2TerrafundCriteriaData' \ No newline at end of file diff --git a/openapi-src/V2/paths/Terrafund/get-v2-terrafund-validation-criteria-site.yml b/openapi-src/V2/paths/Terrafund/get-v2-terrafund-validation-criteria-site.yml new file mode 100644 index 000000000..03d5c4644 --- /dev/null +++ b/openapi-src/V2/paths/Terrafund/get-v2-terrafund-validation-criteria-site.yml @@ -0,0 +1,16 @@ +summary: Get criteria data validation results for all polygons in a site +parameters: + - in: query + name: uuid + required: true + description: The UUID of the polygon + type: string + schema: + type: string +responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '../../definitions/_index.yml#/V2TerrafundCriteriaSite' \ No newline at end of file diff --git a/openapi-src/V2/paths/Terrafund/get-v2-terrafund-validation-polygon.yml b/openapi-src/V2/paths/Terrafund/get-v2-terrafund-validation-polygon.yml new file mode 100644 index 000000000..e7e7a433e --- /dev/null +++ b/openapi-src/V2/paths/Terrafund/get-v2-terrafund-validation-polygon.yml @@ -0,0 +1,16 @@ +summary: Get validation results for a polygon +parameters: + - in: query + name: uuid + required: true + description: The UUID of the polygon + type: string + schema: + type: string +responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '../../definitions/_index.yml#/V2TerrafundCriteriaData' \ No newline at end of file diff --git a/openapi-src/V2/paths/Terrafund/get-v2-terrafund-validation-sitepolygons.yml b/openapi-src/V2/paths/Terrafund/get-v2-terrafund-validation-sitepolygons.yml new file mode 100644 index 000000000..79d89df49 --- /dev/null +++ b/openapi-src/V2/paths/Terrafund/get-v2-terrafund-validation-sitepolygons.yml @@ -0,0 +1,20 @@ +summary: Run validation for all polygons in a site +parameters: + - in: query + name: uuid + required: true + description: The UUID of the polygon + type: string + schema: + type: string +responses: + "200": + description: Successful response + content: + application/json: + schema: + type: object + properties: + message: + type: string + description: A message indicating the completion of validation for all site polygons. \ No newline at end of file diff --git a/openapi-src/V2/paths/_index.yml b/openapi-src/V2/paths/_index.yml index 0990d04b7..1add5ad68 100644 --- a/openapi-src/V2/paths/_index.yml +++ b/openapi-src/V2/paths/_index.yml @@ -2514,6 +2514,18 @@ /v2/{ENTITY}/{UUID}/export: get: $ref: './Exports/get-v2-entity-export-uuid.yml' +'/v2/terrafund/validation/polygon': + get: + $ref: './Terrafund/get-v2-terrafund-validation-polygon.yml' +'/v2/terrafund/validation/criteria-data': + get: + $ref: './Terrafund/get-v2-terrafund-validation-criteria-data.yml' +'/v2/terrafund/validation/sitePolygons': + get: + $ref: './Terrafund/get-v2-terrafund-validation-sitepolygons.yml' +'/v2/terrafund/validation/site': + get: + $ref: './Terrafund/get-v2-terrafund-validation-criteria-site.yml' /v2/geometry/validate: post: $ref: './Geometry/post-v2-geometry-validate.yml' diff --git a/resources/docs/swagger-v2.yml b/resources/docs/swagger-v2.yml index 33e949ee5..e7094b502 100644 --- a/resources/docs/swagger-v2.yml +++ b/resources/docs/swagger-v2.yml @@ -44062,6 +44062,42 @@ definitions: message: type: string description: Human readable string in English to describe the error. + V2TerrafundCriteriaData: + type: object + properties: + polygon_id: + type: string + description: The ID of the polygon + criteria_list: + type: array + description: List of validation criteria + items: + type: object + properties: + criteria_id: + type: integer + description: The ID of the criteria + latest_created_at: + type: string + format: date-time + description: The latest created at timestamp of the criteria + valid: + type: integer + description: 'Indicates if the criteria is valid or not (1 for valid, 0 for invalid)' + V2TerrafundCriteriaSite: + type: array + items: + type: object + properties: + uuid: + type: string + description: The UUID of the polygon. + valid: + type: boolean + description: Indicates if the polygon is valid or not. + checked: + type: boolean + description: Indicates if the polygon has been checked before or not. SitePolygon: title: SitePolygon type: object @@ -93880,6 +93916,134 @@ paths: description: OK schema: type: file + /v2/terrafund/validation/polygon: + get: + summary: Get validation results for a polygon + parameters: + - in: query + name: uuid + required: true + description: The UUID of the polygon + type: string + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + properties: + polygon_id: + type: string + description: The ID of the polygon + criteria_list: + type: array + description: List of validation criteria + items: + type: object + properties: + criteria_id: + type: integer + description: The ID of the criteria + latest_created_at: + type: string + format: date-time + description: The latest created at timestamp of the criteria + valid: + type: integer + description: 'Indicates if the criteria is valid or not (1 for valid, 0 for invalid)' + /v2/terrafund/validation/criteria-data: + get: + summary: Get criteria data validation results for a polygon + parameters: + - in: query + name: uuid + required: true + description: The UUID of the polygon + type: string + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + properties: + polygon_id: + type: string + description: The ID of the polygon + criteria_list: + type: array + description: List of validation criteria + items: + type: object + properties: + criteria_id: + type: integer + description: The ID of the criteria + latest_created_at: + type: string + format: date-time + description: The latest created at timestamp of the criteria + valid: + type: integer + description: 'Indicates if the criteria is valid or not (1 for valid, 0 for invalid)' + /v2/terrafund/validation/sitePolygons: + get: + summary: Run validation for all polygons in a site + parameters: + - in: query + name: uuid + required: true + description: The UUID of the polygon + type: string + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + properties: + message: + type: string + description: A message indicating the completion of validation for all site polygons. + /v2/terrafund/validation/site: + get: + summary: Get criteria data validation results for all polygons in a site + parameters: + - in: query + name: uuid + required: true + description: The UUID of the polygon + type: string + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: array + items: + type: object + properties: + uuid: + type: string + description: The UUID of the polygon. + valid: + type: boolean + description: Indicates if the polygon is valid or not. + checked: + type: boolean + description: Indicates if the polygon has been checked before or not. /v2/geometry/validate: post: summary: Test a set of geometries for validity diff --git a/routes/api_v2.php b/routes/api_v2.php index 44f873bf7..e4e52cf45 100644 --- a/routes/api_v2.php +++ b/routes/api_v2.php @@ -627,6 +627,9 @@ Route::get('/validation/overlapping', [TerrafundCreateGeometryController::class, 'validateOverlapping']); Route::get('/validation/estimated-area', [TerrafundCreateGeometryController::class, 'validateEstimatedArea']); Route::get('/validation/table-data', [TerrafundCreateGeometryController::class, 'validateDataInDB']); + Route::get('/validation/polygon', [TerrafundCreateGeometryController::class, 'getValidationPolygon']); + Route::get('/validation/sitePolygons', [TerrafundCreateGeometryController::class, 'getSiteValidationPolygon']); + Route::get('/validation/site', [TerrafundCreateGeometryController::class, 'getCurrentSiteValidation']); Route::get('/polygon/{uuid}', [TerrafundEditGeometryController::class, 'getSitePolygonData']); Route::get('/polygon/geojson/{uuid}', [TerrafundEditGeometryController::class, 'getPolygonGeojson']); From 14785f62b45f39a17bea6c7df237b88958620705 Mon Sep 17 00:00:00 2001 From: JORGE Date: Mon, 27 May 2024 15:44:29 -0400 Subject: [PATCH 010/164] [TM-853] Add download functionality for single and complete geojsons --- .../TerrafundCreateGeometryController.php | 118 ++++++++++++++---- .../V2/definitions/GeoJSONResponse.yml | 35 ++++++ openapi-src/V2/definitions/_index.yml | 2 + .../get-v2-geojson-complete-download.yml | 20 +++ openapi-src/V2/paths/_index.yml | 3 + package-lock.json | 3 +- package.json | 4 +- resources/docs/swagger-v2.yml | 92 ++++++++++++++ routes/api_v2.php | 4 +- 9 files changed, 251 insertions(+), 30 deletions(-) create mode 100644 openapi-src/V2/definitions/GeoJSONResponse.yml create mode 100644 openapi-src/V2/paths/Terrafund/get-v2-geojson-complete-download.yml diff --git a/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php b/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php index a92c6a987..f17aa5279 100644 --- a/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php +++ b/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php @@ -381,37 +381,105 @@ public function validateEstimatedArea(Request $request) ); } - public function getPolygonsAsGeoJSON() + public function getPolygonAsGeoJSONDownload(Request $request) { - $limit = 2; - $polygons = PolygonGeometry::selectRaw('ST_AsGeoJSON(geom) AS geojson') - ->orderBy('created_at', 'desc') - ->whereNotNull('geom') - ->limit($limit) - ->get(); - $features = []; - - foreach ($polygons as $polygon) { - $coordinates = json_decode($polygon->geojson)->coordinates; + try { + $uuid = $request->query('uuid'); + + $polygonGeometry = PolygonGeometry::where('uuid', $uuid) + ->select(DB::raw('ST_AsGeoJSON(geom) AS geojsonGeom')) + ->first(); + + Log::info('Polygon Geometry', ['polygonGeometry' => $polygonGeometry]); + if (! $polygonGeometry) { + return response()->json(['message' => 'No polygon geometry found for the given UUID.'], 404); + } + + $sitePolygon = SitePolygon::where('poly_id', $uuid)->first(); + if (! $sitePolygon) { + return response()->json(['message' => 'No site polygon found for the given UUID.'], 404); + } + + $properties = []; + $fieldsToValidate = [ + 'poly_name', + 'plantstart', + 'plantend', + 'practice', + 'target_sys', + 'distr', + 'num_trees', + 'uuid', + 'site_id', + ]; + foreach ($fieldsToValidate as $field) { + $properties[$field] = $sitePolygon->$field; + } + + $propertiesJson = json_encode($properties); + $feature = [ - 'type' => 'Feature', - 'geometry' => [ - 'type' => 'Polygon', - 'coordinates' => $coordinates, - ], - 'properties' => [], + 'type' => 'Feature', + 'geometry' => json_decode($polygonGeometry->geojsonGeom), + 'properties' => json_decode($propertiesJson), ]; - $features[] = $feature; - } - $geojson = [ - 'type' => 'FeatureCollection', - 'features' => $features, - ]; - // Return the GeoJSON data - return response()->json($geojson); + $featureCollection = [ + 'type' => 'FeatureCollection', + 'features' => [$feature], + ]; + + return response()->json($featureCollection); + } catch (\Exception $e) { + return response()->json(['message' => 'Failed to generate GeoJSON.', 'error' => $e->getMessage()], 500); + } } + public function getAllPolygonsAsGeoJSONDownload(Request $request) + { + try { + $siteUuid = $request->query('uuid'); + $polygonsUuids = SitePolygon::where('site_id', $siteUuid)->pluck('poly_id'); + $features = []; + foreach ($polygonsUuids as $polygonUuid) { + $feature = []; + $polygonGeometry = PolygonGeometry::where('uuid', $polygonUuid) + ->select(DB::raw('ST_AsGeoJSON(geom) AS geojsonGeom')) + ->first(); + if (! $polygonGeometry) { + return response()->json(['message' => 'No polygon geometry found for the given UUID.'], 404); + } + + $sitePolygon = SitePolygon::where('poly_id', $polygonUuid)->first(); + if (! $sitePolygon) { + return response()->json(['message' => 'No site polygon found for the given UUID.'], 404); + } + + $properties = []; + $fieldsToValidate = ['poly_name', 'plantstart', 'plantend', 'practice', 'target_sys', 'distr', 'num_trees', 'site_id']; + foreach ($fieldsToValidate as $field) { + $properties[$field] = $sitePolygon->$field; + } + + $propertiesJson = json_encode($properties); + $feature = [ + 'type' => 'Feature', + 'geometry' => json_decode($polygonGeometry->geojsonGeom), + 'properties' => json_decode($propertiesJson), + ]; + $features[] = $feature; + } + $featureCollection = [ + 'type' => 'FeatureCollection', + 'features' => $features, + ]; + + return response()->json($featureCollection); + } catch (\Exception $e) { + return response()->json(['message' => 'Failed to generate GeoJSON.', 'error' => $e->getMessage()], 500); + } + } + public function getAllCountryNames() { $countries = WorldCountryGeneralized::select('country') diff --git a/openapi-src/V2/definitions/GeoJSONResponse.yml b/openapi-src/V2/definitions/GeoJSONResponse.yml new file mode 100644 index 000000000..ab67d4340 --- /dev/null +++ b/openapi-src/V2/definitions/GeoJSONResponse.yml @@ -0,0 +1,35 @@ +type: object +properties: + type: + type: string + features: + type: array + items: + type: object + properties: + type: + type: string + geometry: + type: object + properties: + type: + type: string + coordinates: + type: array + "properties": + type: object + properties: + poly_name: + type: string + plantstart: + type: string + plantend: + type: string + practice: + type: string + target_sys: + type: string + distr: + type: string + num_trees: + type: integer \ No newline at end of file diff --git a/openapi-src/V2/definitions/_index.yml b/openapi-src/V2/definitions/_index.yml index 596488c98..66dba7cc0 100644 --- a/openapi-src/V2/definitions/_index.yml +++ b/openapi-src/V2/definitions/_index.yml @@ -290,3 +290,5 @@ SitePolygonResponse: $ref: './SitePolygonResponse.yml' SitePolygonCreateResponse: $ref: './SitePolygonCreateResponse.yml' +GeoJSONResponse: + $ref: './GeoJSONResponse.yml' \ No newline at end of file diff --git a/openapi-src/V2/paths/Terrafund/get-v2-geojson-complete-download.yml b/openapi-src/V2/paths/Terrafund/get-v2-geojson-complete-download.yml new file mode 100644 index 000000000..c5f6cdced --- /dev/null +++ b/openapi-src/V2/paths/Terrafund/get-v2-geojson-complete-download.yml @@ -0,0 +1,20 @@ +summary: Get Polygon as GeoJSON +description: | + Retrieve polygon geometry and properties as GeoJSON. +parameters: + - in: query + name: uuid + type: string + required: true + description: UUID of the polygon geometry. +responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '../../definitions/_index.yml#/GeoJSONResponse' + '400': + description: Bad request + '500': + description: Internal server error \ No newline at end of file diff --git a/openapi-src/V2/paths/_index.yml b/openapi-src/V2/paths/_index.yml index 1add5ad68..630c7dbee 100644 --- a/openapi-src/V2/paths/_index.yml +++ b/openapi-src/V2/paths/_index.yml @@ -2547,3 +2547,6 @@ /v2/terrafund/polygon/bbox/{uuid}: get: $ref: './Terrafund/get-v2-polygon-bbox.yml' +/v2/terrafund/geojson/complete: + get: + $ref: './Terrafund/get-v2-geojson-complete-download.yml' \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 3f348d81b..492c76df4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,10 +1,9 @@ { - "name": "wri-restoration-marketplace-api", + "name": "wri-terramatch-api", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "wri-restoration-marketplace-api", "dependencies": { "swagger-ui-dist": "^3.23.3" }, diff --git a/package.json b/package.json index 6a32704fa..cbfbdd6e8 100644 --- a/package.json +++ b/package.json @@ -18,14 +18,14 @@ "laravel-mix": "^6.0.12", "lodash": "^4.17.5", "popper.js": "^1.12", + "postcss": "^8.2.8", "resolve-url-loader": "^2.3.1", "sass": "^1.15.2", "sass-loader": "^7.1.0", "swagger-cli": "^4.0.4", "swagger-ui-dist": "^3.23.3", "vue": "^2.5.17", - "vue-template-compiler": "^2.6.10", - "postcss": "^8.2.8" + "vue-template-compiler": "^2.6.10" }, "dependencies": { "swagger-ui-dist": "^3.23.3" diff --git a/resources/docs/swagger-v2.yml b/resources/docs/swagger-v2.yml index e7094b502..0441a800d 100644 --- a/resources/docs/swagger-v2.yml +++ b/resources/docs/swagger-v2.yml @@ -44260,6 +44260,42 @@ definitions: type: number format: double description: Calculated area in hectares + GeoJSONResponse: + type: object + properties: + type: + type: string + features: + type: array + items: + type: object + properties: + type: + type: string + geometry: + type: object + properties: + type: + type: string + coordinates: + type: array + properties: + type: object + properties: + poly_name: + type: string + plantstart: + type: string + plantend: + type: string + practice: + type: string + target_sys: + type: string + distr: + type: string + num_trees: + type: integer paths: '/v2/tree-species/{entity}/{UUID}': get: @@ -94462,3 +94498,59 @@ paths: description: Bad request '500': description: Internal server error + /v2/terrafund/geojson/complete: + get: + summary: Get Polygon as GeoJSON + description: | + Retrieve polygon geometry and properties as GeoJSON. + parameters: + - in: query + name: uuid + type: string + required: true + description: UUID of the polygon geometry. + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + properties: + type: + type: string + features: + type: array + items: + type: object + properties: + type: + type: string + geometry: + type: object + properties: + type: + type: string + coordinates: + type: array + properties: + type: object + properties: + poly_name: + type: string + plantstart: + type: string + plantend: + type: string + practice: + type: string + target_sys: + type: string + distr: + type: string + num_trees: + type: integer + '400': + description: Bad request + '500': + description: Internal server error diff --git a/routes/api_v2.php b/routes/api_v2.php index e4e52cf45..f69fe624f 100644 --- a/routes/api_v2.php +++ b/routes/api_v2.php @@ -615,8 +615,10 @@ Route::post('/upload-shapefile', [TerrafundCreateGeometryController::class, 'uploadShapefile']); Route::post('/upload-kml', [TerrafundCreateGeometryController::class, 'uploadKMLFile']); Route::post('/polygon/{uuid}', [TerrafundCreateGeometryController::class, 'processGeometry']); + Route::get('/geojson/complete', [TerrafundCreateGeometryController::class, 'getPolygonAsGeoJSONDownload']); + Route::get('/geojson/site', [TerrafundCreateGeometryController::class, 'getAllPolygonsAsGeoJSONDownload']); + - Route::get('/geojson/complete', [TerrafundCreateGeometryController::class, 'getPolygonsAsGeoJSON']); Route::get('/validation/self-intersection', [TerrafundCreateGeometryController::class, 'checkSelfIntersection']); Route::get('/validation/size-limit', [TerrafundCreateGeometryController::class, 'validatePolygonSize']); Route::get('/validation/spike', [TerrafundCreateGeometryController::class, 'checkBoundarySegments']); From c411667f372a3da2682fa8ba9572e4e6cb07baa8 Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Mon, 27 May 2024 16:02:21 -0400 Subject: [PATCH 011/164] [TM-846] fix lint --- .../Controllers/V2/Terrafund/TerrafundEditGeometryController.php | 1 + 1 file changed, 1 insertion(+) diff --git a/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php b/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php index 61701a062..f695e7b79 100644 --- a/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php +++ b/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php @@ -136,6 +136,7 @@ public function createSitePolygon(string $uuid, string $siteUuid, Request $reque return response()->json(['error' => 'An error occurred: ' . $e->getMessage()], 500); } } + public function getPolygonBbox(string $uuid) { try { From 7596b7e9aed0740381e699c2070e91b7084d426d Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Mon, 27 May 2024 16:07:05 -0400 Subject: [PATCH 012/164] [TM-853] fix lint --- .../TerrafundCreateGeometryController.php | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php b/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php index a92c6a987..bbb41782f 100644 --- a/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php +++ b/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php @@ -476,22 +476,23 @@ public function getSiteValidationPolygon(Request $request) return response()->json(['message' => 'Validation completed for all site polygons']); } catch (\Exception $e) { Log::error('Error during site validation polygon: ' . $e->getMessage()); + return response()->json(['error' => 'An error occurred during site validation'], 500); } } - + public function getCurrentSiteValidation(Request $request) { try { $uuid = $request->input('uuid'); - + $sitePolygonsUuids = $this->getSitePolygonsUuids($uuid); $checkedPolygons = []; - + foreach ($sitePolygonsUuids as $polygonUuid) { $isValid = true; $isChecked = true; - + $criteriaData = $this->fetchCriteriaData($polygonUuid); if (isset($criteriaData['error'])) { @@ -502,34 +503,37 @@ public function getCurrentSiteValidation(Request $request) foreach ($criteriaData['criteria_list'] as $criteria) { if ($criteria['valid'] == 0) { $isValid = false; + break; } } } - + $checkedPolygons[] = [ 'uuid' => $polygonUuid, 'valid' => $isValid, 'checked' => $isChecked, ]; } - + return $checkedPolygons; } catch (\Exception $e) { Log::error('Error during current site validation: ' . $e->getMessage()); + return response()->json(['error' => 'An error occurred during current site validation'], 500); } } - + private function getSitePolygonsUuids($uuid) { return SitePolygon::where('site_id', $uuid)->get()->pluck('poly_id'); } - + private function fetchCriteriaData($polygonUuid) { $polygonRequest = new Request(['uuid' => $polygonUuid]); $criteriaDataResponse = $this->getCriteriaData($polygonRequest); + return json_decode($criteriaDataResponse->getContent(), true); - } -} \ No newline at end of file + } +} From 307fd6270579414d6edd955a72ad11e0285edda1 Mon Sep 17 00:00:00 2001 From: JORGE Date: Mon, 27 May 2024 16:19:08 -0400 Subject: [PATCH 013/164] [TM-853] endpoint to delete polygon and site polygon --- app/Helpers/GeometryHelper.php | 81 +++++++++++++++++++ .../TerrafundEditGeometryController.php | 60 ++++++++++++++ .../Terrafund/delete-v2-polygon-uuid.yml | 10 +++ openapi-src/V2/paths/_index.yml | 5 +- resources/docs/swagger-v2.yml | 12 +++ routes/api_v2.php | 3 +- 6 files changed, 169 insertions(+), 2 deletions(-) create mode 100644 openapi-src/V2/paths/Terrafund/delete-v2-polygon-uuid.yml diff --git a/app/Helpers/GeometryHelper.php b/app/Helpers/GeometryHelper.php index 56f376b93..a5c2e58d7 100644 --- a/app/Helpers/GeometryHelper.php +++ b/app/Helpers/GeometryHelper.php @@ -3,6 +3,8 @@ namespace App\Helpers; use App\Models\V2\PolygonGeometry; +use App\Models\V2\Projects\Project; +use Illuminate\Support\Facades\Log; class GeometryHelper { @@ -33,4 +35,83 @@ public static function getPolygonsBbox($polygonsIds) return $bboxCoordinates; } + public function updateProjectCentroid(string $projectUuid) + { + try { + $centroid = $this->centroidOfProject($projectUuid); + + if ($centroid === null) { + Log::warning("Invalid centroid for projectUuid: $projectUuid"); + } + + $centroidArray = json_decode($centroid, true); + + $latitude = $centroidArray['coordinates'][1]; + $longitude = $centroidArray['coordinates'][0]; + + + Project::where('uuid', $projectUuid) + ->update([ + 'lat' => $latitude, + 'long' => $longitude, + ]); + + + Log::info("Centroid updated for projectUuid: $projectUuid"); + + return 'Centroids updated successfully!'; + } catch (\Exception $e) { + Log::error("Error updating centroid for projectUuid: $projectUuid"); + + return response()->json([ + 'message' => 'Error updating centroid', + 'error' => $e->getMessage(), + ], 500); + } + + } + public function centroidOfProject($projectUuid) + { + $project = Project::where('uuid', $projectUuid)->first(); + + if (!$project) { + return null; + } + + $sitePolygons = $project->sitePolygons; + + if ($sitePolygons->isEmpty()) { + return null; // Return null if no polygons are found for the given projectUuid + } + + $polyIds = $sitePolygons->pluck('poly_id')->toArray(); + + $centroids = PolygonGeometry::selectRaw('ST_AsGeoJSON(ST_Centroid(geom)) AS centroid') + ->whereIn('uuid', $polyIds) + ->get(); + + if ($centroids->isEmpty()) { + return null; // Return null if no centroids are found + } + + $centroidCount = $centroids->count(); + $totalLatitude = 0; + $totalLongitude = 0; + + foreach ($centroids as $centroid) { + $centroidData = json_decode($centroid->centroid, true); + $totalLatitude += $centroidData['coordinates'][1]; + $totalLongitude += $centroidData['coordinates'][0]; + } + + $averageLatitude = $totalLatitude / $centroidCount; + $averageLongitude = $totalLongitude / $centroidCount; + + $centroidOfCentroids = json_encode([ + 'type' => 'Point', + 'coordinates' => [$averageLongitude, $averageLatitude], + ]); + + return $centroidOfCentroids; + } } diff --git a/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php b/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php index f695e7b79..35bd85495 100644 --- a/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php +++ b/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php @@ -6,6 +6,8 @@ use App\Http\Controllers\Controller; use App\Models\V2\PolygonGeometry; use App\Models\V2\Sites\SitePolygon; +use App\Models\V2\Sites\Site; +use App\Models\V2\Projects\Project; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\DB; @@ -27,6 +29,64 @@ public function getSitePolygonData(string $uuid) return response()->json(['message' => $e->getMessage()], 500); } } + + public function updateProjectCentroid($polygonGeometry) + { + try { + $sitePolygon = SitePolygon::where('poly_id', $polygonGeometry->uuid)->first(); + + if ($sitePolygon) { + $relatedSite = Site::where('uuid', $sitePolygon->site_id)->first(); + $project = Project::where('id', $relatedSite->project_id)->first(); + + if ($project) { + $geometryHelper = new GeometryHelper(); + $centroid = $geometryHelper->centroidOfProject($project->uuid); + + if ($centroid === null) { + Log::warning("Invalid centroid for project UUID: $project->uuid"); + } + } else { + Log::warning("Project with UUID $relatedSite->project_id not found."); + } + } else { + Log::warning("Site polygon with UUID $polygonGeometry->uuid not found."); + } + } catch (\Exception $e) { + Log::error('Error updating project centroid: ' . $e->getMessage()); + } + } + + public function deletePolygonAndSitePolygon(string $uuid) + { + try { + $polygonGeometry = PolygonGeometry::where('uuid', $uuid)->first(); + if (! $polygonGeometry) { + return response()->json(['message' => 'No polygon geometry found for the given UUID.'], 404); + } + $sitePolygon = SitePolygon::where('poly_id', $uuid)->first(); + $relatedSite = Site::where('uuid', $sitePolygon->site_id)->first(); + $projectUuid = Project::where('id', $relatedSite->project_id)->pluck('uuid')->first(); + if (! $projectUuid) { + return response()->json(['message' => 'No project found for the given UUID.'], 404); + } + if ($sitePolygon) { + Log::info("Deleting associated site polygon for UUID: $uuid"); + $sitePolygon->delete(); + } + $geometryHelper = new GeometryHelper(); + $geometryHelper->updateProjectCentroid($projectUuid); + $polygonGeometry->delete(); + Log::info("Polygon geometry and associated site polygon deleted successfully for UUID: $uuid"); + + return response()->json(['message' => 'Polygon geometry and associated site polygon deleted successfully.', 'uuid' => $uuid]); + } catch (\Exception $e) { + Log::error('An error occurred: ' . $e->getMessage()); + + // Return error response if an exception occurs + return response()->json(['error' => 'An error occurred: ' . $e->getMessage()], 500); + } + } public function updateGeometry(string $uuid, Request $request) { diff --git a/openapi-src/V2/paths/Terrafund/delete-v2-polygon-uuid.yml b/openapi-src/V2/paths/Terrafund/delete-v2-polygon-uuid.yml new file mode 100644 index 000000000..982445259 --- /dev/null +++ b/openapi-src/V2/paths/Terrafund/delete-v2-polygon-uuid.yml @@ -0,0 +1,10 @@ +summary: Delete polygon records +parameters: + - in: path + name: uuid + required: true + type: string + description: The UUID of the polygon geometry to delete +responses: + '204': + description: No Content \ No newline at end of file diff --git a/openapi-src/V2/paths/_index.yml b/openapi-src/V2/paths/_index.yml index 630c7dbee..315716c87 100644 --- a/openapi-src/V2/paths/_index.yml +++ b/openapi-src/V2/paths/_index.yml @@ -2549,4 +2549,7 @@ $ref: './Terrafund/get-v2-polygon-bbox.yml' /v2/terrafund/geojson/complete: get: - $ref: './Terrafund/get-v2-geojson-complete-download.yml' \ No newline at end of file + $ref: './Terrafund/get-v2-geojson-complete-download.yml' +/v2/terrafund/polygon/{uuid}: + delete: + $ref: './Terrafund/delete-v2-polygon-uuid.yml' \ No newline at end of file diff --git a/resources/docs/swagger-v2.yml b/resources/docs/swagger-v2.yml index 0441a800d..88fdf9a5f 100644 --- a/resources/docs/swagger-v2.yml +++ b/resources/docs/swagger-v2.yml @@ -94554,3 +94554,15 @@ paths: description: Bad request '500': description: Internal server error + '/v2/terrafund/polygon/{uuid}': + delete: + summary: Delete polygon records + parameters: + - in: path + name: uuid + required: true + type: string + description: The UUID of the polygon geometry to delete + responses: + '204': + description: No Content diff --git a/routes/api_v2.php b/routes/api_v2.php index f69fe624f..0e5efb149 100644 --- a/routes/api_v2.php +++ b/routes/api_v2.php @@ -636,7 +636,8 @@ Route::get('/polygon/{uuid}', [TerrafundEditGeometryController::class, 'getSitePolygonData']); Route::get('/polygon/geojson/{uuid}', [TerrafundEditGeometryController::class, 'getPolygonGeojson']); Route::put('/polygon/{uuid}', [TerrafundEditGeometryController::class, 'updateGeometry']); - + Route::delete('/polygon/{uuid}', [TerrafundEditGeometryController::class, 'deletePolygonAndSitePolygon']); + Route::get('/polygon/bbox/{uuid}', [TerrafundEditGeometryController::class, 'getPolygonBbox']); Route::put('/site-polygon/{uuid}', [TerrafundEditGeometryController::class, 'updateSitePolygon']); From 11d3d921b1743f5114ceedaa0fa2e9924257826b Mon Sep 17 00:00:00 2001 From: JORGE Date: Mon, 27 May 2024 16:20:17 -0400 Subject: [PATCH 014/164] [TM-853] fix lint --- app/Helpers/GeometryHelper.php | 4 +++- .../V2/Terrafund/TerrafundCreateGeometryController.php | 3 ++- .../V2/Terrafund/TerrafundEditGeometryController.php | 6 +++--- routes/api_v2.php | 4 ++-- 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/app/Helpers/GeometryHelper.php b/app/Helpers/GeometryHelper.php index a5c2e58d7..66e0fc28f 100644 --- a/app/Helpers/GeometryHelper.php +++ b/app/Helpers/GeometryHelper.php @@ -35,6 +35,7 @@ public static function getPolygonsBbox($polygonsIds) return $bboxCoordinates; } + public function updateProjectCentroid(string $projectUuid) { try { @@ -70,11 +71,12 @@ public function updateProjectCentroid(string $projectUuid) } } + public function centroidOfProject($projectUuid) { $project = Project::where('uuid', $projectUuid)->first(); - if (!$project) { + if (! $project) { return null; } diff --git a/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php b/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php index b05125973..bcdf46221 100644 --- a/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php +++ b/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php @@ -434,6 +434,7 @@ public function getPolygonAsGeoJSONDownload(Request $request) return response()->json(['message' => 'Failed to generate GeoJSON.', 'error' => $e->getMessage()], 500); } } + public function getAllPolygonsAsGeoJSONDownload(Request $request) { try { @@ -479,7 +480,7 @@ public function getAllPolygonsAsGeoJSONDownload(Request $request) return response()->json(['message' => 'Failed to generate GeoJSON.', 'error' => $e->getMessage()], 500); } } - + public function getAllCountryNames() { $countries = WorldCountryGeneralized::select('country') diff --git a/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php b/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php index 35bd85495..72eca3b06 100644 --- a/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php +++ b/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php @@ -5,9 +5,9 @@ use App\Helpers\GeometryHelper; use App\Http\Controllers\Controller; use App\Models\V2\PolygonGeometry; -use App\Models\V2\Sites\SitePolygon; -use App\Models\V2\Sites\Site; use App\Models\V2\Projects\Project; +use App\Models\V2\Sites\Site; +use App\Models\V2\Sites\SitePolygon; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\DB; @@ -29,7 +29,7 @@ public function getSitePolygonData(string $uuid) return response()->json(['message' => $e->getMessage()], 500); } } - + public function updateProjectCentroid($polygonGeometry) { try { diff --git a/routes/api_v2.php b/routes/api_v2.php index 0e5efb149..75d840e26 100644 --- a/routes/api_v2.php +++ b/routes/api_v2.php @@ -617,7 +617,7 @@ Route::post('/polygon/{uuid}', [TerrafundCreateGeometryController::class, 'processGeometry']); Route::get('/geojson/complete', [TerrafundCreateGeometryController::class, 'getPolygonAsGeoJSONDownload']); Route::get('/geojson/site', [TerrafundCreateGeometryController::class, 'getAllPolygonsAsGeoJSONDownload']); - + Route::get('/validation/self-intersection', [TerrafundCreateGeometryController::class, 'checkSelfIntersection']); Route::get('/validation/size-limit', [TerrafundCreateGeometryController::class, 'validatePolygonSize']); @@ -637,7 +637,7 @@ Route::get('/polygon/geojson/{uuid}', [TerrafundEditGeometryController::class, 'getPolygonGeojson']); Route::put('/polygon/{uuid}', [TerrafundEditGeometryController::class, 'updateGeometry']); Route::delete('/polygon/{uuid}', [TerrafundEditGeometryController::class, 'deletePolygonAndSitePolygon']); - + Route::get('/polygon/bbox/{uuid}', [TerrafundEditGeometryController::class, 'getPolygonBbox']); Route::put('/site-polygon/{uuid}', [TerrafundEditGeometryController::class, 'updateSitePolygon']); From b5695f7978d5aa69ab4db7f491dfe1fd561d1782 Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Mon, 27 May 2024 16:41:38 -0400 Subject: [PATCH 015/164] [TM-848] add site id when uploading polygon and recalculate calc_area --- .../TerrafundCreateGeometryController.php | 13 +++-- .../TerrafundEditGeometryController.php | 51 +++++++++++++++---- 2 files changed, 50 insertions(+), 14 deletions(-) diff --git a/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php b/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php index bcdf46221..20cc8b3a8 100644 --- a/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php +++ b/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php @@ -60,14 +60,14 @@ public function storeGeometry(Request $request) /** * @throws ValidationException */ - public function insertGeojsonToDB(string $geojsonFilename) + public function insertGeojsonToDB(string $geojsonFilename, ?string $site_id = null) { $geojsonData = Storage::get("public/geojson_files/{$geojsonFilename}"); $geojson = json_decode($geojsonData, true); SitePolygonValidator::validate('FEATURE_BOUNDS', $geojson, false); - return App::make(PolygonService::class)->createGeojsonModels($geojson); + return App::make(PolygonService::class)->createGeojsonModels($geojson, [], $site_id); } public function validateDataInDB(Request $request) @@ -130,6 +130,7 @@ public function getGeometryProperties(string $geojsonFilename) public function uploadKMLFile(Request $request) { if ($request->hasFile('file')) { + $site_id = $request->input('uuid'); $kmlfile = $request->file('file'); $directory = storage_path('app/public/kml_files'); if (! file_exists($directory)) { @@ -147,7 +148,7 @@ public function uploadKMLFile(Request $request) return response()->json(['error' => 'Failed to convert KML to GeoJSON', 'message' => $process->getErrorOutput()], 500); } - $uuid = $this->insertGeojsonToDB($geojsonFilename); + $uuid = $this->insertGeojsonToDB($geojsonFilename, $site_id); if (isset($uuid['error'])) { return response()->json(['error' => 'Geometry not inserted into DB', 'message' => $uuid['error']], 500); } @@ -179,6 +180,7 @@ public function uploadShapefile(Request $request) { Log::debug('Upload Shape file data', ['request' => $request->all()]); if ($request->hasFile('file')) { + $site_id = $request->input('uuid'); $file = $request->file('file'); if ($file->getClientOriginalExtension() !== 'zip') { return response()->json(['error' => 'Only ZIP files are allowed'], 400); @@ -204,7 +206,7 @@ public function uploadShapefile(Request $request) return response()->json(['error' => 'Failed to convert Shapefile to GeoJSON', 'message' => $process->getErrorOutput()], 500); } - $uuid = $this->insertGeojsonToDB($geojsonFilename); + $uuid = $this->insertGeojsonToDB($geojsonFilename, $site_id); if (isset($uuid['error'])) { return response()->json(['error' => 'Geometry not inserted into DB', 'message' => $uuid['error']], 500); } @@ -341,6 +343,7 @@ public function getCriteriaData(Request $request) public function uploadGeoJSONFile(Request $request) { if ($request->hasFile('file')) { + $site_id = $request->input('uuid'); $file = $request->file('file'); $directory = storage_path('app/public/geojson_files'); if (! file_exists($directory)) { @@ -348,7 +351,7 @@ public function uploadGeoJSONFile(Request $request) } $filename = uniqid('geojson_file_') . '.' . $file->getClientOriginalExtension(); $file->move($directory, $filename); - $uuid = $this->insertGeojsonToDB($filename); + $uuid = $this->insertGeojsonToDB($filename, $site_id); if (is_array($uuid) && isset($uuid['error'])) { return response()->json(['error' => 'Failed to insert GeoJSON data into the database', 'message' => $uuid['error']], 500); } diff --git a/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php b/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php index 72eca3b06..f1fa5cd4e 100644 --- a/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php +++ b/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php @@ -30,6 +30,31 @@ public function getSitePolygonData(string $uuid) } } + public function updateEstAreainSitePolygon($polygonGeometry, $geometry) + { + try { + $sitePolygon = SitePolygon::where('poly_id', $polygonGeometry->uuid)->first(); + + if ($sitePolygon) { + $geojson = json_encode($geometry); + $areaSqDegrees = DB::selectOne("SELECT ST_Area(ST_GeomFromGeoJSON('$geojson')) AS area")->area; + $latitude = DB::selectOne("SELECT ST_Y(ST_Centroid(ST_GeomFromGeoJSON('$geojson'))) AS latitude")->latitude; + $unitLatitude = 111320; + $areaSqMeters = $areaSqDegrees * pow($unitLatitude * cos(deg2rad($latitude)), 2); + $areaHectares = $areaSqMeters / 10000; + + $sitePolygon->calc_area = $areaHectares; + $sitePolygon->save(); + + Log::info("Updated area for site polygon with UUID: $sitePolygon->uuid"); + } else { + Log::warning("Updating Area: Site polygon with UUID $polygonGeometry->uuid not found."); + } + } catch (\Exception $e) { + Log::error('Error updating area in site polygon: ' . $e->getMessage()); + } + } + public function updateProjectCentroid($polygonGeometry) { try { @@ -90,16 +115,24 @@ public function deletePolygonAndSitePolygon(string $uuid) public function updateGeometry(string $uuid, Request $request) { - $polygonGeometry = PolygonGeometry::where('uuid', $uuid)->first(); - if (! $polygonGeometry) { - return response()->json(['message' => 'No polygon geometry found for the given UUID.'], 404); - } - $geometry = json_decode($request->input('geometry')); - $geom = DB::raw("ST_GeomFromGeoJSON('" . json_encode($geometry) . "')"); - $polygonGeometry->geom = $geom; - $polygonGeometry->save(); + try { + Log::info("Updating geometry for polygon with UUID: $uuid"); - return response()->json(['message' => 'Geometry updated successfully.', 'geometry' => $geometry, 'uuid' => $uuid]); + $polygonGeometry = PolygonGeometry::where('uuid', $uuid)->first(); + if (! $polygonGeometry) { + return response()->json(['message' => 'No polygon geometry found for the given UUID.'], 404); + } + $geometry = json_decode($request->input('geometry')); + $geom = DB::raw("ST_GeomFromGeoJSON('" . json_encode($geometry) . "')"); + $polygonGeometry->geom = $geom; + $polygonGeometry->save(); + $this->updateEstAreainSitePolygon($polygonGeometry, $geometry); + $this->updateProjectCentroid($polygonGeometry); + + return response()->json(['message' => 'Geometry updated successfully.', 'geometry' => $geometry, 'uuid' => $uuid]); + } catch (\Exception $e) { + return response()->json(['error' => 'An error occurred: ' . $e->getMessage()], 500); + } } public function getPolygonGeojson(string $uuid) From 17349086c426cd06948466fca0d5b905d20764b7 Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Tue, 28 May 2024 10:57:57 -0400 Subject: [PATCH 016/164] [TM-621] start up jobs created controller --- app/Helpers/TerrafundDashboardQueryHelper.php | 60 +++++++++ .../V2/Dashboard/GetJobsCreatedController.php | 115 ++++++++++++++++++ .../V2/Dashboard/JobsCreatedResource.php | 37 ++++++ routes/api_v2.php | 5 + 4 files changed, 217 insertions(+) create mode 100644 app/Helpers/TerrafundDashboardQueryHelper.php create mode 100644 app/Http/Controllers/V2/Dashboard/GetJobsCreatedController.php create mode 100644 app/Http/Resources/V2/Dashboard/JobsCreatedResource.php diff --git a/app/Helpers/TerrafundDashboardQueryHelper.php b/app/Helpers/TerrafundDashboardQueryHelper.php new file mode 100644 index 000000000..f6a4b8745 --- /dev/null +++ b/app/Helpers/TerrafundDashboardQueryHelper.php @@ -0,0 +1,60 @@ +whereHas('organisation', function ($query) { + $query->whereIn('type', ['for-profit-organization', 'non-profit-organization']); + }); + if ($request->has('country')) { + $country = $request->input('country'); + $query = $query->where('country', $country); + } elseif ($request->has('uuid')) { + $projectId = $request->input('uuid'); + $query = $query->where('v2_projects.uuid', $projectId); + } + + return $query; + } + + public static function getPolygonIdsOfProject($request) + { + $projectIds = TerrafundDashboardQueryHelper::buildQueryFromRequest($request) + ->pluck('uuid'); + $polygonsIds = SitePolygon::whereHas('site.project', function ($query) use ($projectIds) { + $query->whereIn('uuid', $projectIds); + })->pluck('poly_id'); + + return $polygonsIds; + } + + public static function getPolygonsByStatusOfProject($request) + { + $projectIds = TerrafundDashboardQueryHelper::buildQueryFromRequest($request) + ->pluck('uuid'); + + $statuses = ['Needs More Info', 'Submitted', 'Approved']; + + $polygons = []; + + foreach ($statuses as $status) { + // Get polygons of the project filtered by status + $polygonsOfProject = SitePolygon::whereHas('site.project', function ($query) use ($projectIds) { + $query->whereIn('uuid', $projectIds); + }) + ->where('status', $status) + ->pluck('poly_id'); + + $polygons[$status] = $polygonsOfProject; + } + + return $polygons; + } +} diff --git a/app/Http/Controllers/V2/Dashboard/GetJobsCreatedController.php b/app/Http/Controllers/V2/Dashboard/GetJobsCreatedController.php new file mode 100644 index 000000000..0eba73489 --- /dev/null +++ b/app/Http/Controllers/V2/Dashboard/GetJobsCreatedController.php @@ -0,0 +1,115 @@ +join('organisations', 'v2_projects.organisation_id', '=', 'organisations.id') + ->select('v2_projects.id', 'organisations.type') + ->get(); + + $forProfitProjectIds = $this->filterProjectIdsByType($rawProjectIds, 'for-profit-organization'); + $nonProfitProjectIds = $this->filterProjectIdsByType($rawProjectIds, 'non-profit-organization'); + $allProjectIds = $this->getAllProjectIds($rawProjectIds); + + $forProfitJobsCreated = $this->getTotalJobsCreated($forProfitProjectIds); + $nonProfitJobsCreated = $this->getTotalJobsCreated($nonProfitProjectIds); + $totalJobsCreated = $this->getTotalJobsCreated($allProjectIds); + $jobsCreatedDetailed = $this->getJobsCreatedDetailed($allProjectIds); + + $finalResult = (object) [ + 'totalJobsCreated' => $totalJobsCreated, + 'forProfitJobsCreated' => $forProfitJobsCreated, + 'nonProfitJobsCreated' => $nonProfitJobsCreated, + 'total_ft' => $jobsCreatedDetailed->total_ft, + 'total_pt' => $jobsCreatedDetailed->total_pt, + 'total_men' => $this->calculateTotalMen($jobsCreatedDetailed), + 'total_pt_men' => $jobsCreatedDetailed->total_pt_men, + 'total_ft_men' => $jobsCreatedDetailed->total_ft_men, + 'total_women' => $this->calculateTotalWomen($jobsCreatedDetailed), + 'total_pt_women' => $jobsCreatedDetailed->total_pt_women, + 'total_ft_women' => $jobsCreatedDetailed->total_ft_women, + 'total_youth' => $this->calculateTotalYouth($jobsCreatedDetailed), + 'total_pt_youth' => $jobsCreatedDetailed->total_pt_youth, + 'total_ft_youth' => $jobsCreatedDetailed->total_ft_youth, + 'total_non_youth' => $this->calculateTotalNonYouth($jobsCreatedDetailed), + 'total_pt_non_youth' => $jobsCreatedDetailed->total_pt_non_youth, + 'total_ft_non_youth' => $jobsCreatedDetailed->total_ft_non_youth, + ]; + + return new JobsCreatedResource($finalResult); + } + + private function filterProjectIdsByType($projectIds, $type) + { + return $projectIds->filter(function ($row) use ($type) { + return $row->type === $type; + })->pluck('id')->toArray(); + } + + private function getAllProjectIds($projectIds) + { + return $projectIds->pluck('id')->toArray(); + } + + private function calculateTotalMen($jobsCreatedDetailed) + { + return $jobsCreatedDetailed->total_pt_men + $jobsCreatedDetailed->total_ft_men; + } + + private function calculateTotalWomen($jobsCreatedDetailed) + { + return $jobsCreatedDetailed->total_pt_women + $jobsCreatedDetailed->total_ft_women; + } + + private function calculateTotalYouth($jobsCreatedDetailed) + { + return $jobsCreatedDetailed->total_pt_youth + $jobsCreatedDetailed->total_ft_youth; + } + + private function calculateTotalNonYouth($jobsCreatedDetailed) + { + return $jobsCreatedDetailed->total_pt_non_youth + $jobsCreatedDetailed->total_ft_non_youth; + } + + private function getTotalJobsCreated($projectIds) + { + $sumData = ProjectReport::whereIn('project_id', $projectIds) + ->where('framework_key', 'terrafund') + ->selectRaw('SUM(ft_total) as total_ft, SUM(pt_total) as total_pt') + ->first(); + + return $sumData->total_ft + $sumData->total_pt; + } + + private function getJobsCreatedDetailed($projectIds) + { + return ProjectReport::whereIn('project_id', $projectIds) + ->where('framework_key', 'terrafund') + ->selectRaw( + 'SUM(ft_total) as total_ft, + SUM(pt_total) as total_pt, + SUM(pt_men) as total_pt_men, + SUM(ft_men) as total_ft_men, + SUM(pt_women) as total_pt_women, + SUM(ft_women) as total_ft_women, + SUM(pt_youth) as total_pt_youth, + SUM(ft_youth) as total_ft_youth, + SUM(pt_non_youth) as total_pt_non_youth, + SUM(ft_jobs_non_youth) as total_ft_non_youth' + ) + ->first(); + } +} diff --git a/app/Http/Resources/V2/Dashboard/JobsCreatedResource.php b/app/Http/Resources/V2/Dashboard/JobsCreatedResource.php new file mode 100644 index 000000000..763d251b2 --- /dev/null +++ b/app/Http/Resources/V2/Dashboard/JobsCreatedResource.php @@ -0,0 +1,37 @@ + (int) $this->totalJobsCreated, + 'forProfitJobsCreated' => (int) $this->forProfitJobsCreated, + 'nonProfitJobsCreated' => (int) $this->nonProfitJobsCreated, + 'total_ft' => (int) $this->total_ft, + 'total_pt' => (int) $this->total_pt, + 'total_men' => (int) $this->total_men, + 'total_pt_men' => (int) $this->total_pt_men, + 'total_ft_men' => (int) $this->total_ft_men, + 'total_women' => (int) $this->total_women, + 'total_pt_women' => (int) $this->total_pt_women, + 'total_ft_women' => (int) $this->total_ft_women, + 'total_youth' => (int) $this->total_youth, + 'total_pt_youth' => (int) $this->total_pt_youth, + 'total_ft_youth' => (int) $this->total_ft_youth, + 'total_non_youth' => (int) $this->total_non_youth, + 'total_pt_non_youth' => (int) $this->total_pt_non_youth, + 'total_ft_non_youth' => (int) $this->total_ft_non_youth, + ]; + } +} diff --git a/routes/api_v2.php b/routes/api_v2.php index 4261cc69d..194f7197e 100644 --- a/routes/api_v2.php +++ b/routes/api_v2.php @@ -15,6 +15,7 @@ use App\Http\Controllers\V2\CoreTeamLeader\DeleteCoreTeamLeaderController; use App\Http\Controllers\V2\CoreTeamLeader\StoreCoreTeamLeaderController; use App\Http\Controllers\V2\CoreTeamLeader\UpdateCoreTeamLeaderController; +use App\Http\Controllers\V2\Dashboard\GetJobsCreatedController; use App\Http\Controllers\V2\Disturbances\DeleteDisturbanceController; use App\Http\Controllers\V2\Disturbances\GetDisturbancesForEntityController; use App\Http\Controllers\V2\Disturbances\StoreDisturbanceController; @@ -649,3 +650,7 @@ function () { Route::resource('files', FilePropertiesController::class); //Route::put('file/{uuid}', [FilePropertiesController::class, 'update']); //Route::delete('file/{uuid}', [FilePropertiesController::class, 'destroy']); + +Route::prefix('dashboard')->group(function () { + Route::get('/jobs-created', GetJobsCreatedController::class); +}); From 4caec5a3a18413156a6fc63474245324a66736de Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Tue, 28 May 2024 12:27:44 -0400 Subject: [PATCH 017/164] [TM-658] export dashboard --- .../ActiveProjectsTableController.php | 117 ++++++++++++++++++ .../Dashboard/ProjectListExportController.php | 63 ++++++++++ .../Dashboard/ActiveProjectsTableResource.php | 19 +++ 3 files changed, 199 insertions(+) create mode 100644 app/Http/Controllers/V2/Dashboard/ActiveProjectsTableController.php create mode 100644 app/Http/Controllers/V2/Dashboard/ProjectListExportController.php create mode 100644 app/Http/Resources/V2/Dashboard/ActiveProjectsTableResource.php diff --git a/app/Http/Controllers/V2/Dashboard/ActiveProjectsTableController.php b/app/Http/Controllers/V2/Dashboard/ActiveProjectsTableController.php new file mode 100644 index 000000000..71436c2f6 --- /dev/null +++ b/app/Http/Controllers/V2/Dashboard/ActiveProjectsTableController.php @@ -0,0 +1,117 @@ +input('per_page', PHP_INT_MAX); + $page = $request->input('page', 1); + + $projects = $this->getAllProjects($request, $perPage, $page); + $count = $this->getQuery($request)->count(); + + return new ActiveProjectsTableResource([ + 'current_page' => $page, + 'data' => $projects, + 'per_page' => $perPage, + 'last_page' => ceil($count / $perPage), + 'total' => $count, + ]); + } + + public function getQuery($request) + { + return TerrafundDashboardQueryHelper::buildQueryFromRequest($request) + ->with('organisation') + ->withCount(['sites', 'nurseries']); + } + + public function getAllProjects($request, $perPage, $page) + { + $query = $this->getQuery($request) + ->skip(($page - 1) * $perPage) + ->take($perPage); + + $projects = $query->get(); + + return $projects->map(function ($project) { + return [ + 'uuid' => $project->uuid, + 'name' => $project->name, + 'organisation' => $project->organisation->name, + 'trees_under_restoration' => $this->treesUnderRestoration($project), + 'jobs_created' => $this->jobsCreated($project), + 'volunteers' => $this->volunteers($project), + 'beneficiaries' => $this->beneficiaries($project), + 'survival_rate' => $project->survival_rate, + 'number_of_sites' => $project->sites_count, + 'number_of_nurseries' => $project->nurseries_count, + 'project_country' => $this->projectCountry($project->country), + 'country_slug' => $project->country, + 'number_of_trees_goal' => $project->trees_grown_goal, + 'date_added' => $project->created_at, + ]; + }); + } + + public function treesUnderRestoration($project) + { + return $project->trees_planted_count; + } + + public function jobsCreated($project) + { + $projectReport = $project->reports() + ->selectRaw('SUM(ft_total) as total_ft, SUM(pt_total) as total_pt') + ->groupBy('project_id') + ->first(); + + if ($projectReport) { + return $projectReport->total_ft + $projectReport->total_pt; + } else { + return 0; + } + } + + public function volunteers($project) + { + $totalVolunteers = $project->reports()->selectRaw('SUM(volunteer_total) as total')->first(); + + return $totalVolunteers ? intval($totalVolunteers->total) : 0; + } + + public function beneficiaries($project) + { + $totalBeneficiaries = $project->reports()->selectRaw('SUM(beneficiaries) as total')->first(); + + return $totalBeneficiaries ? intval($totalBeneficiaries->total) : 0; + } + + public function projectCountry($slug) + { + $countryId = FormOptionList::where('key', 'countries')->value('id'); + + return FormOptionListOption::where('form_option_list_id', $countryId) + ->where('slug', $slug) + ->value('label'); + } + + public function paginate($items, $perPage = 10, $page = null, $options = []) + { + $page = $page ?: (LengthAwarePaginator::resolveCurrentPage() ?: 1); + $items = $items instanceof Collection ? $items : Collection::make($items); + + return new LengthAwarePaginator($items->forPage($page, $perPage), $items->count(), $perPage, $page, $options); + } +} \ No newline at end of file diff --git a/app/Http/Controllers/V2/Dashboard/ProjectListExportController.php b/app/Http/Controllers/V2/Dashboard/ProjectListExportController.php new file mode 100644 index 000000000..9d6d1611e --- /dev/null +++ b/app/Http/Controllers/V2/Dashboard/ProjectListExportController.php @@ -0,0 +1,63 @@ +exportCsv($request); + } + + public function exportCsv($request) + { + $activeProjectsController = new ActiveProjectsTableController(); + $perPage = $request->input('per_page', PHP_INT_MAX); + $page = $request->input('page', 1); + + $projects = $activeProjectsController->getAllProjects($request, $perPage, $page); + + $headers = [ + 'uuid' => 'UUID', + 'name' => 'Project Name', + 'organisation' => 'Organisation', + 'project_country' => 'Country', + 'number_of_trees_goal' => 'No. of Trees Goal', + 'trees_under_restoration' => 'No. of Trees Restored', + 'jobs_created' => 'No. of Jobs Created', + 'date_added' => 'Date Added', + 'number_of_sites' => 'No. of Sites', + 'number_of_nurseries' => 'No. of Nurseries', + ]; + + $filteredProjects = []; + foreach ($projects as $project) { + $filteredProject = []; + foreach ($headers as $key => $label) { + $filteredProject[$key] = $project[$key] ?? ''; + } + $filteredProjects[] = $filteredProject; + } + + $csv = Writer::createFromString(''); + + $csv->insertOne(array_values($headers)); + + foreach ($filteredProjects as $filteredProject) { + $csv->insertOne(array_values($filteredProject)); + } + + $csvContent = $csv->toString(); + + $fileName = 'activeProject.csv'; + + return response($csvContent, 200, [ + 'Content-Type' => 'text/csv', + 'Content-Disposition' => 'attachment; filename="' . $fileName . '"', + ]); + } +} diff --git a/app/Http/Resources/V2/Dashboard/ActiveProjectsTableResource.php b/app/Http/Resources/V2/Dashboard/ActiveProjectsTableResource.php new file mode 100644 index 000000000..5fd0250ac --- /dev/null +++ b/app/Http/Resources/V2/Dashboard/ActiveProjectsTableResource.php @@ -0,0 +1,19 @@ +resource; + } +} From 81495775d8716eb3ef9c5bf53cc4937ed78ce68c Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Tue, 28 May 2024 12:29:05 -0400 Subject: [PATCH 018/164] [TM-626] start up restoration strategies controller --- .../ViewRestorationStrategyController.php | 132 ++++++++++++++++++ .../ViewRestorationStrategyResource.php | 23 +++ 2 files changed, 155 insertions(+) create mode 100644 app/Http/Controllers/V2/Dashboard/ViewRestorationStrategyController.php create mode 100644 app/Http/Resources/V2/Dashboard/ViewRestorationStrategyResource.php diff --git a/app/Http/Controllers/V2/Dashboard/ViewRestorationStrategyController.php b/app/Http/Controllers/V2/Dashboard/ViewRestorationStrategyController.php new file mode 100644 index 000000000..40aac1fca --- /dev/null +++ b/app/Http/Controllers/V2/Dashboard/ViewRestorationStrategyController.php @@ -0,0 +1,132 @@ +buildProjectQuery($request); + + $projectIds = $query->pluck('v2_projects.id')->toArray(); + + $restorationStrategy = $this->getRestorationStrategy($projectIds); + + $landUseType = $this->getLandUseType($projectIds); + + $landTenures = $this->getLandTenures($projectIds); + + $result = [ + 'restorationStrategies' => $this->getResultArray($restorationStrategy, 'strategy'), + 'landUseTypes' => $this->getResultArray($landUseType, 'land_use'), + 'landTenures' => $this->getResultArray($landTenures, 'land_tenure'), + ]; + + return new JsonResponse(ViewRestorationStrategyResource::make($result)); + } + + private function buildProjectQuery(Request $request) + { + + $query = TerrafundDashboardQueryHelper::buildQueryFromRequest($request); + + return $query; + } + + private function getRestorationStrategy(array $projectIds) + { + $strategies = ['direct-seeding', 'tree-planting', 'assisted-natural-regeneration']; + + $conditions = implode(' OR ', array_map(function ($strategy) { + return "JSON_UNQUOTE(JSON_EXTRACT(restoration_strategy, CONCAT('\$[', numbers.n, ']'))) = '$strategy'"; + }, $strategies)); + + $numbers = implode(' UNION ALL ', array_map(function ($n) { + return "SELECT $n AS n"; + }, range(0, 3))); + + return DB::table(DB::raw("(SELECT DISTINCT + project_id, + JSON_UNQUOTE(JSON_EXTRACT(restoration_strategy, CONCAT('\$[', numbers.n, ']'))) AS strategy + FROM + v2_sites + CROSS JOIN + ($numbers) numbers + WHERE + project_id IN (" . implode(',', $projectIds) . ") + AND ($conditions) + ) AS subquery")) + ->groupBy('strategy') + ->select('strategy', DB::raw('COUNT(*) as count_per_project')) + ->get(); + } + + private function getLandUseType(array $projectIds) + { + $landUseTypes = ['agroforest', 'open-natural-ecosystem', 'mangrove', 'natural-forest', 'peatland', 'riparian-area-or-wetland', 'silvopasture', 'urban-forest', 'woodlot-or-plantation']; + + $conditions = implode(' OR ', array_map(function ($type) { + return "JSON_UNQUOTE(JSON_EXTRACT(v2_sites.land_use_types, CONCAT('\$[', numbers.n, ']'))) = '$type'"; + }, $landUseTypes)); + + $numbers = implode(' UNION ALL ', array_map(function ($n) { + return "SELECT $n AS n"; + }, range(0, 4))); + + return Site::select('land_use', DB::raw('COUNT(DISTINCT v2_sites.project_id) as count_per_project')) + ->join(DB::raw("(SELECT project_id, + JSON_UNQUOTE(JSON_EXTRACT(land_use_types, CONCAT('\$[', numbers.n, ']'))) AS land_use + FROM v2_sites + CROSS JOIN + ($numbers) numbers + WHERE + v2_sites.project_id IN (" . implode(',', $projectIds) . ") + AND ($conditions) + ) AS subquery"), function ($join) { + $join->on('v2_sites.project_id', '=', 'subquery.project_id'); + }) + ->groupBy('land_use') + ->get(); + } + + private function getLandTenures(array $projectIds) + { + $landTenures = ['private', 'public', 'indigenous', 'other', 'national_protected_area', 'communal']; + + $conditions = implode(' OR ', array_map(function ($type) { + return "JSON_UNQUOTE(JSON_EXTRACT(v2_sites.land_tenures, CONCAT('\$[', numbers.n, ']'))) = '$type'"; + }, $landTenures)); + + $numbers = implode(' UNION ALL ', array_map(function ($n) { + return "SELECT $n AS n"; + }, range(0, 4))); + + return Site::select('land_tenure', DB::raw('COUNT(DISTINCT v2_sites.project_id) as count_per_project')) + ->join(DB::raw("(SELECT project_id, + JSON_UNQUOTE(JSON_EXTRACT(land_tenures, CONCAT('\$[', numbers.n, ']'))) AS land_tenure + FROM v2_sites + CROSS JOIN + ($numbers) numbers + WHERE + v2_sites.project_id IN (" . implode(',', $projectIds) . ") + AND ($conditions) + ) AS subquery"), function ($join) { + $join->on('v2_sites.project_id', '=', 'subquery.project_id'); + }) + ->groupBy('land_tenure') + ->get(); + } + + private function getResultArray($data, $key) + { + return collect($data)->pluck('count_per_project', $key)->toArray(); + } +} \ No newline at end of file diff --git a/app/Http/Resources/V2/Dashboard/ViewRestorationStrategyResource.php b/app/Http/Resources/V2/Dashboard/ViewRestorationStrategyResource.php new file mode 100644 index 000000000..50e5d58b0 --- /dev/null +++ b/app/Http/Resources/V2/Dashboard/ViewRestorationStrategyResource.php @@ -0,0 +1,23 @@ + $this->resource['restorationStrategies'] ?? null, + 'landUseTypes' => $this->resource['landUseTypes'] ?? null, + 'landTenures' => $this->resource['landTenures'] ?? null, + ]; + } +} From fc38a1a514b9291584391b7b13b21507ad3e74c2 Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Tue, 28 May 2024 12:30:17 -0400 Subject: [PATCH 019/164] [TM-617] start up tree restoration goal controller --- .../ViewTreeRestorationGoalController.php | 182 ++++++++++++++++++ .../ViewTreeRestorationGoalResource.php | 29 +++ routes/api_v2.php | 6 + 3 files changed, 217 insertions(+) create mode 100644 app/Http/Controllers/V2/Dashboard/ViewTreeRestorationGoalController.php create mode 100644 app/Http/Resources/V2/Dashboard/ViewTreeRestorationGoalResource.php diff --git a/app/Http/Controllers/V2/Dashboard/ViewTreeRestorationGoalController.php b/app/Http/Controllers/V2/Dashboard/ViewTreeRestorationGoalController.php new file mode 100644 index 000000000..aaaa4f921 --- /dev/null +++ b/app/Http/Controllers/V2/Dashboard/ViewTreeRestorationGoalController.php @@ -0,0 +1,182 @@ +prepareProjectQuery($request); + $rawProjectIds = $this->getRawProjectIds($query); + $allProjectIds = $this->getAllProjectIds($rawProjectIds); + $siteIds = $this->getSiteIds($allProjectIds); + $distinctDates = $this->getDistinctDates($siteIds); + $latestDueDate = $this->getLatestDueDate($distinctDates); + + $forProfitProjectIds = $this->filterProjectIdsByType($rawProjectIds, 'for-profit-organization'); + $nonProfitProjectIds = $this->filterProjectIdsByType($rawProjectIds, 'non-profit-organization'); + $forProfitSiteIds = $this->getSiteIds($forProfitProjectIds); + $nonProfitSiteIds = $this->getSiteIds($nonProfitProjectIds); + + $forProfitTreeCount = $this->treeCountByDueDate($forProfitProjectIds); + $nonProfitTreeCount = $this->treeCountByDueDate($nonProfitProjectIds); + + $totalTreesGrownGoal = $query->sum('trees_grown_goal'); + + $treesUnderRestorationActualTotal = $this->treeCountPerPeriod($siteIds, $distinctDates, $totalTreesGrownGoal); + $treesUnderRestorationActualForProfit = $this->treeCountPerPeriod($forProfitSiteIds, $distinctDates, $totalTreesGrownGoal); + $treesUnderRestorationActualNonProfit = $this->treeCountPerPeriod($nonProfitSiteIds, $distinctDates, $totalTreesGrownGoal); + + $averageSurvivalRateTotal = $this->getAverageSurvival($allProjectIds); + $averageSurvivalRateForProfit = $this->getAverageSurvival($forProfitProjectIds); + $averageSurvivalRateNonProfit = $this->getAverageSurvival($nonProfitProjectIds); + + $result = [ + 'forProfitTreeCount' => (int) $forProfitTreeCount, + 'nonProfitTreeCount' => (int) $nonProfitTreeCount, + 'totalTreesGrownGoal' => (int) $totalTreesGrownGoal, + 'treesUnderRestorationActualTotal' => $treesUnderRestorationActualTotal, + 'treesUnderRestorationActualForProfit' => $treesUnderRestorationActualForProfit, + 'treesUnderRestorationActualNonProfit' => $treesUnderRestorationActualNonProfit, + 'averageSurvivalRateTotal' => floatval($averageSurvivalRateTotal), + 'averageSurvivalRateForProfit' => floatval($averageSurvivalRateForProfit), + 'averageSurvivalRateNonProfit' => floatval($averageSurvivalRateNonProfit), + ]; + + return new JsonResponse(ViewTreeRestorationGoalResource::make($result)); + } + + private function prepareProjectQuery(Request $request) + { + + $query = TerrafundDashboardQueryHelper::buildQueryFromRequest($request); + + return $query; + } + + private function getRawProjectIds($query) + { + return $query + ->join('organisations', 'v2_projects.organisation_id', '=', 'organisations.id') + ->select('v2_projects.id', 'organisations.type') + ->get(); + } + + private function getAllProjectIds($projectIds) + { + return $projectIds->pluck('id')->toArray(); + } + + private function getSiteIds($projectIds) + { + return Site::whereIn('project_id', $projectIds)->where('status', EntityStatusStateMachine::APPROVED)->pluck('id'); + } + + private function getDistinctDates($siteIds) + { + return SiteReport::selectRaw('YEAR(due_at) as year, MONTH(due_at) as month') + ->whereNotNull('due_at') + ->whereIn('site_id', $siteIds) + ->groupBy('year', 'month') + ->get() + ->toArray(); + } + + private function filterProjectIdsByType($projectIds, $type) + { + return collect($projectIds)->filter(function ($row) use ($type) { + return $row->type === $type; + })->pluck('id')->toArray(); + } + + private function treeCountByDueDate(array $projectIds) + { + $projects = Project::whereIn('id', $projectIds)->get(); + + return $projects->sum(function ($project) { + return $project->trees_planted_count; + }); + } + + private function treeCountPerPeriod($siteIds, $distinctDates, $totalTreesGrownGoal) + { + $treesUnderRestorationActual = []; + $totalAmount = 0; + + foreach ($distinctDates as $date) { + $year = $date['year']; + $month = $date['month']; + $treeSpeciesAmount = 0; + + $reports = SiteReport::whereIn('site_id', $siteIds) + ->whereNotIn('v2_site_reports.status', SiteReport::UNSUBMITTED_STATUSES) + ->whereYear('v2_site_reports.due_at', $year) + ->whereMonth('v2_site_reports.due_at', $month) + ->get(); + + foreach ($reports as $report) { + $treeSpeciesAmount += $report->treeSpecies()->where('collection', TreeSpecies::COLLECTION_PLANTED)->sum('amount'); + } + + $totalAmount = $totalTreesGrownGoal; + + $formattedDate = Carbon::create($year, $month, 1); + + $treesUnderRestorationActual[] = [ + 'dueDate' => $formattedDate, + 'treeSpeciesAmount' => (int) $treeSpeciesAmount, + 'treeSpeciesPercentage' => 0, + ]; + } + + foreach ($treesUnderRestorationActual as &$treeData) { + $percentage = ($totalAmount != 0) ? ($treeData['treeSpeciesAmount'] / $totalAmount) * 100 : 0; + $treeData['treeSpeciesPercentage'] = floatval(number_format($percentage, 3)); + } + + return $treesUnderRestorationActual; + } + + private function getLatestDueDate($distinctDates) + { + $latestYear = 0; + $latestMonth = 0; + + foreach ($distinctDates as $entry) { + $year = $entry['year']; + $month = $entry['month']; + + if ($year > $latestYear || ($year == $latestYear && $month > $latestMonth)) { + $latestYear = $year; + $latestMonth = $month; + } + } + + $latestDate = [ + 'year' => $latestYear, + 'month' => $latestMonth, + ]; + + return $latestDate; + } + + private function getAverageSurvival(array $projectIds) + { + $averageSurvivalRate = ProjectReport::whereIn('project_id', $projectIds)->avg('pct_survival_to_date'); + + return $averageSurvivalRate; + } +} diff --git a/app/Http/Resources/V2/Dashboard/ViewTreeRestorationGoalResource.php b/app/Http/Resources/V2/Dashboard/ViewTreeRestorationGoalResource.php new file mode 100644 index 000000000..19ec215e2 --- /dev/null +++ b/app/Http/Resources/V2/Dashboard/ViewTreeRestorationGoalResource.php @@ -0,0 +1,29 @@ + (int) $this->resource['forProfitTreeCount'], + 'nonProfitTreeCount' => (int) $this->resource['nonProfitTreeCount'], + 'totalTreesGrownGoal' => (int) $this->resource['totalTreesGrownGoal'], + 'treesUnderRestorationActualTotal' => $this->resource['treesUnderRestorationActualTotal'], + 'treesUnderRestorationActualForProfit' => $this->resource['treesUnderRestorationActualForProfit'], + 'treesUnderRestorationActualNonProfit' => $this->resource['treesUnderRestorationActualNonProfit'], + 'averageSurvivalRateTotal' => floatval($this->resource['averageSurvivalRateTotal']), + 'averageSurvivalRateForProfit' => floatval($this->resource['averageSurvivalRateForProfit']), + 'averageSurvivalRateNonProfit' => floatval($this->resource['averageSurvivalRateNonProfit']), + ]; + } +} \ No newline at end of file diff --git a/routes/api_v2.php b/routes/api_v2.php index 194f7197e..acfb65c66 100644 --- a/routes/api_v2.php +++ b/routes/api_v2.php @@ -16,6 +16,9 @@ use App\Http\Controllers\V2\CoreTeamLeader\StoreCoreTeamLeaderController; use App\Http\Controllers\V2\CoreTeamLeader\UpdateCoreTeamLeaderController; use App\Http\Controllers\V2\Dashboard\GetJobsCreatedController; +use App\Http\Controllers\V2\Dashboard\ProjectListExportController; +use App\Http\Controllers\V2\Dashboard\ViewRestorationStrategyController; +use App\Http\Controllers\V2\Dashboard\ViewTreeRestorationGoalController; use App\Http\Controllers\V2\Disturbances\DeleteDisturbanceController; use App\Http\Controllers\V2\Disturbances\GetDisturbancesForEntityController; use App\Http\Controllers\V2\Disturbances\StoreDisturbanceController; @@ -652,5 +655,8 @@ function () { //Route::delete('file/{uuid}', [FilePropertiesController::class, 'destroy']); Route::prefix('dashboard')->group(function () { + Route::get('/restoration-strategy', ViewRestorationStrategyController::class); Route::get('/jobs-created', GetJobsCreatedController::class); + Route::get('/tree-restoration-goal', ViewTreeRestorationGoalController::class); + Route::get('/project-list-export', ProjectListExportController::class); }); From 46b60351df0912d8c07b74a26f4f420a44b222b9 Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Tue, 28 May 2024 12:31:44 -0400 Subject: [PATCH 020/164] fix lint --- .../Controllers/V2/Dashboard/ActiveProjectsTableController.php | 2 +- .../V2/Dashboard/ViewRestorationStrategyController.php | 2 +- .../Resources/V2/Dashboard/ViewTreeRestorationGoalResource.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/V2/Dashboard/ActiveProjectsTableController.php b/app/Http/Controllers/V2/Dashboard/ActiveProjectsTableController.php index 71436c2f6..c38249bfe 100644 --- a/app/Http/Controllers/V2/Dashboard/ActiveProjectsTableController.php +++ b/app/Http/Controllers/V2/Dashboard/ActiveProjectsTableController.php @@ -114,4 +114,4 @@ public function paginate($items, $perPage = 10, $page = null, $options = []) return new LengthAwarePaginator($items->forPage($page, $perPage), $items->count(), $perPage, $page, $options); } -} \ No newline at end of file +} diff --git a/app/Http/Controllers/V2/Dashboard/ViewRestorationStrategyController.php b/app/Http/Controllers/V2/Dashboard/ViewRestorationStrategyController.php index 40aac1fca..32ca7ce77 100644 --- a/app/Http/Controllers/V2/Dashboard/ViewRestorationStrategyController.php +++ b/app/Http/Controllers/V2/Dashboard/ViewRestorationStrategyController.php @@ -129,4 +129,4 @@ private function getResultArray($data, $key) { return collect($data)->pluck('count_per_project', $key)->toArray(); } -} \ No newline at end of file +} diff --git a/app/Http/Resources/V2/Dashboard/ViewTreeRestorationGoalResource.php b/app/Http/Resources/V2/Dashboard/ViewTreeRestorationGoalResource.php index 19ec215e2..bf4af65ae 100644 --- a/app/Http/Resources/V2/Dashboard/ViewTreeRestorationGoalResource.php +++ b/app/Http/Resources/V2/Dashboard/ViewTreeRestorationGoalResource.php @@ -26,4 +26,4 @@ public function toArray($request) 'averageSurvivalRateNonProfit' => floatval($this->resource['averageSurvivalRateNonProfit']), ]; } -} \ No newline at end of file +} From 9b7c14fd515099bca0d8f57d795d36af22c0a11d Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Tue, 28 May 2024 14:44:40 -0400 Subject: [PATCH 021/164] [TM-621] add definition for jobs created controller --- .../definitions/DashboardJobsCreatedData.yml | 36 +++++ .../DashboardJobsCreatedResponse.yml | 4 + openapi-src/V2/definitions/_index.yml | 4 + .../get-v2-dashboard-jobs-created.yml | 22 +++ openapi-src/V2/paths/_index.yml | 3 + resources/docs/swagger-v2.yml | 139 ++++++++++++++++++ 6 files changed, 208 insertions(+) create mode 100644 openapi-src/V2/definitions/DashboardJobsCreatedData.yml create mode 100644 openapi-src/V2/definitions/DashboardJobsCreatedResponse.yml create mode 100644 openapi-src/V2/paths/Dashboard/get-v2-dashboard-jobs-created.yml diff --git a/openapi-src/V2/definitions/DashboardJobsCreatedData.yml b/openapi-src/V2/definitions/DashboardJobsCreatedData.yml new file mode 100644 index 000000000..01fcdf9f7 --- /dev/null +++ b/openapi-src/V2/definitions/DashboardJobsCreatedData.yml @@ -0,0 +1,36 @@ +type: object +properties: + totalJobsCreated: + type: integer + forProfitJobsCreated: + type: integer + nonProfitJobsCreated: + type: integer + total_ft: + type: integer + total_pt: + type: integer + total_men: + type: integer + total_pt_men: + type: integer + total_ft_men: + type: integer + total_women: + type: integer + total_pt_women: + type: integer + total_ft_women: + type: integer + total_youth: + type: integer + total_pt_youth: + type: integer + total_ft_youth: + type: integer + total_non_youth: + type: integer + total_pt_non_youth: + type: integer + total_ft_non_youth: + type: integer \ No newline at end of file diff --git a/openapi-src/V2/definitions/DashboardJobsCreatedResponse.yml b/openapi-src/V2/definitions/DashboardJobsCreatedResponse.yml new file mode 100644 index 000000000..871e86211 --- /dev/null +++ b/openapi-src/V2/definitions/DashboardJobsCreatedResponse.yml @@ -0,0 +1,4 @@ +type: object +properties: + data: + $ref: './_index.yml#/DashboardJobsCreatedData' \ No newline at end of file diff --git a/openapi-src/V2/definitions/_index.yml b/openapi-src/V2/definitions/_index.yml index fcff7d24b..330ba1260 100644 --- a/openapi-src/V2/definitions/_index.yml +++ b/openapi-src/V2/definitions/_index.yml @@ -276,3 +276,7 @@ GeoJSON: $ref: './GeoJSON.yml' SiteGeometryPost: $ref: './SiteGeometryPost.yml' +DashboardJobsCreatedResponse: + $ref: './DashboardJobsCreatedResponse.yml' +DashboardJobsCreatedData: + $ref: './DashboardJobsCreatedData.yml' diff --git a/openapi-src/V2/paths/Dashboard/get-v2-dashboard-jobs-created.yml b/openapi-src/V2/paths/Dashboard/get-v2-dashboard-jobs-created.yml new file mode 100644 index 000000000..31cf88f42 --- /dev/null +++ b/openapi-src/V2/paths/Dashboard/get-v2-dashboard-jobs-created.yml @@ -0,0 +1,22 @@ +operationId: get-v2-jobs-created.yml +summary: view Jobs created for dashboard +parameters: + - in: query + name: country + type: string + description: Optional. Filter counts and metrics by country. + - in: query + name: uuid + type: string + description: Optional. Filter counts and metrics by UUID. +responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '../../definitions/_index.yml#/DashboardJobsCreatedResponse' + '400': + description: Bad request + '500': + description: Internal server error \ No newline at end of file diff --git a/openapi-src/V2/paths/_index.yml b/openapi-src/V2/paths/_index.yml index e1e615422..df4d71557 100644 --- a/openapi-src/V2/paths/_index.yml +++ b/openapi-src/V2/paths/_index.yml @@ -2523,3 +2523,6 @@ /v2/geometry/{UUID}: put: $ref: './Geometry/put-v2-geometry-uuid.yml' +/v2/dashboard/jobs-created: + get: + $ref: './Dashboard/get-v2-dashboard-jobs-created.yml' \ No newline at end of file diff --git a/resources/docs/swagger-v2.yml b/resources/docs/swagger-v2.yml index aa91d215f..336cd3739 100644 --- a/resources/docs/swagger-v2.yml +++ b/resources/docs/swagger-v2.yml @@ -44062,6 +44062,83 @@ definitions: message: type: string description: Human readable string in English to describe the error. + DashboardJobsCreatedResponse: + type: object + properties: + data: + type: object + properties: + totalJobsCreated: + type: integer + forProfitJobsCreated: + type: integer + nonProfitJobsCreated: + type: integer + total_ft: + type: integer + total_pt: + type: integer + total_men: + type: integer + total_pt_men: + type: integer + total_ft_men: + type: integer + total_women: + type: integer + total_pt_women: + type: integer + total_ft_women: + type: integer + total_youth: + type: integer + total_pt_youth: + type: integer + total_ft_youth: + type: integer + total_non_youth: + type: integer + total_pt_non_youth: + type: integer + total_ft_non_youth: + type: integer + DashboardJobsCreatedData: + type: object + properties: + totalJobsCreated: + type: integer + forProfitJobsCreated: + type: integer + nonProfitJobsCreated: + type: integer + total_ft: + type: integer + total_pt: + type: integer + total_men: + type: integer + total_pt_men: + type: integer + total_ft_men: + type: integer + total_women: + type: integer + total_pt_women: + type: integer + total_ft_women: + type: integer + total_youth: + type: integer + total_pt_youth: + type: integer + total_ft_youth: + type: integer + total_non_youth: + type: integer + total_pt_non_youth: + type: integer + total_ft_non_youth: + type: integer paths: '/v2/tree-species/{entity}/{UUID}': get: @@ -93944,3 +94021,65 @@ paths: description: This account does not have permission to update the polygon. '404': description: Geometry was not found. + /v2/dashboard/jobs-created: + get: + operationId: get-v2-jobs-created.yml + summary: view Jobs created for dashboard + parameters: + - in: query + name: country + type: string + description: Optional. Filter counts and metrics by country. + - in: query + name: uuid + type: string + description: Optional. Filter counts and metrics by UUID. + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + totalJobsCreated: + type: integer + forProfitJobsCreated: + type: integer + nonProfitJobsCreated: + type: integer + total_ft: + type: integer + total_pt: + type: integer + total_men: + type: integer + total_pt_men: + type: integer + total_ft_men: + type: integer + total_women: + type: integer + total_pt_women: + type: integer + total_ft_women: + type: integer + total_youth: + type: integer + total_pt_youth: + type: integer + total_ft_youth: + type: integer + total_non_youth: + type: integer + total_pt_non_youth: + type: integer + total_ft_non_youth: + type: integer + '400': + description: Bad request + '500': + description: Internal server error From 0df4d69b0ced4680dd8bf372073cd173701ba4a3 Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Tue, 28 May 2024 14:59:57 -0400 Subject: [PATCH 022/164] [TM-626] add definition for restoration strategies controller --- .../DashboardRestorationStrategyResponse.yml | 47 +++++++ openapi-src/V2/definitions/_index.yml | 2 + .../get-v2-dashboard-restoration-strategy.yml | 21 ++++ openapi-src/V2/paths/_index.yml | 5 +- resources/docs/swagger-v2.yml | 117 ++++++++++++++++++ 5 files changed, 191 insertions(+), 1 deletion(-) create mode 100644 openapi-src/V2/definitions/DashboardRestorationStrategyResponse.yml create mode 100644 openapi-src/V2/paths/Dashboard/get-v2-dashboard-restoration-strategy.yml diff --git a/openapi-src/V2/definitions/DashboardRestorationStrategyResponse.yml b/openapi-src/V2/definitions/DashboardRestorationStrategyResponse.yml new file mode 100644 index 000000000..faa59812d --- /dev/null +++ b/openapi-src/V2/definitions/DashboardRestorationStrategyResponse.yml @@ -0,0 +1,47 @@ +type: object +properties: + restorationStrategies: + type: object + properties: + direct-seeding: + type: integer + tree-planting: + type: integer + assisted-natural-regeneration: + type: integer + landUseTypes: + type: object + properties: + agroforest: + type: integer + open-natural-ecosystem: + type: integer + mangrove: + type: integer + natural-forest: + type: integer + peatland: + type: integer + riparian-area-or-wetland: + type: integer + silvopasture: + type: integer + urban-forest: + type: integer + woodlot-or-plantation: + type: integer + landTenures: + type: object + properties: + communal: + type: integer + indigenous: + type: integer + national_protected_area: + type: integer + other: + type: integer + private: + type: integer + public: + type: integer \ No newline at end of file diff --git a/openapi-src/V2/definitions/_index.yml b/openapi-src/V2/definitions/_index.yml index 330ba1260..6375c1e7b 100644 --- a/openapi-src/V2/definitions/_index.yml +++ b/openapi-src/V2/definitions/_index.yml @@ -280,3 +280,5 @@ DashboardJobsCreatedResponse: $ref: './DashboardJobsCreatedResponse.yml' DashboardJobsCreatedData: $ref: './DashboardJobsCreatedData.yml' +DashboardRestorationStrategyResponse: + $ref: './DashboardRestorationStrategyResponse.yml' \ No newline at end of file diff --git a/openapi-src/V2/paths/Dashboard/get-v2-dashboard-restoration-strategy.yml b/openapi-src/V2/paths/Dashboard/get-v2-dashboard-restoration-strategy.yml new file mode 100644 index 000000000..711bcf3c9 --- /dev/null +++ b/openapi-src/V2/paths/Dashboard/get-v2-dashboard-restoration-strategy.yml @@ -0,0 +1,21 @@ +summary: View Restoration Strategy for dashboard +parameters: + - in: query + name: country + type: string + description: Optional. Filter restoration strategy by country. + - in: query + name: uuid + type: string + description: Optional. Filter restoration strategy by UUID. +responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '../../definitions/_index.yml#/DashboardRestorationStrategyResponse' + '400': + description: Bad request + '500': + description: Internal server error \ No newline at end of file diff --git a/openapi-src/V2/paths/_index.yml b/openapi-src/V2/paths/_index.yml index df4d71557..86f32c1ba 100644 --- a/openapi-src/V2/paths/_index.yml +++ b/openapi-src/V2/paths/_index.yml @@ -2525,4 +2525,7 @@ $ref: './Geometry/put-v2-geometry-uuid.yml' /v2/dashboard/jobs-created: get: - $ref: './Dashboard/get-v2-dashboard-jobs-created.yml' \ No newline at end of file + $ref: './Dashboard/get-v2-dashboard-jobs-created.yml' +'/v2/dashboard/restoration-strategy': + get: + $ref: './Dashboard/get-v2-dashboard-restoration-strategy.yml' \ No newline at end of file diff --git a/resources/docs/swagger-v2.yml b/resources/docs/swagger-v2.yml index 336cd3739..98276a063 100644 --- a/resources/docs/swagger-v2.yml +++ b/resources/docs/swagger-v2.yml @@ -44139,6 +44139,54 @@ definitions: type: integer total_ft_non_youth: type: integer + DashboardRestorationStrategyResponse: + type: object + properties: + restorationStrategies: + type: object + properties: + direct-seeding: + type: integer + tree-planting: + type: integer + assisted-natural-regeneration: + type: integer + landUseTypes: + type: object + properties: + agroforest: + type: integer + open-natural-ecosystem: + type: integer + mangrove: + type: integer + natural-forest: + type: integer + peatland: + type: integer + riparian-area-or-wetland: + type: integer + silvopasture: + type: integer + urban-forest: + type: integer + woodlot-or-plantation: + type: integer + landTenures: + type: object + properties: + communal: + type: integer + indigenous: + type: integer + national_protected_area: + type: integer + other: + type: integer + private: + type: integer + public: + type: integer paths: '/v2/tree-species/{entity}/{UUID}': get: @@ -94083,3 +94131,72 @@ paths: description: Bad request '500': description: Internal server error + /v2/dashboard/restoration-strategy: + get: + summary: View Restoration Strategy for dashboard + parameters: + - in: query + name: country + type: string + description: Optional. Filter restoration strategy by country. + - in: query + name: uuid + type: string + description: Optional. Filter restoration strategy by UUID. + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + properties: + restorationStrategies: + type: object + properties: + direct-seeding: + type: integer + tree-planting: + type: integer + assisted-natural-regeneration: + type: integer + landUseTypes: + type: object + properties: + agroforest: + type: integer + open-natural-ecosystem: + type: integer + mangrove: + type: integer + natural-forest: + type: integer + peatland: + type: integer + riparian-area-or-wetland: + type: integer + silvopasture: + type: integer + urban-forest: + type: integer + woodlot-or-plantation: + type: integer + landTenures: + type: object + properties: + communal: + type: integer + indigenous: + type: integer + national_protected_area: + type: integer + other: + type: integer + private: + type: integer + public: + type: integer + '400': + description: Bad request + '500': + description: Internal server error From e6d78895d4adf8da53e042d83effced4db4ecab3 Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Tue, 28 May 2024 15:09:18 -0400 Subject: [PATCH 023/164] [TM-617] add definition for tree restoartion goal controller --- .../DashboardTreeRestorationGoalResponse.yml | 26 ++++ .../DashboardTreesUnderRestorationActual.yml | 9 ++ openapi-src/V2/definitions/_index.yml | 6 +- ...get-v2-dashboard-tree-restoration-goal.yml | 21 +++ openapi-src/V2/paths/_index.yml | 5 +- resources/docs/swagger-v2.yml | 133 ++++++++++++++++++ 6 files changed, 198 insertions(+), 2 deletions(-) create mode 100644 openapi-src/V2/definitions/DashboardTreeRestorationGoalResponse.yml create mode 100644 openapi-src/V2/definitions/DashboardTreesUnderRestorationActual.yml create mode 100644 openapi-src/V2/paths/Dashboard/get-v2-dashboard-tree-restoration-goal.yml diff --git a/openapi-src/V2/definitions/DashboardTreeRestorationGoalResponse.yml b/openapi-src/V2/definitions/DashboardTreeRestorationGoalResponse.yml new file mode 100644 index 000000000..1721e0dbc --- /dev/null +++ b/openapi-src/V2/definitions/DashboardTreeRestorationGoalResponse.yml @@ -0,0 +1,26 @@ +type: object +properties: + forProfitTreeCount: + type: integer + nonProfitTreeCount: + type: integer + totalTreesGrownGoal: + type: integer + treesUnderRestorationActualTotal: + type: array + items: + $ref: './_index.yml#/DashboardTreesUnderRestorationActual' + treesUnderRestorationActualForProfit: + type: array + items: + $ref: './_index.yml#/DashboardTreesUnderRestorationActual' + treesUnderRestorationActualNonProfit: + type: array + items: + $ref: './_index.yml#/DashboardTreesUnderRestorationActual' + averageSurvivalRateTotal: + type: number + averageSurvivalRateForProfit: + type: number + averageSurvivalRateNonProfit: + type: number \ No newline at end of file diff --git a/openapi-src/V2/definitions/DashboardTreesUnderRestorationActual.yml b/openapi-src/V2/definitions/DashboardTreesUnderRestorationActual.yml new file mode 100644 index 000000000..8549a3627 --- /dev/null +++ b/openapi-src/V2/definitions/DashboardTreesUnderRestorationActual.yml @@ -0,0 +1,9 @@ +type: object +properties: + dueDate: + type: string + format: date + treeSpeciesAmount: + type: integer + treeSpeciesPercentage: + type: number \ No newline at end of file diff --git a/openapi-src/V2/definitions/_index.yml b/openapi-src/V2/definitions/_index.yml index 6375c1e7b..bc5beab0d 100644 --- a/openapi-src/V2/definitions/_index.yml +++ b/openapi-src/V2/definitions/_index.yml @@ -281,4 +281,8 @@ DashboardJobsCreatedResponse: DashboardJobsCreatedData: $ref: './DashboardJobsCreatedData.yml' DashboardRestorationStrategyResponse: - $ref: './DashboardRestorationStrategyResponse.yml' \ No newline at end of file + $ref: './DashboardRestorationStrategyResponse.yml' +DashboardTreeRestorationGoalResponse: + $ref: './DashboardTreeRestorationGoalResponse.yml' +DashboardTreesUnderRestorationActual: + $ref: './DashboardTreesUnderRestorationActual.yml' \ No newline at end of file diff --git a/openapi-src/V2/paths/Dashboard/get-v2-dashboard-tree-restoration-goal.yml b/openapi-src/V2/paths/Dashboard/get-v2-dashboard-tree-restoration-goal.yml new file mode 100644 index 000000000..c8f1a9d8c --- /dev/null +++ b/openapi-src/V2/paths/Dashboard/get-v2-dashboard-tree-restoration-goal.yml @@ -0,0 +1,21 @@ +summary: View Tree Restoration Goal for dashboard +parameters: + - in: query + name: country + type: string + description: Optional. Filter tree restoration goal by country. + - in: query + name: uuid + type: string + description: Optional. Filter tree restoration goal by UUID. +responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '../../definitions/_index.yml#/DashboardTreeRestorationGoalResponse' + '400': + description: Bad request + '500': + description: Internal server error \ No newline at end of file diff --git a/openapi-src/V2/paths/_index.yml b/openapi-src/V2/paths/_index.yml index 86f32c1ba..93fb1ddd0 100644 --- a/openapi-src/V2/paths/_index.yml +++ b/openapi-src/V2/paths/_index.yml @@ -2528,4 +2528,7 @@ $ref: './Dashboard/get-v2-dashboard-jobs-created.yml' '/v2/dashboard/restoration-strategy': get: - $ref: './Dashboard/get-v2-dashboard-restoration-strategy.yml' \ No newline at end of file + $ref: './Dashboard/get-v2-dashboard-restoration-strategy.yml' +'/v2/dashboard/tree-restoration-goal': + get: + $ref: './Dashboard/get-v2-dashboard-tree-restoration-goal.yml' \ No newline at end of file diff --git a/resources/docs/swagger-v2.yml b/resources/docs/swagger-v2.yml index 98276a063..95d366667 100644 --- a/resources/docs/swagger-v2.yml +++ b/resources/docs/swagger-v2.yml @@ -44187,6 +44187,67 @@ definitions: type: integer public: type: integer + DashboardTreeRestorationGoalResponse: + type: object + properties: + forProfitTreeCount: + type: integer + nonProfitTreeCount: + type: integer + totalTreesGrownGoal: + type: integer + treesUnderRestorationActualTotal: + type: array + items: + type: object + properties: + dueDate: + type: string + format: date + treeSpeciesAmount: + type: integer + treeSpeciesPercentage: + type: number + treesUnderRestorationActualForProfit: + type: array + items: + type: object + properties: + dueDate: + type: string + format: date + treeSpeciesAmount: + type: integer + treeSpeciesPercentage: + type: number + treesUnderRestorationActualNonProfit: + type: array + items: + type: object + properties: + dueDate: + type: string + format: date + treeSpeciesAmount: + type: integer + treeSpeciesPercentage: + type: number + averageSurvivalRateTotal: + type: number + averageSurvivalRateForProfit: + type: number + averageSurvivalRateNonProfit: + type: number + DashboardTreesUnderRestorationActual: + type: object + properties: + dueDate: + type: string + format: date + treeSpeciesAmount: + type: integer + treeSpeciesPercentage: + type: number paths: '/v2/tree-species/{entity}/{UUID}': get: @@ -94200,3 +94261,75 @@ paths: description: Bad request '500': description: Internal server error + /v2/dashboard/tree-restoration-goal: + get: + summary: View Tree Restoration Goal for dashboard + parameters: + - in: query + name: country + type: string + description: Optional. Filter tree restoration goal by country. + - in: query + name: uuid + type: string + description: Optional. Filter tree restoration goal by UUID. + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + properties: + forProfitTreeCount: + type: integer + nonProfitTreeCount: + type: integer + totalTreesGrownGoal: + type: integer + treesUnderRestorationActualTotal: + type: array + items: + type: object + properties: + dueDate: + type: string + format: date + treeSpeciesAmount: + type: integer + treeSpeciesPercentage: + type: number + treesUnderRestorationActualForProfit: + type: array + items: + type: object + properties: + dueDate: + type: string + format: date + treeSpeciesAmount: + type: integer + treeSpeciesPercentage: + type: number + treesUnderRestorationActualNonProfit: + type: array + items: + type: object + properties: + dueDate: + type: string + format: date + treeSpeciesAmount: + type: integer + treeSpeciesPercentage: + type: number + averageSurvivalRateTotal: + type: number + averageSurvivalRateForProfit: + type: number + averageSurvivalRateNonProfit: + type: number + '400': + description: Bad request + '500': + description: Internal server error From 132bf4aeaeec63985b84c084c92fa4a1189573dd Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Tue, 28 May 2024 15:13:56 -0400 Subject: [PATCH 024/164] [TM-658] add definition for project list export controller --- .../get-v2-dashboard-project-list-export.yml | 10 ++++++++++ openapi-src/V2/paths/_index.yml | 5 ++++- resources/docs/swagger-v2.yml | 12 ++++++++++++ 3 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 openapi-src/V2/paths/Dashboard/get-v2-dashboard-project-list-export.yml diff --git a/openapi-src/V2/paths/Dashboard/get-v2-dashboard-project-list-export.yml b/openapi-src/V2/paths/Dashboard/get-v2-dashboard-project-list-export.yml new file mode 100644 index 000000000..e954d9cd7 --- /dev/null +++ b/openapi-src/V2/paths/Dashboard/get-v2-dashboard-project-list-export.yml @@ -0,0 +1,10 @@ +summary: Export CSV document of active projects +tags: + - Export +produces: + - text/plain +responses: + '200': + description: OK + schema: + type: file \ No newline at end of file diff --git a/openapi-src/V2/paths/_index.yml b/openapi-src/V2/paths/_index.yml index 93fb1ddd0..f4ab06285 100644 --- a/openapi-src/V2/paths/_index.yml +++ b/openapi-src/V2/paths/_index.yml @@ -2531,4 +2531,7 @@ $ref: './Dashboard/get-v2-dashboard-restoration-strategy.yml' '/v2/dashboard/tree-restoration-goal': get: - $ref: './Dashboard/get-v2-dashboard-tree-restoration-goal.yml' \ No newline at end of file + $ref: './Dashboard/get-v2-dashboard-tree-restoration-goal.yml' +'/v2/dashboard/project-list-export': + get: + $ref: './Dashboard/get-v2-dashboard-project-list-export.yml' \ No newline at end of file diff --git a/resources/docs/swagger-v2.yml b/resources/docs/swagger-v2.yml index 95d366667..9195ba99d 100644 --- a/resources/docs/swagger-v2.yml +++ b/resources/docs/swagger-v2.yml @@ -94333,3 +94333,15 @@ paths: description: Bad request '500': description: Internal server error + /v2/dashboard/project-list-export: + get: + summary: Export CSV document of active projects + tags: + - Export + produces: + - text/plain + responses: + '200': + description: OK + schema: + type: file From abf1cb9c05eff08340dc0ef06ab4decec3b1acb2 Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Tue, 28 May 2024 16:02:33 -0700 Subject: [PATCH 025/164] [TM-882] Build a script for bulk importing workday data from a CSV. --- app/Console/Commands/BulkWorkdayImport.php | 272 +++++++++++++++++++++ 1 file changed, 272 insertions(+) create mode 100644 app/Console/Commands/BulkWorkdayImport.php diff --git a/app/Console/Commands/BulkWorkdayImport.php b/app/Console/Commands/BulkWorkdayImport.php new file mode 100644 index 000000000..910c65461 --- /dev/null +++ b/app/Console/Commands/BulkWorkdayImport.php @@ -0,0 +1,272 @@ + [ + 'Paid_site_establishment' => Workday::COLLECTION_SITE_PAID_SITE_ESTABLISHMENT, + 'Vol_site_establishment' => Workday::COLLECTION_SITE_VOLUNTEER_SITE_ESTABLISHMENT, + 'Paid_planting' => Workday::COLLECTION_SITE_PAID_PLANTING, + 'Vol_planting' => Workday::COLLECTION_SITE_VOLUNTEER_PLANTING, + 'Paid_monitoring' => Workday::COLLECTION_SITE_PAID_SITE_MONITORING, + 'Vol_monitoring' => Workday::COLLECTION_SITE_VOLUNTEER_SITE_MONITORING, + 'Paid_maintenance' => Workday::COLLECTION_SITE_PAID_SITE_MAINTENANCE, + 'Vol_maintenance' => Workday::COLLECTION_SITE_VOLUNTEER_SITE_MAINTENANCE, + 'Paid_other' => Workday::COLLECTION_SITE_PAID_OTHER, + 'Vol_other' => Workday::COLLECTION_SITE_VOLUNTEER_OTHER, + ], + + 'projects' => [ + 'Paid_project_management' => Workday::COLLECTION_PROJECT_PAID_PROJECT_MANAGEMENT, + 'Vol_project_management' => Workday::COLLECTION_PROJECT_VOLUNTEER_PROJECT_MANAGEMENT, + 'Paid_nursery_operations' => Workday::COLLECTION_PROJECT_PAID_NURSERY_OPERATIONS, + 'Vol_nursery_operations' => Workday::COLLECTION_PROJECT_VOLUNTEER_NURSERY_OPERATIONS, + 'Paid_other' => Workday::COLLECTION_PROJECT_PAID_OTHER, + 'Vol_other' => Workday::COLLECTION_PROJECT_VOLUNTEER_OTHER, + ], + ]; + + protected const MODEL_CONFIGS = [ + 'sites' => [ + 'id' => 'site_id', + 'submission_id' => 'site_submission_id', + 'model' => SiteReport::class, + 'old_model' => SiteSubmission::class, + 'parent' => 'site', + ], + + 'projects' => [ + 'id' => 'project_id', + 'submission_id' => 'programme_submission_id', + 'model' => ProjectReport::class, + 'old_model' => Submission::class, + 'parent' => 'project', + ], + ]; + + protected const DEMOGRAPHICS = [ + 'women' => ['type' => 'gender', 'subtype' => null, 'name' => 'male'], + 'men' => ['type' => 'gender', 'subtype' => null, 'name' => 'female'], + 'non-binary' => ['type' => 'gender', 'subtype' => null, 'name' => 'non-binary'], + 'gender-unknown' => ['type' => 'gender', 'subtype' => null, 'name' => 'unknown'], + + 'youth_15-24' => ['type' => 'age', 'subtype' => null, 'name' => 'youth'], + 'adult_24-64' => ['type' => 'age', 'subtype' => null, 'name' => 'adult'], + 'elder_65+' => ['type' => 'age', 'subtype' => null, 'name' => 'elder'], + 'age-unknown' => ['type' => 'age', 'subtype' => null, 'name' => 'unknown'], + + 'indigenous' => ['type' => 'ethnicity', 'subtype' => 'indigenous', 'name' => null], + 'ethnicity-other' => ['type' => 'ethnicity', 'subtype' => 'other', 'name' => null], + 'ethnicity-unknown' => ['type' => 'ethnicity', 'subtype' => 'unknown', 'name' => null], + ]; + + /** + * Execute the console command. + */ + public function handle() + { + $type = $this->argument('type'); + if (empty(self::COLLECTIONS[$type])) { + $this->abort("Unknown type: $type"); + } + + $file_handle = fopen($this->argument('file'), 'r'); + + $columns = []; + $csvRow = fgetcsv($file_handle); + $idIndex = -1; + $submissionIdIndex = -1; + $modelConfig = self::MODEL_CONFIGS[$type]; + foreach ($csvRow as $index => $header) { + if ($header == $modelConfig['id']) { + $idIndex = $index; + $columns[] = null; + } elseif ($header == $modelConfig['submission_id']) { + $submissionIdIndex = $index; + $columns[] = null; + } else { + $columns[] = $this->getColumnDescription($type, $header); + } + } + + if ($idIndex < 0) { + $this->abort('No ' . $modelConfig['id'] . ' column found'); + } + if ($submissionIdIndex < 0) { + $this->abort('No '. $modelConfig['submission_id'] . ' column found'); + } + + $rows = []; + while ($csvRow = fgetcsv($file_handle)) { + $row = []; + foreach ($csvRow as $index => $cell) { + $column = $columns[$index]; + if (empty($column)) { + continue; + } + + $data = $this->getData($column['collection'], $column['demographic'], $cell); + if (! empty($data)) { + $row[$column['collection']] = array_merge($row[$column['collection']] ?? [], $data); + } + } + + if (empty($row)) { + continue; + } + + $parentId = (int)$csvRow[$idIndex]; + $submissionId = (int)$csvRow[$submissionIdIndex]; + + $report = $modelConfig['model']::where( + ['old_id' => $submissionId, 'old_model' => $modelConfig['old_model']] + )->first(); + if ($report == null || $report->{$modelConfig['parent']}?->ppc_external_id != $parentId) { + $this->abort("Parent / Report ID mismatch: [Parent ID: $parentId, Submission ID: $submissionId]"); + } + + $row['report_uuid'] = $report->uuid; + $rows[] = $row; + } + fclose($file_handle); + + // A separate loop so we can validate as much input as possible before we start persisting any records + foreach ($rows as $reportData) { + $report = $modelConfig['model']::isUuid($reportData['report_uuid'])->first(); + $this->persistWorkdays($report, $reportData); + } + } + + #[NoReturn] + protected function abort(string $message, int $exitCode = 1): void + { + echo $message; + exit($exitCode); + } + + protected function getColumnDescription($type, $header): ?array + { + if (! Str::startsWith($header, ['Paid_', 'Vol_'])) { + return null; + } + + /** @var string $columnTitlePrefix */ + $columnTitlePrefix = collect(self::COLLECTIONS[$type]) + ->keys() + ->first(fn ($key) => Str::startsWith($header, $key)); + $collection = data_get(self::COLLECTIONS, "$type.$columnTitlePrefix"); + if (empty($collection)) { + $this->abort('Unknown collection: ' . $header); + } + + $demographic = data_get(self::DEMOGRAPHICS, Str::substr($header, Str::length($columnTitlePrefix) + 1)); + if (empty($demographic)) { + $this->abort('Unknown demographic: ' . $header); + } + + return ['collection' => $collection, 'demographic' => $demographic]; + } + + protected function getData($collection, $demographic, $cell): array + { + if (empty($cell)) { + return []; + } + + if (empty($demographic['subtype'])) { + if (! is_numeric($cell) || ('' . (int)$cell) != trim($cell)) { + $this->abort('Invalid value: ' . + json_encode([ + 'collection' => $collection, + 'demographic' => $demographic, + 'cell' => $cell, + ])); + } + + $demographic['amount'] = (int)$cell; + + return [$demographic]; + } + + return collect(explode('|', $cell))->map(function ($subCell) use ($demographic, $collection, $cell) { + $parts = explode(':', $subCell); + if (count($parts) != 2 || ! is_numeric($parts[1]) || ('' . (int)$parts[1]) != trim($parts[1])) { + $this->abort('Invalid value: ' . + json_encode([ + 'collection' => $collection, + 'demographic' => $demographic, + 'cell' => $cell, + 'parts' => $parts, + ])); + } + + $demographic['name'] = trim($parts[0]); + $demographic['amount'] = (int)$parts[1]; + + return $demographic; + })->toArray(); + } + + protected function persistWorkdays($report, $data): void + { + $collections = array_merge( + get_class($report)::WORKDAY_COLLECTIONS['paid'], + get_class($report)::WORKDAY_COLLECTIONS['volunteer'], + ); + + $modelDescription = Str::replace('-', ' ', Str::title($report->shortName)) . + ' (old_id=' . $report->old_id . ', uuid=' . $report->uuid . ')'; + echo "Persisting data for $modelDescription\n"; + foreach ($collections as $collection) { + if (empty($data[$collection])) { + continue; + } + + if ($report->workdays()->collection($collection)->count() > 0) { + echo "WARNING!! Report already has demographics recorded for this collection, skipping!\n"; + echo " collection: $collection\n"; + echo ' demographics: ' . json_encode($data[$collection]) . "\n"; + + continue; + } + + echo "Populating collection $collection\n"; + $workday = Workday::create([ + 'workdayable_type' => get_class($report), + 'workdayable_id' => $report->id, + 'collection' => $collection, + ]); + + foreach ($data[$collection] as $demographicData) { + $workday->demographics()->create($demographicData); + } + } + + echo "Persistence complete for $modelDescription\n\n"; + } +} From 56e7bf0828cc1d6f8486cac4a7622aea76508692 Mon Sep 17 00:00:00 2001 From: JORGE Date: Wed, 29 May 2024 09:54:20 -0400 Subject: [PATCH 026/164] [TM-671] return polygons, project and country data --- app/Helpers/GeometryHelper.php | 119 +++++++++ .../V2/Dashboard/CountryDataController.php | 110 ++++++++ .../V2/Dashboard/GetPolygonsController.php | 47 ++++ .../V2/Dashboard/GetPolygonsResource.php | 19 ++ app/Models/V2/Projects/Project.php | 43 ++- app/Models/V2/Sites/SitePolygon.php | 13 +- .../V2/definitions/DashboardBBOXCountry.yml | 4 + .../V2/definitions/DashboardBBOXProject.yml | 4 + .../DashboardGetPolygonStatusResponse.yml | 13 + .../definitions/DashboardGetProjectsData.yml | 12 + .../DashboardGetProjectsResponse.yml | 6 + .../V2/definitions/DashboardPolygonData.yml | 16 ++ openapi-src/V2/definitions/_index.yml | 14 +- .../Dashboard/get-v2-dashboard-country.yml | 16 ++ .../get-v2-dashboard-get-bbox-project.yml | 17 ++ ...get-v2-dashboard-get-polygons-statuses.yml | 19 ++ .../get-v2-dashboard-get-polygons.yml | 19 ++ .../get-v2-dashboard-jobs-created.yml | 1 - .../get-v2-dashboard-polygon-data-uuid.yml | 16 ++ .../get-v2-dashboard-project-data-uuid.yml | 16 ++ openapi-src/V2/paths/_index.yml | 20 +- package.json | 3 +- resources/docs/swagger-v2.yml | 252 +++++++++++++++++- routes/api_v2.php | 8 + 24 files changed, 771 insertions(+), 36 deletions(-) create mode 100644 app/Helpers/GeometryHelper.php create mode 100644 app/Http/Controllers/V2/Dashboard/CountryDataController.php create mode 100644 app/Http/Controllers/V2/Dashboard/GetPolygonsController.php create mode 100644 app/Http/Resources/V2/Dashboard/GetPolygonsResource.php create mode 100644 openapi-src/V2/definitions/DashboardBBOXCountry.yml create mode 100644 openapi-src/V2/definitions/DashboardBBOXProject.yml create mode 100644 openapi-src/V2/definitions/DashboardGetPolygonStatusResponse.yml create mode 100644 openapi-src/V2/definitions/DashboardGetProjectsData.yml create mode 100644 openapi-src/V2/definitions/DashboardGetProjectsResponse.yml create mode 100644 openapi-src/V2/definitions/DashboardPolygonData.yml create mode 100644 openapi-src/V2/paths/Dashboard/get-v2-dashboard-country.yml create mode 100644 openapi-src/V2/paths/Dashboard/get-v2-dashboard-get-bbox-project.yml create mode 100644 openapi-src/V2/paths/Dashboard/get-v2-dashboard-get-polygons-statuses.yml create mode 100644 openapi-src/V2/paths/Dashboard/get-v2-dashboard-get-polygons.yml create mode 100644 openapi-src/V2/paths/Dashboard/get-v2-dashboard-polygon-data-uuid.yml create mode 100644 openapi-src/V2/paths/Dashboard/get-v2-dashboard-project-data-uuid.yml diff --git a/app/Helpers/GeometryHelper.php b/app/Helpers/GeometryHelper.php new file mode 100644 index 000000000..b0ce5cfb8 --- /dev/null +++ b/app/Helpers/GeometryHelper.php @@ -0,0 +1,119 @@ +first(); + + if (! $project) { + return null; + } + + $sitePolygons = $project->sitePolygons; + + if ($sitePolygons->isEmpty()) { + return null; // Return null if no polygons are found for the given projectUuid + } + + $polyIds = $sitePolygons->pluck('poly_id')->toArray(); + + $centroids = PolygonGeometry::selectRaw('ST_AsGeoJSON(ST_Centroid(geom)) AS centroid') + ->whereIn('uuid', $polyIds) + ->get(); + + if ($centroids->isEmpty()) { + return null; // Return null if no centroids are found + } + + $centroidCount = $centroids->count(); + $totalLatitude = 0; + $totalLongitude = 0; + + foreach ($centroids as $centroid) { + $centroidData = json_decode($centroid->centroid, true); + $totalLatitude += $centroidData['coordinates'][1]; + $totalLongitude += $centroidData['coordinates'][0]; + } + + $averageLatitude = $totalLatitude / $centroidCount; + $averageLongitude = $totalLongitude / $centroidCount; + + $centroidOfCentroids = json_encode([ + 'type' => 'Point', + 'coordinates' => [$averageLongitude, $averageLatitude], + ]); + + return $centroidOfCentroids; + } + + public function updateProjectCentroid(string $projectUuid) + { + try { + $centroid = $this->centroidOfProject($projectUuid); + + if ($centroid === null) { + Log::warning("Invalid centroid for projectUuid: $projectUuid"); + } + + $centroidArray = json_decode($centroid, true); + + $latitude = $centroidArray['coordinates'][1]; + $longitude = $centroidArray['coordinates'][0]; + + + Project::where('uuid', $projectUuid) + ->update([ + 'lat' => $latitude, + 'long' => $longitude, + ]); + + + Log::info("Centroid updated for projectUuid: $projectUuid"); + + return 'Centroids updated successfully!'; + } catch (\Exception $e) { + Log::error("Error updating centroid for projectUuid: $projectUuid"); + + return response()->json([ + 'message' => 'Error updating centroid', + 'error' => $e->getMessage(), + ], 500); + } + + } + + public static function getPolygonsBbox($polygonsIds) + { + $envelopes = PolygonGeometry::whereIn('uuid', $polygonsIds) + ->selectRaw('ST_ASGEOJSON(ST_Envelope(geom)) as envelope') + ->get(); + + $maxX = $maxY = PHP_INT_MIN; + $minX = $minY = PHP_INT_MAX; + + foreach ($envelopes as $envelope) { + $geojson = json_decode($envelope->envelope); + $coordinates = $geojson->coordinates[0]; + + foreach ($coordinates as $point) { + $x = $point[0]; + $y = $point[1]; + $maxX = max($maxX, $x); + $minX = min($minX, $x); + $maxY = max($maxY, $y); + $minY = min($minY, $y); + } + } + + $bboxCoordinates = [$minX, $minY, $maxX, $maxY]; + + return $bboxCoordinates; + } +} diff --git a/app/Http/Controllers/V2/Dashboard/CountryDataController.php b/app/Http/Controllers/V2/Dashboard/CountryDataController.php new file mode 100644 index 000000000..a11ec59f6 --- /dev/null +++ b/app/Http/Controllers/V2/Dashboard/CountryDataController.php @@ -0,0 +1,110 @@ +selectRaw('ST_AsGeoJSON(ST_Envelope(geometry)) AS bbox, country') + ->first(); + + if (! $countryData) { + return response()->json(['error' => 'Country not found'], 404); + } + + // Decode the GeoJSON bbox + $geoJson = json_decode($countryData->bbox); + + // Extract the bounding box coordinates + $coordinates = $geoJson->coordinates[0]; + + // Get the country name + $countryName = $countryData->country; + + // Construct the bbox data in the specified format + $countryBbox = [ + $countryName, + [$coordinates[0][0], $coordinates[0][1], $coordinates[2][0], $coordinates[2][1]], + ]; + + return response()->json(['bbox' => $countryBbox]); + } + + public function getPolygonData(string $uuid) + { + $sitePolygon = SitePolygon::where('poly_id', $uuid)->first(); + + if (! $sitePolygon) { + return response()->json(['error' => 'Polygon not found'], 404); + } + + $project = $sitePolygon->project()->first(); + + if (! $project) { + Log::error("Project not found for site polygon with ID: $sitePolygon->id"); + } + + $site = $sitePolygon->site()->first(); + + if(! $site) { + Log::error("Site not found for site polygon with ID: $sitePolygon->id"); + + } + + $data = [ + ['key' => 'poly_name', 'title' => 'title', 'value' => $sitePolygon->poly_name ?? null], + ['key' => 'project_name', 'title' => 'Project', 'value' => $project->name ?? null], + ['key' => 'site_name', 'title' => 'Site', 'value' => $site?->name ?? null], + ['key' => 'num_trees', 'title' => 'Number of trees', 'value' => $sitePolygon->num_trees ?? null], + ['key' => 'plantstart', 'title' => 'Plant Start Date', 'value' => $sitePolygon->plantstart ?? null], + ['key' => 'status', 'title' => 'Status', 'value' => $sitePolygon->status ?? null], + + ]; + + return response()->json(['data' => $data]); + } + + public function getProjectData(string $uuid) + { + try { + $project = Project::isUuid($uuid)->first(); + + if (! $project) { + Log::error("Project not found for project with UUID: $uuid"); + } + $countSitePolygons = 0; + if($project) { + $countSitePolygons = $project->getTotalSitePolygons(); + } + + $organization = $project->organisation()->first(); + if (! $organization) { + Log::error("Organization not found for project with ID: $project->id"); + } + + $country = WorldCountryGeneralized::where('iso', $project->country)->first(); + $data = [ + ['key' => 'project_name', 'title' => 'title', 'value' => $project->name ?? null], + ['key' => 'country', 'title' => 'Country', 'value' => $country->country ?? null], + ['key' => 'polygon_counts', 'title' => 'No. of Site - Polygons', 'value' => $countSitePolygons ?? null], + ['key' => 'organizations', 'title' => 'Organization', 'value' => $organization->name ?? null], + ]; + + return response()->json(['data' => $data]); + } catch (\Exception $e) { + Log::error($e->getMessage()); + + return response()->json(['error' => 'An error occurred while fetching project data', 'message' => $e->getMessage()], 500); + } + + } +} diff --git a/app/Http/Controllers/V2/Dashboard/GetPolygonsController.php b/app/Http/Controllers/V2/Dashboard/GetPolygonsController.php new file mode 100644 index 000000000..cf210820b --- /dev/null +++ b/app/Http/Controllers/V2/Dashboard/GetPolygonsController.php @@ -0,0 +1,47 @@ +pluck('uuid'); + + return new GetPolygonsResource([ + 'data' => $polygons, + ]); + } + + public function getPolygonsByStatusOfProject(Request $request): GetPolygonsResource + { + $polygonsIds = TerrafundDashboardQueryHelper::getPolygonsByStatusOfProject($request); + + return new GetPolygonsResource([ + 'data' => $polygonsIds, + ]); + } + + public function getBboxOfCompleteProject(Request $request) + { + try { + $polygonsIds = TerrafundDashboardQueryHelper::getPolygonIdsOfProject($request); + $bboxCoordinates = GeometryHelper::getPolygonsBbox($polygonsIds); + + return response()->json(['bbox' => $bboxCoordinates]); + } catch (\Exception $e) { + Log::error($e->getMessage()); + + return response()->json(['error' => 'An error occurred while fetching the bounding box coordinates'], 404); + } + } +}; diff --git a/app/Http/Resources/V2/Dashboard/GetPolygonsResource.php b/app/Http/Resources/V2/Dashboard/GetPolygonsResource.php new file mode 100644 index 000000000..b01aaa77c --- /dev/null +++ b/app/Http/Resources/V2/Dashboard/GetPolygonsResource.php @@ -0,0 +1,19 @@ +resource; + } +} diff --git a/app/Models/V2/Projects/Project.php b/app/Models/V2/Projects/Project.php index c1d76cb03..1bc9c7a6a 100644 --- a/app/Models/V2/Projects/Project.php +++ b/app/Models/V2/Projects/Project.php @@ -25,8 +25,6 @@ use App\Models\V2\Sites\SiteReport; use App\Models\V2\Tasks\Task; use App\Models\V2\TreeSpecies\TreeSpecies; -use App\Models\V2\Workdays\Workday; -use App\Models\V2\Workdays\WorkdayDemographic; use App\StateMachines\EntityStatusStateMachine; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Factories\HasFactory; @@ -36,6 +34,7 @@ use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\HasManyThrough; use Illuminate\Database\Eloquent\SoftDeletes; +use Illuminate\Support\Facades\DB; use Laravel\Scout\Searchable; use OwenIt\Auditing\Auditable; use OwenIt\Auditing\Contracts\Auditable as AuditableContract; @@ -121,18 +120,10 @@ class Project extends Model implements MediaModel, AuditableContract, EntityMode 'pct_beneficiaries_large', 'pct_beneficiaries_youth', 'land_tenure_project_area', + 'lat', + 'long', 'answers', 'ppc_external_id', - 'detailed_intervention_types', - 'proj_impact_foodsec', - 'pct_employees_marginalised', - 'pct_beneficiaries_marginalised', - 'pct_beneficiaries_men', - 'proposed_gov_partners', - 'proposed_num_nurseries', - 'proj_boundary', - 'states', - 'proj_impact_biodiv', ]; public $fileConfiguration = [ @@ -181,8 +172,6 @@ class Project extends Model implements MediaModel, AuditableContract, EntityMode 'restoration_strategy' => 'array', 'sdgs_impacted' => 'array', 'answers' => 'array', - 'detailed_intervention_types' => 'array', - 'states' => 'array', ]; public const PROJECT_STATUS_NEW = 'new_project'; @@ -359,17 +348,16 @@ public function getRegeneratedTreesCountAttribute(): int public function getWorkdayCountAttribute(): int { - return WorkdayDemographic::whereIn( - 'workday_id', - Workday::where('workdayable_type', SiteReport::class) - ->whereIn('workdayable_id', $this->submittedSiteReports()->select('v2_site_reports.id')) - ->select('id') - )->orWhereIn( - 'workday_id', - Workday::where('workdayable_type', ProjectReport::class) - ->whereIn('workdayable_id', $this->reports()->hasBeenSubmitted()->select('id')) - ->select('id') - )->gender()->sum('amount') ?? 0; + $sumQueries = [ + DB::raw('sum(`workdays_paid`) as paid'), + DB::raw('sum(`workdays_volunteer`) as volunteer'), + ]; + $projectTotals = $this->reports()->hasBeenSubmitted()->get($sumQueries)->first(); + // The groupBy is superfluous, but required because Laravel adds "v2_sites.project_id as laravel_through_key" to + // the SQL select. + $siteTotals = $this->submittedSiteReports()->groupBy('v2_sites.project_id')->get($sumQueries)->first(); + + return $projectTotals?->paid + $projectTotals?->volunteer + $siteTotals?->paid + $siteTotals?->volunteer; } public function getTotalJobsCreatedAttribute(): int @@ -481,4 +469,9 @@ private function submittedSiteReportIds(): array { return $this->submittedSiteReports()->pluck('v2_site_reports.id')->toArray(); } + + public function getTotalSitePolygons() + { + return $this->sitePolygons()->count(); + } } diff --git a/app/Models/V2/Sites/SitePolygon.php b/app/Models/V2/Sites/SitePolygon.php index dd420a334..ebd7b3a79 100644 --- a/app/Models/V2/Sites/SitePolygon.php +++ b/app/Models/V2/Sites/SitePolygon.php @@ -28,22 +28,18 @@ class SitePolygon extends Model protected $table = 'site_polygon'; protected $fillable = [ - 'proj_name', - 'org_name', 'poly_id', 'poly_name', 'site_id', - 'site_name', 'project_id', - 'poly_label', 'plantstart', 'plantend', 'practice', 'target_sys', 'distr', 'num_trees', - 'est_area', - 'country', + 'calc_area', + 'status', 'created_by', ]; @@ -67,6 +63,11 @@ public function project(): BelongsToThrough ); } + public function site() + { + return $this->belongsTo(Site::class, 'site_id', 'id'); + } + public function createdBy(): HasOne { return $this->hasOne(User::class, 'id', 'created_by'); diff --git a/openapi-src/V2/definitions/DashboardBBOXCountry.yml b/openapi-src/V2/definitions/DashboardBBOXCountry.yml new file mode 100644 index 000000000..ba34c2f2a --- /dev/null +++ b/openapi-src/V2/definitions/DashboardBBOXCountry.yml @@ -0,0 +1,4 @@ +type: object +properties: + bbox: + type: array \ No newline at end of file diff --git a/openapi-src/V2/definitions/DashboardBBOXProject.yml b/openapi-src/V2/definitions/DashboardBBOXProject.yml new file mode 100644 index 000000000..ba34c2f2a --- /dev/null +++ b/openapi-src/V2/definitions/DashboardBBOXProject.yml @@ -0,0 +1,4 @@ +type: object +properties: + bbox: + type: array \ No newline at end of file diff --git a/openapi-src/V2/definitions/DashboardGetPolygonStatusResponse.yml b/openapi-src/V2/definitions/DashboardGetPolygonStatusResponse.yml new file mode 100644 index 000000000..c32e7b879 --- /dev/null +++ b/openapi-src/V2/definitions/DashboardGetPolygonStatusResponse.yml @@ -0,0 +1,13 @@ +properties: + data: + type: array + properties: + NeedsMoreInfo: + type: array + description: Ids of polygons that need more information + Submitted: + type: array + description: Ids of submitted polygons + Approved: + type: array + description: Ids of approved polygons \ No newline at end of file diff --git a/openapi-src/V2/definitions/DashboardGetProjectsData.yml b/openapi-src/V2/definitions/DashboardGetProjectsData.yml new file mode 100644 index 000000000..1a11b4df2 --- /dev/null +++ b/openapi-src/V2/definitions/DashboardGetProjectsData.yml @@ -0,0 +1,12 @@ +type: object +properties: + uuid: + type: string + name: + type: string + lat: + type: number + format: double + long: + type: number + format: double \ No newline at end of file diff --git a/openapi-src/V2/definitions/DashboardGetProjectsResponse.yml b/openapi-src/V2/definitions/DashboardGetProjectsResponse.yml new file mode 100644 index 000000000..1b5258c43 --- /dev/null +++ b/openapi-src/V2/definitions/DashboardGetProjectsResponse.yml @@ -0,0 +1,6 @@ +type: object +properties: + data: + type: array + items: + $ref: './_index.yml#/DashboardGetProjectsData' \ No newline at end of file diff --git a/openapi-src/V2/definitions/DashboardPolygonData.yml b/openapi-src/V2/definitions/DashboardPolygonData.yml new file mode 100644 index 000000000..476d85e3a --- /dev/null +++ b/openapi-src/V2/definitions/DashboardPolygonData.yml @@ -0,0 +1,16 @@ +type: object +properties: + data: + type: array + items: + type: object + properties: + title: + type: string + description: Title of the data field + value: + type: string + description: Value of the data field + key: + type: string + description: Key of the data field \ No newline at end of file diff --git a/openapi-src/V2/definitions/_index.yml b/openapi-src/V2/definitions/_index.yml index bc5beab0d..4bfbf593b 100644 --- a/openapi-src/V2/definitions/_index.yml +++ b/openapi-src/V2/definitions/_index.yml @@ -285,4 +285,16 @@ DashboardRestorationStrategyResponse: DashboardTreeRestorationGoalResponse: $ref: './DashboardTreeRestorationGoalResponse.yml' DashboardTreesUnderRestorationActual: - $ref: './DashboardTreesUnderRestorationActual.yml' \ No newline at end of file + $ref: './DashboardTreesUnderRestorationActual.yml' +DashboardGetProjectsResponse: + $ref: './DashboardGetProjectsResponse.yml' +DashboardGetProjectsData: + $ref: './DashboardGetProjectsData.yml' +DashboardGetPolygonStatusResponse: + $ref: './DashboardGetPolygonStatusResponse.yml' +DashboardBBOXProject: + $ref: './DashboardBBOXProject.yml' +DashboardBBOXCountry: + $ref: './DashboardBBOXCountry.yml' +DashboardPolygonData: + $ref: './DashboardPolygonData.yml' \ No newline at end of file diff --git a/openapi-src/V2/paths/Dashboard/get-v2-dashboard-country.yml b/openapi-src/V2/paths/Dashboard/get-v2-dashboard-country.yml new file mode 100644 index 000000000..e2cea3338 --- /dev/null +++ b/openapi-src/V2/paths/Dashboard/get-v2-dashboard-country.yml @@ -0,0 +1,16 @@ +summary: Get the bounding box of a country +tags: + - Country +parameters: + - in: path + name: country + type: string + description: ISO code of the country + required: true +responses: + '200': + description: Successful response + schema: + $ref: '../../definitions/_index.yml#/DashboardBBOXCountry' + '404': + description: Country not found \ No newline at end of file diff --git a/openapi-src/V2/paths/Dashboard/get-v2-dashboard-get-bbox-project.yml b/openapi-src/V2/paths/Dashboard/get-v2-dashboard-get-bbox-project.yml new file mode 100644 index 000000000..ffef58233 --- /dev/null +++ b/openapi-src/V2/paths/Dashboard/get-v2-dashboard-get-bbox-project.yml @@ -0,0 +1,17 @@ +get: + summary: Get Bbox of all polygons of project + tags: + - Projects + parameters: + - in: query + name: uuid + type: string + description: UUID of the project + required: true + responses: + '200': + description: Successful response + schema: + $ref: ../../definitions/_index.yml#/DashboardBBOXProject + '404': + description: Project not found \ No newline at end of file diff --git a/openapi-src/V2/paths/Dashboard/get-v2-dashboard-get-polygons-statuses.yml b/openapi-src/V2/paths/Dashboard/get-v2-dashboard-get-polygons-statuses.yml new file mode 100644 index 000000000..e78e1137c --- /dev/null +++ b/openapi-src/V2/paths/Dashboard/get-v2-dashboard-get-polygons-statuses.yml @@ -0,0 +1,19 @@ +summary: Retrieve all polygons. +description: | + This endpoint returns all polygons by project uuid. +parameters: + - in: query + name: uuid + type: string + description: uuid for the given project +responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '../../definitions/_index.yml#/DashboardGetPolygonStatusResponse' + '400': + description: Bad request + '500': + description: Internal server error \ No newline at end of file diff --git a/openapi-src/V2/paths/Dashboard/get-v2-dashboard-get-polygons.yml b/openapi-src/V2/paths/Dashboard/get-v2-dashboard-get-polygons.yml new file mode 100644 index 000000000..280dbb9e4 --- /dev/null +++ b/openapi-src/V2/paths/Dashboard/get-v2-dashboard-get-polygons.yml @@ -0,0 +1,19 @@ +summary: Retrieve all polygons. +description: | + This endpoint returns all polygons by project uuid. +parameters: + - in: query + name: uuid + type: string + description: uuid for the given project +responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '../../definitions/_index.yml#/DashboardGetProjectsResponse' + '400': + description: Bad request + '500': + description: Internal server error \ No newline at end of file diff --git a/openapi-src/V2/paths/Dashboard/get-v2-dashboard-jobs-created.yml b/openapi-src/V2/paths/Dashboard/get-v2-dashboard-jobs-created.yml index 31cf88f42..cb42b61cc 100644 --- a/openapi-src/V2/paths/Dashboard/get-v2-dashboard-jobs-created.yml +++ b/openapi-src/V2/paths/Dashboard/get-v2-dashboard-jobs-created.yml @@ -1,4 +1,3 @@ -operationId: get-v2-jobs-created.yml summary: view Jobs created for dashboard parameters: - in: query diff --git a/openapi-src/V2/paths/Dashboard/get-v2-dashboard-polygon-data-uuid.yml b/openapi-src/V2/paths/Dashboard/get-v2-dashboard-polygon-data-uuid.yml new file mode 100644 index 000000000..c74a4d4ec --- /dev/null +++ b/openapi-src/V2/paths/Dashboard/get-v2-dashboard-polygon-data-uuid.yml @@ -0,0 +1,16 @@ +summary: Get Get allowed to project +tags: + - Get allowed to project +parameters: + - in: path + name: uuid + type: string + description: UUID of the polygon + required: true +responses: + '200': + description: Successful response + schema: + $ref: '../../definitions/_index.yml#/DashboardPolygonData' + '404': + description: Polygon not found \ No newline at end of file diff --git a/openapi-src/V2/paths/Dashboard/get-v2-dashboard-project-data-uuid.yml b/openapi-src/V2/paths/Dashboard/get-v2-dashboard-project-data-uuid.yml new file mode 100644 index 000000000..964c02a42 --- /dev/null +++ b/openapi-src/V2/paths/Dashboard/get-v2-dashboard-project-data-uuid.yml @@ -0,0 +1,16 @@ +summary: Get project point data by UUID +tags: + - Project point data by UUID +parameters: + - in: path + name: uuid + type: string + description: UUID of the project point + required: true +responses: + '200': + description: Successful response + schema: + $ref: '../../definitions/_index.yml#/DashboardPolygonData' + '500': + description: Error in queries \ No newline at end of file diff --git a/openapi-src/V2/paths/_index.yml b/openapi-src/V2/paths/_index.yml index f4ab06285..3f13e1bdc 100644 --- a/openapi-src/V2/paths/_index.yml +++ b/openapi-src/V2/paths/_index.yml @@ -2534,4 +2534,22 @@ $ref: './Dashboard/get-v2-dashboard-tree-restoration-goal.yml' '/v2/dashboard/project-list-export': get: - $ref: './Dashboard/get-v2-dashboard-project-list-export.yml' \ No newline at end of file + $ref: './Dashboard/get-v2-dashboard-project-list-export.yml' +/v2/dashboard/get-polygons: + get: + $ref: './Dashboard/get-v2-dashboard-get-polygons.yml' +/v2/dashboard/get-polygons/statuses: + get: + $ref: './Dashboard/get-v2-dashboard-get-polygons-statuses.yml' +/v2/dashboard/get-bbox-project: + get: + $ref: './Dashboard/get-v2-dashboard-get-bbox-project.yml' +/v2/dashboard/country/{country}: + get: + $ref: './Dashboard/get-v2-dashboard-country.yml' +/v2/dashboard/polygon-data/{uuid}: + get: + $ref: './Dashboard/get-v2-dashboard-polygon-data-uuid.yml' +/v2/dashboard/project-data/{uuid}: + get: + $ref: './Dashboard/get-v2-dashboard-project-data-uuid.yml' \ No newline at end of file diff --git a/package.json b/package.json index 6a32704fa..f5150c91a 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,8 @@ "hot": "mix watch --hot", "prod": "npm run production", "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", - "doc-v2": "swagger-cli bundle openapi-src/v2.yml --outfile resources/docs/swagger-v2.yml --type yaml --dereference" + "doc-v2": "swagger-cli bundle openapi-src/v2.yml --outfile resources/docs/swagger-v2.yml --type yaml --dereference", + "doc-main": "swagger-cli bundle openapi-src/v2.yml --outfile resources/docs/swagger-v2.yml --type yaml --dereference" }, "devDependencies": { "ajv": "^8.12.0", diff --git a/resources/docs/swagger-v2.yml b/resources/docs/swagger-v2.yml index 9195ba99d..2e6d77a77 100644 --- a/resources/docs/swagger-v2.yml +++ b/resources/docs/swagger-v2.yml @@ -44248,6 +44248,78 @@ definitions: type: integer treeSpeciesPercentage: type: number + DashboardGetProjectsResponse: + type: object + properties: + data: + type: array + items: + type: object + properties: + uuid: + type: string + name: + type: string + lat: + type: number + format: double + long: + type: number + format: double + DashboardGetProjectsData: + type: object + properties: + uuid: + type: string + name: + type: string + lat: + type: number + format: double + long: + type: number + format: double + DashboardGetPolygonStatusResponse: + properties: + data: + type: array + properties: + NeedsMoreInfo: + type: array + description: Ids of polygons that need more information + Submitted: + type: array + description: Ids of submitted polygons + Approved: + type: array + description: Ids of approved polygons + DashboardBBOXProject: + type: object + properties: + bbox: + type: array + DashboardBBOXCountry: + type: object + properties: + bbox: + type: array + DashboardPolygonData: + type: object + properties: + data: + type: array + items: + type: object + properties: + title: + type: string + description: Title of the data field + value: + type: string + description: Value of the data field + key: + type: string + description: Key of the data field paths: '/v2/tree-species/{entity}/{UUID}': get: @@ -94132,7 +94204,6 @@ paths: description: Geometry was not found. /v2/dashboard/jobs-created: get: - operationId: get-v2-jobs-created.yml summary: view Jobs created for dashboard parameters: - in: query @@ -94345,3 +94416,182 @@ paths: description: OK schema: type: file + /v2/dashboard/get-polygons: + get: + summary: Retrieve all polygons. + description: | + This endpoint returns all polygons by project uuid. + parameters: + - in: query + name: uuid + type: string + description: uuid for the given project + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + type: object + properties: + uuid: + type: string + name: + type: string + lat: + type: number + format: double + long: + type: number + format: double + '400': + description: Bad request + '500': + description: Internal server error + /v2/dashboard/get-polygons/statuses: + get: + summary: Retrieve all polygons. + description: | + This endpoint returns all polygons by project uuid. + parameters: + - in: query + name: uuid + type: string + description: uuid for the given project + responses: + '200': + description: Successful response + content: + application/json: + schema: + properties: + data: + type: array + properties: + NeedsMoreInfo: + type: array + description: Ids of polygons that need more information + Submitted: + type: array + description: Ids of submitted polygons + Approved: + type: array + description: Ids of approved polygons + '400': + description: Bad request + '500': + description: Internal server error + /v2/dashboard/get-bbox-project: + get: + get: + summary: Get Bbox of all polygons of project + tags: + - Projects + parameters: + - in: query + name: uuid + type: string + description: UUID of the project + required: true + responses: + '200': + description: Successful response + schema: + type: object + properties: + bbox: + type: array + '404': + description: Project not found + '/v2/dashboard/country/{country}': + get: + summary: Get the bounding box of a country + tags: + - Country + parameters: + - in: path + name: country + type: string + description: ISO code of the country + required: true + responses: + '200': + description: Successful response + schema: + type: object + properties: + bbox: + type: array + '404': + description: Country not found + '/v2/dashboard/polygon-data/{uuid}': + get: + summary: Get Get allowed to project + tags: + - Get allowed to project + parameters: + - in: path + name: uuid + type: string + description: UUID of the polygon + required: true + responses: + '200': + description: Successful response + schema: + type: object + properties: + data: + type: array + items: + type: object + properties: + title: + type: string + description: Title of the data field + value: + type: string + description: Value of the data field + key: + type: string + description: Key of the data field + '404': + description: Polygon not found + '/v2/dashboard/project-data/{uuid}': + get: + summary: Get project point data by UUID + tags: + - Project point data by UUID + parameters: + - in: path + name: uuid + type: string + description: UUID of the project point + required: true + responses: + '200': + description: Successful response + schema: + type: object + properties: + data: + type: array + items: + type: object + properties: + title: + type: string + description: Title of the data field + value: + type: string + description: Value of the data field + key: + type: string + description: Key of the data field + '500': + description: Error in queries diff --git a/routes/api_v2.php b/routes/api_v2.php index acfb65c66..951dd7727 100644 --- a/routes/api_v2.php +++ b/routes/api_v2.php @@ -15,7 +15,9 @@ use App\Http\Controllers\V2\CoreTeamLeader\DeleteCoreTeamLeaderController; use App\Http\Controllers\V2\CoreTeamLeader\StoreCoreTeamLeaderController; use App\Http\Controllers\V2\CoreTeamLeader\UpdateCoreTeamLeaderController; +use App\Http\Controllers\V2\Dashboard\CountryDataController; use App\Http\Controllers\V2\Dashboard\GetJobsCreatedController; +use App\Http\Controllers\V2\Dashboard\GetPolygonsController; use App\Http\Controllers\V2\Dashboard\ProjectListExportController; use App\Http\Controllers\V2\Dashboard\ViewRestorationStrategyController; use App\Http\Controllers\V2\Dashboard\ViewTreeRestorationGoalController; @@ -659,4 +661,10 @@ function () { Route::get('/jobs-created', GetJobsCreatedController::class); Route::get('/tree-restoration-goal', ViewTreeRestorationGoalController::class); Route::get('/project-list-export', ProjectListExportController::class); + Route::get('/get-polygons', [GetPolygonsController::class, 'getPolygonsOfProject']); + Route::get('/get-polygons/statuses', [GetPolygonsController::class, 'getPolygonsByStatusOfProject']); + Route::get('/get-bbox-project', [GetPolygonsController::class, 'getBboxOfCompleteProject']); + Route::get('/country/{country}', [CountryDataController::class, 'getCountryBbox']); + Route::get('/polygon-data/{uuid}', [CountryDataController::class, 'getPolygonData']); + Route::get('/project-data/{uuid}', [CountryDataController::class, 'getProjectData']); }); From afc5c41de517913f053d79518b770c30b77e47e7 Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Wed, 29 May 2024 09:21:19 -0700 Subject: [PATCH 027/164] [TM-882] Fix the gender mapping. --- app/Console/Commands/BulkWorkdayImport.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Console/Commands/BulkWorkdayImport.php b/app/Console/Commands/BulkWorkdayImport.php index 910c65461..8c14a4f3f 100644 --- a/app/Console/Commands/BulkWorkdayImport.php +++ b/app/Console/Commands/BulkWorkdayImport.php @@ -70,8 +70,8 @@ class BulkWorkdayImport extends Command ]; protected const DEMOGRAPHICS = [ - 'women' => ['type' => 'gender', 'subtype' => null, 'name' => 'male'], - 'men' => ['type' => 'gender', 'subtype' => null, 'name' => 'female'], + 'women' => ['type' => 'gender', 'subtype' => null, 'name' => 'female'], + 'men' => ['type' => 'gender', 'subtype' => null, 'name' => 'male'], 'non-binary' => ['type' => 'gender', 'subtype' => null, 'name' => 'non-binary'], 'gender-unknown' => ['type' => 'gender', 'subtype' => null, 'name' => 'unknown'], From 1e35fa1ba0450c575d63f711dea729565a06d90f Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Wed, 29 May 2024 14:05:23 -0700 Subject: [PATCH 028/164] [TM-882] Define a dry-run flag to avoid persistence while testing. --- app/Console/Commands/BulkWorkdayImport.php | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/app/Console/Commands/BulkWorkdayImport.php b/app/Console/Commands/BulkWorkdayImport.php index 8c14a4f3f..3256a52e4 100644 --- a/app/Console/Commands/BulkWorkdayImport.php +++ b/app/Console/Commands/BulkWorkdayImport.php @@ -18,7 +18,7 @@ class BulkWorkdayImport extends Command * * @var string */ - protected $signature = 'bulk-workday-import {type} {file}'; + protected $signature = 'bulk-workday-import {type} {file} {--dry-run}'; /** * The console command description. @@ -155,10 +155,16 @@ public function handle() } fclose($file_handle); - // A separate loop so we can validate as much input as possible before we start persisting any records - foreach ($rows as $reportData) { - $report = $modelConfig['model']::isUuid($reportData['report_uuid'])->first(); - $this->persistWorkdays($report, $reportData); + if ($this->option('dry-run')) { + echo 'Data for persistence' . json_encode($rows, JSON_PRETTY_PRINT) . "\n\n"; + } else { + // A separate loop so we can validate as much input as possible before we start persisting any records + foreach ($rows as $reportData) { + $report = $modelConfig['model']::isUuid($reportData['report_uuid'])->first(); + $this->persistWorkdays($report, $reportData); + } + + echo "Workday import complete!\n\n"; } } From b924d6cb9ba530ca557750280045b10e27d0e3a9 Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Wed, 29 May 2024 15:08:24 -0700 Subject: [PATCH 029/164] [TM-882] Pull ethnicity names from earlier columns in the sheet. --- app/Console/Commands/BulkWorkdayImport.php | 129 +++++++++++---------- 1 file changed, 67 insertions(+), 62 deletions(-) diff --git a/app/Console/Commands/BulkWorkdayImport.php b/app/Console/Commands/BulkWorkdayImport.php index 3256a52e4..fc06b3dc8 100644 --- a/app/Console/Commands/BulkWorkdayImport.php +++ b/app/Console/Commands/BulkWorkdayImport.php @@ -73,12 +73,14 @@ class BulkWorkdayImport extends Command 'women' => ['type' => 'gender', 'subtype' => null, 'name' => 'female'], 'men' => ['type' => 'gender', 'subtype' => null, 'name' => 'male'], 'non-binary' => ['type' => 'gender', 'subtype' => null, 'name' => 'non-binary'], + 'nonbinary' => ['type' => 'gender', 'subtype' => null, 'name' => 'non-binary'], 'gender-unknown' => ['type' => 'gender', 'subtype' => null, 'name' => 'unknown'], 'youth_15-24' => ['type' => 'age', 'subtype' => null, 'name' => 'youth'], 'adult_24-64' => ['type' => 'age', 'subtype' => null, 'name' => 'adult'], 'elder_65+' => ['type' => 'age', 'subtype' => null, 'name' => 'elder'], 'age-unknown' => ['type' => 'age', 'subtype' => null, 'name' => 'unknown'], + 'age_unknown' => ['type' => 'age', 'subtype' => null, 'name' => 'unknown'], 'indigenous' => ['type' => 'ethnicity', 'subtype' => 'indigenous', 'name' => null], 'ethnicity-other' => ['type' => 'ethnicity', 'subtype' => 'other', 'name' => null], @@ -91,35 +93,30 @@ class BulkWorkdayImport extends Command public function handle() { $type = $this->argument('type'); - if (empty(self::COLLECTIONS[$type])) { - $this->abort("Unknown type: $type"); - } + $this->assert(!empty(self::COLLECTIONS[$type]), "Unknown type: $type"); $file_handle = fopen($this->argument('file'), 'r'); $columns = []; + $indices = []; $csvRow = fgetcsv($file_handle); - $idIndex = -1; - $submissionIdIndex = -1; $modelConfig = self::MODEL_CONFIGS[$type]; foreach ($csvRow as $index => $header) { - if ($header == $modelConfig['id']) { - $idIndex = $index; - $columns[] = null; - } elseif ($header == $modelConfig['submission_id']) { - $submissionIdIndex = $index; - $columns[] = null; - } else { - $columns[] = $this->getColumnDescription($type, $header); + $columns[] = $columnDescription = $this->getColumnDescription($type, $header, $indices); + + if ($columnDescription == null) { + if ($header == $modelConfig['id']) { + $indices['id'] = $index; + } elseif ($header == $modelConfig['submission_id']) { + $indices['submission_id'] = $index; + } elseif (Str::startsWith($header, ['indigenous-', 'other-ethnicity-'])) { + $indices[$header] = $index; + } } } - if ($idIndex < 0) { - $this->abort('No ' . $modelConfig['id'] . ' column found'); - } - if ($submissionIdIndex < 0) { - $this->abort('No '. $modelConfig['submission_id'] . ' column found'); - } + $this->assert(!empty($indices['id']), 'No ' . $modelConfig['id'] . ' column found'); + $this->assert(!empty($indices['submission_id']), 'No '. $modelConfig['submission_id'] . ' column found'); $rows = []; while ($csvRow = fgetcsv($file_handle)) { @@ -130,9 +127,9 @@ public function handle() continue; } - $data = $this->getData($column['collection'], $column['demographic'], $cell); + $data = $this->getData($column['collection'], $column['demographic'], $cell, $csvRow); if (! empty($data)) { - $row[$column['collection']] = array_merge($row[$column['collection']] ?? [], $data); + $row[$column['collection']][] = $data; } } @@ -140,15 +137,16 @@ public function handle() continue; } - $parentId = (int)$csvRow[$idIndex]; - $submissionId = (int)$csvRow[$submissionIdIndex]; + $parentId = (int)$csvRow[$indices['id']]; + $submissionId = (int)$csvRow[$indices['submission_id']]; $report = $modelConfig['model']::where( ['old_id' => $submissionId, 'old_model' => $modelConfig['old_model']] )->first(); - if ($report == null || $report->{$modelConfig['parent']}?->ppc_external_id != $parentId) { - $this->abort("Parent / Report ID mismatch: [Parent ID: $parentId, Submission ID: $submissionId]"); - } + $this->assert( + $report != null && $report->{$modelConfig['parent']}?->ppc_external_id == $parentId, + "Parent / Report ID mismatch: [Parent ID: $parentId, Submission ID: $submissionId]" + ); $row['report_uuid'] = $report->uuid; $rows[] = $row; @@ -156,7 +154,7 @@ public function handle() fclose($file_handle); if ($this->option('dry-run')) { - echo 'Data for persistence' . json_encode($rows, JSON_PRETTY_PRINT) . "\n\n"; + echo json_encode($rows, JSON_PRETTY_PRINT) . "\n\n"; } else { // A separate loop so we can validate as much input as possible before we start persisting any records foreach ($rows as $reportData) { @@ -175,7 +173,14 @@ protected function abort(string $message, int $exitCode = 1): void exit($exitCode); } - protected function getColumnDescription($type, $header): ?array + protected function assert(bool $condition, string $message, int $exitCode = 1): void + { + if (!$condition) { + $this->abort($message, $exitCode); + } + } + + protected function getColumnDescription($type, $header, $indices): ?array { if (! Str::startsWith($header, ['Paid_', 'Vol_'])) { return null; @@ -186,56 +191,56 @@ protected function getColumnDescription($type, $header): ?array ->keys() ->first(fn ($key) => Str::startsWith($header, $key)); $collection = data_get(self::COLLECTIONS, "$type.$columnTitlePrefix"); - if (empty($collection)) { - $this->abort('Unknown collection: ' . $header); - } + $this->assert(!empty($collection), 'Unknown collection: ' . $header); - $demographic = data_get(self::DEMOGRAPHICS, Str::substr($header, Str::length($columnTitlePrefix) + 1)); + $demographicName = Str::substr($header, Str::length($columnTitlePrefix) + 1); + $demographic = data_get(self::DEMOGRAPHICS, $demographicName); if (empty($demographic)) { - $this->abort('Unknown demographic: ' . $header); + if (Str::startsWith($demographicName, 'indigenous')) { + $demographic = data_get(self::DEMOGRAPHICS, 'indigenous'); + $this->assert(!empty($indices[$demographicName]), 'Unknown demographic: ' . $header); + $demographic['name'] = $indices[$demographicName]; + } elseif (Str::startsWith($demographicName, ['other-ethnicity', 'ethnicity-other'])) { + $demographic = data_get(self::DEMOGRAPHICS, 'ethnicity-other'); + $this->assert(!empty($indices[$demographicName]), 'Unknown demographic: ' . $header); + $demographic['name'] = $indices[$demographicName]; + } elseif (Str::startsWith($demographicName, ['ethnicity-unknown', 'ethnicity-decline'])) { + $demographic = data_get(self::DEMOGRAPHICS, 'ethnicity-unknown'); + } + + $this->assert($demographic != null, 'Unknown demographic: ' . $header); } return ['collection' => $collection, 'demographic' => $demographic]; } - protected function getData($collection, $demographic, $cell): array + protected function getData($collection, $demographic, $cell, $row): array { if (empty($cell)) { return []; } - if (empty($demographic['subtype'])) { - if (! is_numeric($cell) || ('' . (int)$cell) != trim($cell)) { - $this->abort('Invalid value: ' . - json_encode([ - 'collection' => $collection, - 'demographic' => $demographic, - 'cell' => $cell, - ])); - } - - $demographic['amount'] = (int)$cell; - - return [$demographic]; + if (! is_numeric($cell) || ('' . (int)$cell) != trim($cell)) { + $this->abort('Invalid value: ' . + json_encode([ + 'collection' => $collection, + 'demographic' => $demographic, + 'cell' => $cell, + ])); } - return collect(explode('|', $cell))->map(function ($subCell) use ($demographic, $collection, $cell) { - $parts = explode(':', $subCell); - if (count($parts) != 2 || ! is_numeric($parts[1]) || ('' . (int)$parts[1]) != trim($parts[1])) { - $this->abort('Invalid value: ' . - json_encode([ - 'collection' => $collection, - 'demographic' => $demographic, - 'cell' => $cell, - 'parts' => $parts, - ])); + $demographic['amount'] = (int)$cell; + if (is_int($demographic['name'])) { + // In this case, the "name" member is an index pointer to the column that holds the ethnicity + // name. + $name = $row[$demographic['name']]; + if (empty($name)) { + $name = null; } + $demographic['name'] = $name; + } - $demographic['name'] = trim($parts[0]); - $demographic['amount'] = (int)$parts[1]; - - return $demographic; - })->toArray(); + return $demographic; } protected function persistWorkdays($report, $data): void From aa4836d11a34a309752631c9da9785fdc54f2b46 Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Wed, 29 May 2024 15:38:06 -0700 Subject: [PATCH 030/164] [TM-882] Refactor to avoid passing around so much stuff that can be an instance variable instead. --- app/Console/Commands/BulkWorkdayImport.php | 147 ++++++++++++--------- 1 file changed, 82 insertions(+), 65 deletions(-) diff --git a/app/Console/Commands/BulkWorkdayImport.php b/app/Console/Commands/BulkWorkdayImport.php index fc06b3dc8..9e3601945 100644 --- a/app/Console/Commands/BulkWorkdayImport.php +++ b/app/Console/Commands/BulkWorkdayImport.php @@ -8,6 +8,7 @@ use App\Models\V2\Sites\SiteReport; use App\Models\V2\Workdays\Workday; use Illuminate\Console\Command; +use Illuminate\Support\Collection; use Illuminate\Support\Str; use JetBrains\PhpStorm\NoReturn; @@ -75,6 +76,7 @@ class BulkWorkdayImport extends Command 'non-binary' => ['type' => 'gender', 'subtype' => null, 'name' => 'non-binary'], 'nonbinary' => ['type' => 'gender', 'subtype' => null, 'name' => 'non-binary'], 'gender-unknown' => ['type' => 'gender', 'subtype' => null, 'name' => 'unknown'], + 'no-gender' => ['type' => 'gender', 'subtype' => null, 'name' => 'unknown'], 'youth_15-24' => ['type' => 'age', 'subtype' => null, 'name' => 'youth'], 'adult_24-64' => ['type' => 'age', 'subtype' => null, 'name' => 'adult'], @@ -87,78 +89,38 @@ class BulkWorkdayImport extends Command 'ethnicity-unknown' => ['type' => 'ethnicity', 'subtype' => 'unknown', 'name' => null], ]; + protected array $modelConfig; + protected Collection $collections; + protected array $columns = []; + protected array $indices = []; + /** * Execute the console command. */ public function handle() { $type = $this->argument('type'); - $this->assert(!empty(self::COLLECTIONS[$type]), "Unknown type: $type"); - - $file_handle = fopen($this->argument('file'), 'r'); - - $columns = []; - $indices = []; - $csvRow = fgetcsv($file_handle); - $modelConfig = self::MODEL_CONFIGS[$type]; - foreach ($csvRow as $index => $header) { - $columns[] = $columnDescription = $this->getColumnDescription($type, $header, $indices); - - if ($columnDescription == null) { - if ($header == $modelConfig['id']) { - $indices['id'] = $index; - } elseif ($header == $modelConfig['submission_id']) { - $indices['submission_id'] = $index; - } elseif (Str::startsWith($header, ['indigenous-', 'other-ethnicity-'])) { - $indices[$header] = $index; - } - } - } - - $this->assert(!empty($indices['id']), 'No ' . $modelConfig['id'] . ' column found'); - $this->assert(!empty($indices['submission_id']), 'No '. $modelConfig['submission_id'] . ' column found'); - $rows = []; - while ($csvRow = fgetcsv($file_handle)) { - $row = []; - foreach ($csvRow as $index => $cell) { - $column = $columns[$index]; - if (empty($column)) { - continue; - } - - $data = $this->getData($column['collection'], $column['demographic'], $cell, $csvRow); - if (! empty($data)) { - $row[$column['collection']][] = $data; - } - } - - if (empty($row)) { - continue; - } - - $parentId = (int)$csvRow[$indices['id']]; - $submissionId = (int)$csvRow[$indices['submission_id']]; + $this->assert(!empty(self::COLLECTIONS[$type]), "Unknown type: $type"); + $this->modelConfig = self::MODEL_CONFIGS[$type]; + $this->collections = collect(self::COLLECTIONS[$type]); - $report = $modelConfig['model']::where( - ['old_id' => $submissionId, 'old_model' => $modelConfig['old_model']] - )->first(); - $this->assert( - $report != null && $report->{$modelConfig['parent']}?->ppc_external_id == $parentId, - "Parent / Report ID mismatch: [Parent ID: $parentId, Submission ID: $submissionId]" - ); + $fileHandle = fopen($this->argument('file'), 'r'); + $this->parseHeaders(fgetcsv($fileHandle)); - $row['report_uuid'] = $report->uuid; - $rows[] = $row; + $rows = collect(); + while ($csvRow = fgetcsv($fileHandle)) { + $rows->push($this->parseRow($csvRow)); } - fclose($file_handle); + $rows = $rows->filter(); + fclose($fileHandle); if ($this->option('dry-run')) { echo json_encode($rows, JSON_PRETTY_PRINT) . "\n\n"; } else { // A separate loop so we can validate as much input as possible before we start persisting any records foreach ($rows as $reportData) { - $report = $modelConfig['model']::isUuid($reportData['report_uuid'])->first(); + $report = $this->modelConfig['model']::isUuid($reportData['report_uuid'])->first(); $this->persistWorkdays($report, $reportData); } @@ -180,17 +142,38 @@ protected function assert(bool $condition, string $message, int $exitCode = 1): } } - protected function getColumnDescription($type, $header, $indices): ?array + protected function parseHeaders($headerRow): void + { + $idHeader = $this->modelConfig['id']; + $submissionIdHeader = $this->modelConfig['submission_id']; + + foreach ($headerRow as $index => $header) { + $this->columns[] = $columnDescription = $this->getColumnDescription($header); + + if ($columnDescription == null) { + if ($header == $idHeader) { + $this->indices['id'] = $index; + } elseif ($header == $submissionIdHeader) { + $this->indices['submission_id'] = $index; + } elseif (Str::startsWith($header, ['indigenous-', 'other-ethnicity-'])) { + $this->indices[$header] = $index; + } + } + } + + $this->assert(!empty($this->indices['id']), "No $idHeader column found"); + $this->assert(!empty($this->indices['submission_id']), "No $submissionIdHeader column found"); + } + + protected function getColumnDescription($header): ?array { if (! Str::startsWith($header, ['Paid_', 'Vol_'])) { return null; } /** @var string $columnTitlePrefix */ - $columnTitlePrefix = collect(self::COLLECTIONS[$type]) - ->keys() - ->first(fn ($key) => Str::startsWith($header, $key)); - $collection = data_get(self::COLLECTIONS, "$type.$columnTitlePrefix"); + $columnTitlePrefix = $this->collections->keys()->first(fn ($key) => Str::startsWith($header, $key)); + $collection = $this->collections[$columnTitlePrefix] ?? null; $this->assert(!empty($collection), 'Unknown collection: ' . $header); $demographicName = Str::substr($header, Str::length($columnTitlePrefix) + 1); @@ -198,12 +181,12 @@ protected function getColumnDescription($type, $header, $indices): ?array if (empty($demographic)) { if (Str::startsWith($demographicName, 'indigenous')) { $demographic = data_get(self::DEMOGRAPHICS, 'indigenous'); - $this->assert(!empty($indices[$demographicName]), 'Unknown demographic: ' . $header); - $demographic['name'] = $indices[$demographicName]; + $this->assert(!empty($this->indices[$demographicName]), 'Unknown demographic: ' . $header); + $demographic['name'] = $this->indices[$demographicName]; } elseif (Str::startsWith($demographicName, ['other-ethnicity', 'ethnicity-other'])) { $demographic = data_get(self::DEMOGRAPHICS, 'ethnicity-other'); - $this->assert(!empty($indices[$demographicName]), 'Unknown demographic: ' . $header); - $demographic['name'] = $indices[$demographicName]; + $this->assert(!empty($this->indices[$demographicName]), 'Unknown demographic: ' . $header); + $demographic['name'] = $this->indices[$demographicName]; } elseif (Str::startsWith($demographicName, ['ethnicity-unknown', 'ethnicity-decline'])) { $demographic = data_get(self::DEMOGRAPHICS, 'ethnicity-unknown'); } @@ -214,6 +197,40 @@ protected function getColumnDescription($type, $header, $indices): ?array return ['collection' => $collection, 'demographic' => $demographic]; } + protected function parseRow($csvRow): ?array + { + $row = []; + foreach ($csvRow as $index => $cell) { + $column = $this->columns[$index]; + if (empty($column)) { + continue; + } + + $data = $this->getData($column['collection'], $column['demographic'], $cell, $csvRow); + if (! empty($data)) { + $row[$column['collection']][] = $data; + } + } + + if (empty($row)) { + return null; + } + + $parentId = (int)$csvRow[$this->indices['id']]; + $submissionId = (int)$csvRow[$this->indices['submission_id']]; + + $report = $this->modelConfig['model']::where( + ['old_id' => $submissionId, 'old_model' => $this->modelConfig['old_model']] + )->first(); + $this->assert( + $report != null && $report->{$this->modelConfig['parent']}?->ppc_external_id == $parentId, + "Parent / Report ID mismatch: [Parent ID: $parentId, Submission ID: $submissionId]" + ); + + $row['report_uuid'] = $report->uuid; + return $row; + } + protected function getData($collection, $demographic, $cell, $row): array { if (empty($cell)) { From 8e0b40ae89155344d55ab5544719dd41b88e6da7 Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Wed, 29 May 2024 15:51:48 -0700 Subject: [PATCH 031/164] [TM-882] Handle some garbage that Excel puts at the beginning of the file. --- app/Console/Commands/BulkWorkdayImport.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/Console/Commands/BulkWorkdayImport.php b/app/Console/Commands/BulkWorkdayImport.php index 9e3601945..8a796971c 100644 --- a/app/Console/Commands/BulkWorkdayImport.php +++ b/app/Console/Commands/BulkWorkdayImport.php @@ -148,6 +148,8 @@ protected function parseHeaders($headerRow): void $submissionIdHeader = $this->modelConfig['submission_id']; foreach ($headerRow as $index => $header) { + // Excel puts some garbage at the beginning of the file that we need to filter out. + $header = trim($header, "\xEF\xBB\xBF"); $this->columns[] = $columnDescription = $this->getColumnDescription($header); if ($columnDescription == null) { @@ -161,8 +163,8 @@ protected function parseHeaders($headerRow): void } } - $this->assert(!empty($this->indices['id']), "No $idHeader column found"); - $this->assert(!empty($this->indices['submission_id']), "No $submissionIdHeader column found"); + $this->assert(array_key_exists('id', $this->indices), "No $idHeader column found"); + $this->assert(array_key_exists('submission_id', $this->indices), "No $submissionIdHeader column found"); } protected function getColumnDescription($header): ?array From 5fadcf3ad9268ca2383f0302ae75228888ad2d89 Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Wed, 29 May 2024 15:53:29 -0700 Subject: [PATCH 032/164] [TM-882] Use pretty print when dumping demographics that aren't getting written to the DB. --- app/Console/Commands/BulkWorkdayImport.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Console/Commands/BulkWorkdayImport.php b/app/Console/Commands/BulkWorkdayImport.php index 8a796971c..8736477b8 100644 --- a/app/Console/Commands/BulkWorkdayImport.php +++ b/app/Console/Commands/BulkWorkdayImport.php @@ -280,7 +280,7 @@ protected function persistWorkdays($report, $data): void if ($report->workdays()->collection($collection)->count() > 0) { echo "WARNING!! Report already has demographics recorded for this collection, skipping!\n"; echo " collection: $collection\n"; - echo ' demographics: ' . json_encode($data[$collection]) . "\n"; + echo ' demographics: ' . json_encode($data[$collection], JSON_PRETTY_PRINT) . "\n"; continue; } From 57342f1cfd021d1151a6ce6af61b23ae35be648c Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Wed, 29 May 2024 15:59:48 -0700 Subject: [PATCH 033/164] [TM-882] The abort/assert pattern is useful, bump it out into a trait. --- app/Console/Commands/BulkWorkdayImport.php | 30 +++++++------------ app/Console/Commands/MergeEntities.php | 34 +++++++--------------- app/Console/Commands/Traits/Abortable.php | 22 ++++++++++++++ 3 files changed, 44 insertions(+), 42 deletions(-) create mode 100644 app/Console/Commands/Traits/Abortable.php diff --git a/app/Console/Commands/BulkWorkdayImport.php b/app/Console/Commands/BulkWorkdayImport.php index 8736477b8..18f6acc77 100644 --- a/app/Console/Commands/BulkWorkdayImport.php +++ b/app/Console/Commands/BulkWorkdayImport.php @@ -2,6 +2,7 @@ namespace App\Console\Commands; +use App\Console\Commands\Traits\Abortable; use App\Models\SiteSubmission; use App\Models\Submission; use App\Models\V2\Projects\ProjectReport; @@ -10,10 +11,11 @@ use Illuminate\Console\Command; use Illuminate\Support\Collection; use Illuminate\Support\Str; -use JetBrains\PhpStorm\NoReturn; class BulkWorkdayImport extends Command { + use Abortable; + /** * The name and signature of the console command. * @@ -90,8 +92,11 @@ class BulkWorkdayImport extends Command ]; protected array $modelConfig; + protected Collection $collections; + protected array $columns = []; + protected array $indices = []; /** @@ -101,7 +106,7 @@ public function handle() { $type = $this->argument('type'); - $this->assert(!empty(self::COLLECTIONS[$type]), "Unknown type: $type"); + $this->assert(! empty(self::COLLECTIONS[$type]), "Unknown type: $type"); $this->modelConfig = self::MODEL_CONFIGS[$type]; $this->collections = collect(self::COLLECTIONS[$type]); @@ -128,20 +133,6 @@ public function handle() } } - #[NoReturn] - protected function abort(string $message, int $exitCode = 1): void - { - echo $message; - exit($exitCode); - } - - protected function assert(bool $condition, string $message, int $exitCode = 1): void - { - if (!$condition) { - $this->abort($message, $exitCode); - } - } - protected function parseHeaders($headerRow): void { $idHeader = $this->modelConfig['id']; @@ -176,18 +167,18 @@ protected function getColumnDescription($header): ?array /** @var string $columnTitlePrefix */ $columnTitlePrefix = $this->collections->keys()->first(fn ($key) => Str::startsWith($header, $key)); $collection = $this->collections[$columnTitlePrefix] ?? null; - $this->assert(!empty($collection), 'Unknown collection: ' . $header); + $this->assert(! empty($collection), 'Unknown collection: ' . $header); $demographicName = Str::substr($header, Str::length($columnTitlePrefix) + 1); $demographic = data_get(self::DEMOGRAPHICS, $demographicName); if (empty($demographic)) { if (Str::startsWith($demographicName, 'indigenous')) { $demographic = data_get(self::DEMOGRAPHICS, 'indigenous'); - $this->assert(!empty($this->indices[$demographicName]), 'Unknown demographic: ' . $header); + $this->assert(! empty($this->indices[$demographicName]), 'Unknown demographic: ' . $header); $demographic['name'] = $this->indices[$demographicName]; } elseif (Str::startsWith($demographicName, ['other-ethnicity', 'ethnicity-other'])) { $demographic = data_get(self::DEMOGRAPHICS, 'ethnicity-other'); - $this->assert(!empty($this->indices[$demographicName]), 'Unknown demographic: ' . $header); + $this->assert(! empty($this->indices[$demographicName]), 'Unknown demographic: ' . $header); $demographic['name'] = $this->indices[$demographicName]; } elseif (Str::startsWith($demographicName, ['ethnicity-unknown', 'ethnicity-decline'])) { $demographic = data_get(self::DEMOGRAPHICS, 'ethnicity-unknown'); @@ -230,6 +221,7 @@ protected function parseRow($csvRow): ?array ); $row['report_uuid'] = $report->uuid; + return $row; } diff --git a/app/Console/Commands/MergeEntities.php b/app/Console/Commands/MergeEntities.php index 4c2a0b420..3061231d0 100644 --- a/app/Console/Commands/MergeEntities.php +++ b/app/Console/Commands/MergeEntities.php @@ -2,6 +2,7 @@ namespace App\Console\Commands; +use App\Console\Commands\Traits\Abortable; use App\Models\V2\EntityModel; use App\Models\V2\MediaModel; use App\Models\V2\ReportModel; @@ -14,11 +15,12 @@ use Illuminate\Support\Carbon; use Illuminate\Support\Collection; use Illuminate\Support\Facades\DB; -use JetBrains\PhpStorm\NoReturn; use Spatie\MediaLibrary\MediaCollections\Models\Media; class MergeEntities extends Command { + use Abortable; + /** * The name and signature of the console command. * @@ -59,28 +61,20 @@ private function getEntities($modelClass): Collection { $mergedUuid = $this->argument('merged'); $merged = $modelClass::isUuid($mergedUuid)->first(); - if ($merged == null) { - $this->abort("Base model not found: $mergedUuid"); - } + $this->assert($merged != null, "Base model not found: $mergedUuid"); $feederUuids = $this->argument('feeders'); // This would be faster as a whereIn, but we want to keep the order intact; matching it with the // order that was passed into the command $feeders = collect($feederUuids)->map(fn ($uuid) => $modelClass::isUuid($uuid)->first()); - if (count($feeders) != count($feederUuids)) { - $this->abort('Some feeders not found: ' . json_encode($feederUuids)); - } + $this->assert( + count($feeders) == count($feederUuids), + 'Some feeders not found: ' . json_encode($feederUuids) + ); return collect([$merged])->push($feeders)->flatten(); } - #[NoReturn] - private function abort(string $message, int $exitCode = 1): void - { - echo $message; - exit($exitCode); - } - private function confirmMerge(string $mergeName, Collection $feederNames): void { $mergeMessage = "Would you like to execute this merge? This operation cannot easily be undone...\n". @@ -88,9 +82,7 @@ private function confirmMerge(string $mergeName, Collection $feederNames): void " Feeder Entity Names: \n " . $feederNames->join("\n ") . "\n\n"; - if (! $this->confirm($mergeMessage)) { - $this->abort('Merge aborted', 0); - } + $this->assert($this->confirm($mergeMessage), 'Merge aborted', 0); } // Note for future expansion, the code to merge nurseries would be basically the same as this, but this pattern @@ -99,14 +91,10 @@ private function confirmMerge(string $mergeName, Collection $feederNames): void private function mergeSites(Site $mergeSite, Collection $feederSites): void { $frameworks = $feederSites->map(fn (Site $site) => $site->framework_key)->push($mergeSite->framework_key)->unique(); - if ($frameworks->count() > 1) { - $this->abort('Multiple frameworks detected in sites: ' . json_encode($frameworks)); - } + $this->assert($frameworks->count() <= 1, 'Multiple frameworks detected in sites: ' . json_encode($frameworks)); $projectIds = $feederSites->map(fn (Site $site) => $site->project_id)->push($mergeSite->project_id)->unique(); - if ($projectIds->count() > 1) { - $this->abort('Multiple project_ids detected in sites: ' . json_encode($projectIds)); - } + $this->assert($projectIds->count() <= 1, 'Multiple project_ids detected in sites: ' . json_encode($projectIds)); $this->confirmMerge($mergeSite->name, $feederSites->map(fn ($site) => $site->name)); diff --git a/app/Console/Commands/Traits/Abortable.php b/app/Console/Commands/Traits/Abortable.php new file mode 100644 index 000000000..881106764 --- /dev/null +++ b/app/Console/Commands/Traits/Abortable.php @@ -0,0 +1,22 @@ +abort($message, $exitCode); + } + } +} From 3c3f6891beb959323860b5ee555db9cf660461c5 Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Mon, 3 Jun 2024 16:31:55 -0700 Subject: [PATCH 034/164] [TM-920] Move geometry posting to an endpoint under /v2/geometry --- .../V2/Geometry/GeometryController.php | 29 ++++- .../V2/Geometry/StoreGeometryRequest.php | 24 ++++ ...{SiteGeometryPost.yml => GeometryPost.yml} | 0 openapi-src/V2/definitions/_index.yml | 4 +- .../V2/paths/Geometry/post-v2-geometry.yml | 19 ++++ .../Sites/post-v2-sites-uuid-geometry.yml | 4 +- openapi-src/V2/paths/_index.yml | 2 + openapi-src/v2.yml | 1 + resources/docs/swagger-v2.yml | 107 +++++++++++++++++- routes/api_v2.php | 2 + 10 files changed, 185 insertions(+), 7 deletions(-) create mode 100644 app/Http/Requests/V2/Geometry/StoreGeometryRequest.php rename openapi-src/V2/definitions/{SiteGeometryPost.yml => GeometryPost.yml} (100%) create mode 100644 openapi-src/V2/paths/Geometry/post-v2-geometry.yml diff --git a/app/Http/Controllers/V2/Geometry/GeometryController.php b/app/Http/Controllers/V2/Geometry/GeometryController.php index 3981d6596..5bfca5101 100644 --- a/app/Http/Controllers/V2/Geometry/GeometryController.php +++ b/app/Http/Controllers/V2/Geometry/GeometryController.php @@ -3,6 +3,7 @@ namespace App\Http\Controllers\V2\Geometry; use App\Http\Controllers\Controller; +use App\Http\Requests\V2\Geometry\StoreGeometryRequest; use App\Models\V2\PolygonGeometry; use App\Models\V2\Sites\Site; use App\Services\PolygonService; @@ -36,6 +37,9 @@ class GeometryController extends Controller 'DATA', ]; + /** + * @deprecated Use POST /api/v2/geometry (include site id in the properties of each feature) + */ public function storeSiteGeometry(Request $request, Site $site): JsonResponse { $this->authorize('uploadPolygons', $site); @@ -44,12 +48,31 @@ public function storeSiteGeometry(Request $request, Site $site): JsonResponse 'geometries' => 'required|array', ]); + $geometries = $request->input('geometries'); + data_set($geometries, '*.features.*.properties.site_id', $site->uuid); + + return response()->json($this->storePolygons($geometries), 201); + } + + public function storeGeometry(StoreGeometryRequest $request): JsonResponse + { + $geometries = $request->input('geometries'); + $siteIds = data_get($geometries, '*.features.*.properties.site_id'); + foreach (Site::whereIn('uuid', $siteIds)->get() as $site) { + $this->authorize('uploadPolygons', $site); + } + + return response()->json($this->storePolygons($geometries), 201); + } + + protected function storePolygons($polygons): array + { /** @var PolygonService $service */ $service = App::make(PolygonService::class); $polygonUuids = []; - foreach ($request->input('geometries') as $geometry) { + foreach ($polygons as $polygon) { // We expect single polys on this endpoint, so just pull the first uuid returned - $polygonUuids[] = $service->createGeojsonModels($geometry, ['site_id' => $site->uuid])[0]; + $polygonUuids[] = $service->createGeojsonModels($polygon)[0]; } // Do the validation in a separate step so that all of the existing polygons are taken into account @@ -62,7 +85,7 @@ public function storeSiteGeometry(Request $request, Site $site): JsonResponse } } - return response()->json(['polygon_uuids' => $polygonUuids, 'errors' => $polygonErrors], 201); + return ['polygon_uuids' => $polygonUuids, 'errors' => $polygonErrors]; } public function validateGeometries(Request $request): JsonResponse diff --git a/app/Http/Requests/V2/Geometry/StoreGeometryRequest.php b/app/Http/Requests/V2/Geometry/StoreGeometryRequest.php new file mode 100644 index 000000000..73ee7d054 --- /dev/null +++ b/app/Http/Requests/V2/Geometry/StoreGeometryRequest.php @@ -0,0 +1,24 @@ + 'required|array', + 'geometries.*.features.*.properties.site_id' => 'required|string', + ]; + } +} diff --git a/openapi-src/V2/definitions/SiteGeometryPost.yml b/openapi-src/V2/definitions/GeometryPost.yml similarity index 100% rename from openapi-src/V2/definitions/SiteGeometryPost.yml rename to openapi-src/V2/definitions/GeometryPost.yml diff --git a/openapi-src/V2/definitions/_index.yml b/openapi-src/V2/definitions/_index.yml index fcff7d24b..3a8e731a1 100644 --- a/openapi-src/V2/definitions/_index.yml +++ b/openapi-src/V2/definitions/_index.yml @@ -274,5 +274,5 @@ WorkdayDemographic: $ref: './WorkdayDemographic.yml' GeoJSON: $ref: './GeoJSON.yml' -SiteGeometryPost: - $ref: './SiteGeometryPost.yml' +GeometryPost: + $ref: './GeometryPost.yml' diff --git a/openapi-src/V2/paths/Geometry/post-v2-geometry.yml b/openapi-src/V2/paths/Geometry/post-v2-geometry.yml new file mode 100644 index 000000000..cad88d4cf --- /dev/null +++ b/openapi-src/V2/paths/Geometry/post-v2-geometry.yml @@ -0,0 +1,19 @@ +summary: Upload bulk geometry +operationId: post-v2-geometry +tags: + - V2 Geometry +parameters: + - in: body + name: body + schema: + type: object + properties: + geometries: + type: array + items: + $ref: '../../definitions/_index.yml#/GeoJSON' +responses: + '201': + description: Created + schema: + $ref: '../../definitions/_index.yml#/GeometryPost' diff --git a/openapi-src/V2/paths/Sites/post-v2-sites-uuid-geometry.yml b/openapi-src/V2/paths/Sites/post-v2-sites-uuid-geometry.yml index d355001a6..c2cb3fe98 100644 --- a/openapi-src/V2/paths/Sites/post-v2-sites-uuid-geometry.yml +++ b/openapi-src/V2/paths/Sites/post-v2-sites-uuid-geometry.yml @@ -2,6 +2,8 @@ summary: Upload bulk geometry to a specific site. operationId: post-v2-sites-uuid-geometry tags: - V2 Sites +deprecated: true +description: Use POST /api/v2/geometry instead (and include the site ID in the polygon properties) parameters: - type: string name: UUID @@ -20,4 +22,4 @@ responses: '201': description: Created schema: - $ref: '../../definitions/_index.yml#/SiteGeometryPost' + $ref: '../../definitions/_index.yml#/GeometryPost' diff --git a/openapi-src/V2/paths/_index.yml b/openapi-src/V2/paths/_index.yml index e1e615422..6de1735d2 100644 --- a/openapi-src/V2/paths/_index.yml +++ b/openapi-src/V2/paths/_index.yml @@ -2518,6 +2518,8 @@ post: $ref: './Geometry/post-v2-geometry-validate.yml' /v2/geometry: + post: + $ref: './Geometry/post-v2-geometry.yml' delete: $ref: './Geometry/delete-v2-geometry.yml' /v2/geometry/{UUID}: diff --git a/openapi-src/v2.yml b/openapi-src/v2.yml index fdfd11f1c..9f91335c6 100644 --- a/openapi-src/v2.yml +++ b/openapi-src/v2.yml @@ -23,6 +23,7 @@ tags: - name: V2 Admin - name: V2 Application - name: V2 Disturbance + - name: V2 Geometry - name: V2 Invasive - name: V2 Project Developer - name: V2 Projects diff --git a/resources/docs/swagger-v2.yml b/resources/docs/swagger-v2.yml index aa91d215f..5220f97cd 100644 --- a/resources/docs/swagger-v2.yml +++ b/resources/docs/swagger-v2.yml @@ -23,6 +23,7 @@ tags: - name: V2 Admin - name: V2 Application - name: V2 Disturbance + - name: V2 Geometry - name: V2 Invasive - name: V2 Project Developer - name: V2 Projects @@ -44029,7 +44030,7 @@ definitions: type: array items: type: number - SiteGeometryPost: + GeometryPost: title: SiteGeometryPost type: object properties: @@ -93103,6 +93104,8 @@ paths: operationId: post-v2-sites-uuid-geometry tags: - V2 Sites + deprecated: true + description: Use POST /api/v2/geometry instead (and include the site ID in the polygon properties) parameters: - type: string name: UUID @@ -93825,6 +93828,108 @@ paths: type: string description: A path string indicating where the error occurred. /v2/geometry: + post: + summary: Upload bulk geometry + operationId: post-v2-geometry + tags: + - V2 Geometry + parameters: + - in: body + name: body + schema: + type: object + properties: + geometries: + type: array + items: + title: GeoJSON + type: object + properties: + type: + type: string + enum: + - FeatureCollection + features: + type: array + items: + type: object + properties: + type: + type: string + enum: + - Feature + properties: + type: object + properties: + poly_name: + type: string + plantstart: + type: string + format: date + plantend: + type: string + format: date + practice: + type: string + target_sys: + type: string + distr: + type: string + num_trees: + type: number + site_id: + type: string + geometry: + type: object + properties: + type: + type: string + enum: + - Polygon + coordinates: + type: array + items: + type: array + items: + type: array + items: + type: number + responses: + '201': + description: Created + schema: + title: SiteGeometryPost + type: object + properties: + polygon_uuids: + type: array + items: + type: string + description: The UUIDs generated by the system for the uploaded polygons. They are in the same order as the polygons in the request payload. + errors: + type: object + description: Mapping of geometry UUID to the errors associated with the geometry. The geometry was saved in the DB and must be updated instead of created once the issues are resolved. + additionalProperties: + type: array + items: + type: object + properties: + key: + type: string + enum: + - OVERLAPPING_POLYGON + - SELF_INTERSECTION + - COORDINATE_SYSTEM + - SIZE_LIMIT + - WITHIN_COUNTRY + - SPIKE + - GEOMETRY_TYPE + - TOTAL_AREA_EXPECTED + - TABLE_SCHEMA + - DATA_COMPLETED + message: + type: string + description: Human readable string in English to describe the error. delete: summary: Bulk delete geometries operationId: delete-v2-geometry diff --git a/routes/api_v2.php b/routes/api_v2.php index 4261cc69d..cda46e83c 100644 --- a/routes/api_v2.php +++ b/routes/api_v2.php @@ -552,10 +552,12 @@ Route::get('/image/locations', SiteImageLocationsController::class); Route::delete('/', SoftDeleteSiteController::class); Route::get('/export', ExportAllSiteDataAsProjectDeveloperController::class); + // deprecated, use POST api/v2/geometry instead (include site_id in the geometry's properties Route::post('/geometry', [GeometryController::class, 'storeSiteGeometry']); }); Route::prefix('geometry')->group(function () { + Route::post('', [GeometryController::class, 'storeGeometry']); Route::post('/validate', [GeometryController::class, 'validateGeometries']); Route::delete('', [GeometryController::class, 'deleteGeometries']); Route::put('{polygon}', [GeometryController::class, 'updateGeometry']); From 2c496625c39d4b50b9650a9b9ec1453c34f2b0e5 Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Mon, 3 Jun 2024 16:43:57 -0700 Subject: [PATCH 035/164] [TM-920] Create a PointGeometry PHP model class and share the geojson attribute getters from PolygonGeometry. --- app/Models/Traits/HasGeometry.php | 50 +++++++++++++++++++++++++++++++ app/Models/V2/PointGeometry.php | 40 +++++++++++++++++++++++++ app/Models/V2/PolygonGeometry.php | 46 ++-------------------------- 3 files changed, 92 insertions(+), 44 deletions(-) create mode 100644 app/Models/Traits/HasGeometry.php create mode 100644 app/Models/V2/PointGeometry.php diff --git a/app/Models/Traits/HasGeometry.php b/app/Models/Traits/HasGeometry.php new file mode 100644 index 000000000..4586ebc25 --- /dev/null +++ b/app/Models/Traits/HasGeometry.php @@ -0,0 +1,50 @@ +selectRaw('ST_AsGeoJSON(geom) as geojson_string') + ->first() + ?->geojson_string; + + return $geojson_string == null ? null : json_decode($geojson_string, true); + } + + public function getGeoJsonAttribute(): array + { + return self::getGeoJson($this->uuid); + } + + public static function getGeometryType(string $uuid): ?string + { + return static::isUuid($uuid) + ->selectRaw('ST_GeometryType(geom) as geometry_type_string') + ->first() + ?->geometry_type_string; + } + + public function getGeometryTypeAttribute(): string + { + return self::getGeometryType($this->uuid); + } + + public static function getDbGeometry(string $uuid) + { + return static::isUuid($uuid) + ->selectRaw('ST_Area(geom) AS area, ST_Y(ST_Centroid(geom)) AS latitude') + ->first(); + } + + public function getDbGeometryAttribute() + { + return self::getDbGeometry($this->uuid); + } +} diff --git a/app/Models/V2/PointGeometry.php b/app/Models/V2/PointGeometry.php new file mode 100644 index 000000000..f0da5fed2 --- /dev/null +++ b/app/Models/V2/PointGeometry.php @@ -0,0 +1,40 @@ +hasOne(User::class, 'id', 'created_by'); + } + + public function lastModifiedBy(): HasOne + { + return $this->hasOne(User::class, 'id', 'last_modified_by'); + } +} diff --git a/app/Models/V2/PolygonGeometry.php b/app/Models/V2/PolygonGeometry.php index 842ac30cf..199ac5c6e 100644 --- a/app/Models/V2/PolygonGeometry.php +++ b/app/Models/V2/PolygonGeometry.php @@ -2,6 +2,7 @@ namespace App\Models\V2; +use App\Models\Traits\HasGeometry; use App\Models\Traits\HasUuid; use App\Models\V2\Sites\CriteriaSite; use App\Models\V2\Sites\SitePolygon; @@ -12,15 +13,12 @@ use Illuminate\Database\Eloquent\Relations\HasOne; use Illuminate\Database\Eloquent\SoftDeletes; -/** - * @method static isUuid($uuid) - * @property mixed $uuid - */ class PolygonGeometry extends Model { use HasUuid; use SoftDeletes; use HasFactory; + use HasGeometry; protected $table = 'polygon_geometry'; @@ -49,44 +47,4 @@ public function createdBy(): HasOne { return $this->hasOne(User::class, 'id', 'created_by'); } - - public static function getGeoJson(string $uuid): ?array - { - $geojson_string = PolygonGeometry::isUuid($uuid) - ->selectRaw('ST_AsGeoJSON(geom) as geojson_string') - ->first() - ?->geojson_string; - - return $geojson_string == null ? null : json_decode($geojson_string, true); - } - - public function getGeoJsonAttribute(): array - { - return self::getGeoJson($this->uuid); - } - - public static function getGeometryType(string $uuid): ?string - { - return PolygonGeometry::isUuid($uuid) - ->selectRaw('ST_GeometryType(geom) as geometry_type_string') - ->first() - ?->geometry_type_string; - } - - public function getGeometryTypeAttribute(): string - { - return self::getGeometryType($this->uuid); - } - - public static function getDbGeometry(string $uuid) - { - return PolygonGeometry::isUuid($uuid) - ->selectRaw('ST_Area(geom) AS area, ST_Y(ST_Centroid(geom)) AS latitude') - ->first(); - } - - public function getDbGeometryAttribute() - { - return self::getDbGeometry($this->uuid); - } } From 4bfc457c415a18934bd2b22912dfbec2a92571f0 Mon Sep 17 00:00:00 2001 From: JORGE Date: Tue, 4 Jun 2024 12:10:22 -0400 Subject: [PATCH 036/164] [TM-853] add indentation --- .../V2/Terrafund/TerrafundCreateGeometryController.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php b/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php index b05125973..169a928a3 100644 --- a/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php +++ b/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php @@ -387,8 +387,8 @@ public function getPolygonAsGeoJSONDownload(Request $request) $uuid = $request->query('uuid'); $polygonGeometry = PolygonGeometry::where('uuid', $uuid) - ->select(DB::raw('ST_AsGeoJSON(geom) AS geojsonGeom')) - ->first(); + ->select(DB::raw('ST_AsGeoJSON(geom) AS geojsonGeom')) + ->first(); Log::info('Polygon Geometry', ['polygonGeometry' => $polygonGeometry]); if (! $polygonGeometry) { @@ -443,8 +443,8 @@ public function getAllPolygonsAsGeoJSONDownload(Request $request) foreach ($polygonsUuids as $polygonUuid) { $feature = []; $polygonGeometry = PolygonGeometry::where('uuid', $polygonUuid) - ->select(DB::raw('ST_AsGeoJSON(geom) AS geojsonGeom')) - ->first(); + ->select(DB::raw('ST_AsGeoJSON(geom) AS geojsonGeom')) + ->first(); if (! $polygonGeometry) { return response()->json(['message' => 'No polygon geometry found for the given UUID.'], 404); } From 6761d2ff2ba3f744c5d6f3f9f89e62f794e96908 Mon Sep 17 00:00:00 2001 From: JORGE Date: Tue, 4 Jun 2024 12:27:05 -0400 Subject: [PATCH 037/164] [TM-853] remove redundance and nesting --- app/Helpers/GeometryHelper.php | 8 +++--- .../TerrafundEditGeometryController.php | 27 +++++++++---------- 2 files changed, 16 insertions(+), 19 deletions(-) diff --git a/app/Helpers/GeometryHelper.php b/app/Helpers/GeometryHelper.php index 66e0fc28f..13b3b1bc2 100644 --- a/app/Helpers/GeometryHelper.php +++ b/app/Helpers/GeometryHelper.php @@ -80,14 +80,12 @@ public function centroidOfProject($projectUuid) return null; } - $sitePolygons = $project->sitePolygons; + $polyIds = $project->sitePolygons()->pluck('poly_id')->toArray(); - if ($sitePolygons->isEmpty()) { - return null; // Return null if no polygons are found for the given projectUuid + if (empty($polyIds)) { + return null; } - $polyIds = $sitePolygons->pluck('poly_id')->toArray(); - $centroids = PolygonGeometry::selectRaw('ST_AsGeoJSON(ST_Centroid(geom)) AS centroid') ->whereIn('uuid', $polyIds) ->get(); diff --git a/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php b/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php index 72eca3b06..f8ea89b89 100644 --- a/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php +++ b/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php @@ -34,23 +34,22 @@ public function updateProjectCentroid($polygonGeometry) { try { $sitePolygon = SitePolygon::where('poly_id', $polygonGeometry->uuid)->first(); + if (!$sitePolygon) { + Log::warning("Site polygon with UUID $polygonGeometry->uuid not found."); + return null; + } + $relatedSite = Site::where('uuid', $sitePolygon->site_id)->first(); + $project = Project::where('id', $relatedSite->project_id)->first(); - if ($sitePolygon) { - $relatedSite = Site::where('uuid', $sitePolygon->site_id)->first(); - $project = Project::where('id', $relatedSite->project_id)->first(); - - if ($project) { - $geometryHelper = new GeometryHelper(); - $centroid = $geometryHelper->centroidOfProject($project->uuid); - - if ($centroid === null) { - Log::warning("Invalid centroid for project UUID: $project->uuid"); - } - } else { - Log::warning("Project with UUID $relatedSite->project_id not found."); + if ($project) { + $geometryHelper = new GeometryHelper(); + $centroid = $geometryHelper->centroidOfProject($project->uuid); + + if ($centroid === null) { + Log::warning("Invalid centroid for project UUID: $project->uuid"); } } else { - Log::warning("Site polygon with UUID $polygonGeometry->uuid not found."); + Log::warning("Project with UUID $relatedSite->project_id not found."); } } catch (\Exception $e) { Log::error('Error updating project centroid: ' . $e->getMessage()); From 81beb5741924cbb14820b3e9ba4222858726f746 Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Tue, 4 Jun 2024 12:28:28 -0400 Subject: [PATCH 038/164] [TM-848] fix: remove site_id from createGeojsonModels function --- .../V2/Terrafund/TerrafundCreateGeometryController.php | 2 +- app/Services/PolygonService.php | 5 +---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php b/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php index 20cc8b3a8..c04592f7d 100644 --- a/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php +++ b/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php @@ -67,7 +67,7 @@ public function insertGeojsonToDB(string $geojsonFilename, ?string $site_id = nu SitePolygonValidator::validate('FEATURE_BOUNDS', $geojson, false); - return App::make(PolygonService::class)->createGeojsonModels($geojson, [], $site_id); + return App::make(PolygonService::class)->createGeojsonModels($geojson, ['site_id' => $site_id]); } public function validateDataInDB(Request $request) diff --git a/app/Services/PolygonService.php b/app/Services/PolygonService.php index 329416709..2d4e9610c 100644 --- a/app/Services/PolygonService.php +++ b/app/Services/PolygonService.php @@ -24,13 +24,10 @@ class PolygonService public const SCHEMA_CRITERIA_ID = 13; public const DATA_CRITERIA_ID = 14; - public function createGeojsonModels($geojson, $sitePolygonProperties = [], ?string $site_id = null): array + public function createGeojsonModels($geojson, $sitePolygonProperties = []): array { $uuids = []; foreach ($geojson['features'] as $feature) { - if ($site_id !== null) { - $feature['properties']['site_id'] = $site_id; - } if ($feature['geometry']['type'] === 'Polygon') { $data = $this->insertSinglePolygon($feature['geometry']); $uuids[] = $data['uuid']; From 99d84ae13e232ea9d26e3b77caf1352480466470 Mon Sep 17 00:00:00 2001 From: JORGE Date: Tue, 4 Jun 2024 14:09:15 -0400 Subject: [PATCH 039/164] [TM-671] improve queries, remove superfluos code, update Project model from staging --- app/Helpers/GeometryHelper.php | 18 ++++----- .../V2/Dashboard/CountryDataController.php | 12 +++--- app/Models/V2/Projects/Project.php | 37 +++++++++++++------ package.json | 3 +- 4 files changed, 40 insertions(+), 30 deletions(-) diff --git a/app/Helpers/GeometryHelper.php b/app/Helpers/GeometryHelper.php index b0ce5cfb8..eca5040eb 100644 --- a/app/Helpers/GeometryHelper.php +++ b/app/Helpers/GeometryHelper.php @@ -15,15 +15,12 @@ public function centroidOfProject($projectUuid) if (! $project) { return null; } + $polyIds = $project->sitePolygons()->pluck('poly_id')->toArray(); - $sitePolygons = $project->sitePolygons; - - if ($sitePolygons->isEmpty()) { - return null; // Return null if no polygons are found for the given projectUuid + if (empty($polyIds)) { + return null; } - $polyIds = $sitePolygons->pluck('poly_id')->toArray(); - $centroids = PolygonGeometry::selectRaw('ST_AsGeoJSON(ST_Centroid(geom)) AS centroid') ->whereIn('uuid', $polyIds) ->get(); @@ -77,7 +74,10 @@ public function updateProjectCentroid(string $projectUuid) Log::info("Centroid updated for projectUuid: $projectUuid"); - return 'Centroids updated successfully!'; + return response()->json([ + 'message' => 'Centroid updated', + 'centroid' => $centroid, + ], 200); } catch (\Exception $e) { Log::error("Error updating centroid for projectUuid: $projectUuid"); @@ -112,8 +112,6 @@ public static function getPolygonsBbox($polygonsIds) } } - $bboxCoordinates = [$minX, $minY, $maxX, $maxY]; - - return $bboxCoordinates; + return [$minX, $minY, $maxX, $maxY]; } } diff --git a/app/Http/Controllers/V2/Dashboard/CountryDataController.php b/app/Http/Controllers/V2/Dashboard/CountryDataController.php index a11ec59f6..a6e884461 100644 --- a/app/Http/Controllers/V2/Dashboard/CountryDataController.php +++ b/app/Http/Controllers/V2/Dashboard/CountryDataController.php @@ -80,21 +80,19 @@ public function getProjectData(string $uuid) if (! $project) { Log::error("Project not found for project with UUID: $uuid"); + return response()->json(['error' => 'Project not found'], 404); } - $countSitePolygons = 0; - if($project) { - $countSitePolygons = $project->getTotalSitePolygons(); - } + $countSitePolygons = $project?->getTotalSitePolygons() ?? 0; $organization = $project->organisation()->first(); if (! $organization) { Log::error("Organization not found for project with ID: $project->id"); } - $country = WorldCountryGeneralized::where('iso', $project->country)->first(); + $country = $project ? WorldCountryGeneralized::where('iso', $project->country)->first() : null; $data = [ - ['key' => 'project_name', 'title' => 'title', 'value' => $project->name ?? null], - ['key' => 'country', 'title' => 'Country', 'value' => $country->country ?? null], + ['key' => 'project_name', 'title' => 'title', 'value' => $project?->name ?? null], + ['key' => 'country', 'title' => 'Country', 'value' => $country?->country ?? null], ['key' => 'polygon_counts', 'title' => 'No. of Site - Polygons', 'value' => $countSitePolygons ?? null], ['key' => 'organizations', 'title' => 'Organization', 'value' => $organization->name ?? null], ]; diff --git a/app/Models/V2/Projects/Project.php b/app/Models/V2/Projects/Project.php index a5d522186..05502b403 100644 --- a/app/Models/V2/Projects/Project.php +++ b/app/Models/V2/Projects/Project.php @@ -25,6 +25,8 @@ use App\Models\V2\Sites\SiteReport; use App\Models\V2\Tasks\Task; use App\Models\V2\TreeSpecies\TreeSpecies; +use App\Models\V2\Workdays\Workday; +use App\Models\V2\Workdays\WorkdayDemographic; use App\StateMachines\EntityStatusStateMachine; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Factories\HasFactory; @@ -124,6 +126,16 @@ class Project extends Model implements MediaModel, AuditableContract, EntityMode 'long', 'answers', 'ppc_external_id', + 'detailed_intervention_types', + 'proj_impact_foodsec', + 'pct_employees_marginalised', + 'pct_beneficiaries_marginalised', + 'pct_beneficiaries_men', + 'proposed_gov_partners', + 'proposed_num_nurseries', + 'proj_boundary', + 'states', + 'proj_impact_biodiv', ]; public $fileConfiguration = [ @@ -172,6 +184,8 @@ class Project extends Model implements MediaModel, AuditableContract, EntityMode 'restoration_strategy' => 'array', 'sdgs_impacted' => 'array', 'answers' => 'array', + 'detailed_intervention_types' => 'array', + 'states' => 'array', ]; public const PROJECT_STATUS_NEW = 'new_project'; @@ -348,16 +362,17 @@ public function getRegeneratedTreesCountAttribute(): int public function getWorkdayCountAttribute(): int { - $sumQueries = [ - DB::raw('sum(`workdays_paid`) as paid'), - DB::raw('sum(`workdays_volunteer`) as volunteer'), - ]; - $projectTotals = $this->reports()->hasBeenSubmitted()->get($sumQueries)->first(); - // The groupBy is superfluous, but required because Laravel adds "v2_sites.project_id as laravel_through_key" to - // the SQL select. - $siteTotals = $this->submittedSiteReports()->groupBy('v2_sites.project_id')->get($sumQueries)->first(); - - return $projectTotals?->paid + $projectTotals?->volunteer + $siteTotals?->paid + $siteTotals?->volunteer; + return WorkdayDemographic::whereIn( + 'workday_id', + Workday::where('workdayable_type', SiteReport::class) + ->whereIn('workdayable_id', $this->submittedSiteReports()->select('v2_site_reports.id')) + ->select('id') + )->orWhereIn( + 'workday_id', + Workday::where('workdayable_type', ProjectReport::class) + ->whereIn('workdayable_id', $this->reports()->hasBeenSubmitted()->select('id')) + ->select('id') + )->gender()->sum('amount') ?? 0; } public function getSelfReportedWorkdayCountAttribute(): int @@ -488,4 +503,4 @@ public function getTotalSitePolygons() { return $this->sitePolygons()->count(); } -} +} \ No newline at end of file diff --git a/package.json b/package.json index f5150c91a..6a32704fa 100644 --- a/package.json +++ b/package.json @@ -8,8 +8,7 @@ "hot": "mix watch --hot", "prod": "npm run production", "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", - "doc-v2": "swagger-cli bundle openapi-src/v2.yml --outfile resources/docs/swagger-v2.yml --type yaml --dereference", - "doc-main": "swagger-cli bundle openapi-src/v2.yml --outfile resources/docs/swagger-v2.yml --type yaml --dereference" + "doc-v2": "swagger-cli bundle openapi-src/v2.yml --outfile resources/docs/swagger-v2.yml --type yaml --dereference" }, "devDependencies": { "ajv": "^8.12.0", From 69bbf03f4636c5e8a7e8401fb9fdb64f8a618655 Mon Sep 17 00:00:00 2001 From: JORGE Date: Tue, 4 Jun 2024 14:43:16 -0400 Subject: [PATCH 040/164] [TM-853] remove redundan query --- .../V2/Terrafund/TerrafundEditGeometryController.php | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php b/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php index f8ea89b89..dede162af 100644 --- a/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php +++ b/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php @@ -38,8 +38,7 @@ public function updateProjectCentroid($polygonGeometry) Log::warning("Site polygon with UUID $polygonGeometry->uuid not found."); return null; } - $relatedSite = Site::where('uuid', $sitePolygon->site_id)->first(); - $project = Project::where('id', $relatedSite->project_id)->first(); + $project = $sitePolygon->project; if ($project) { $geometryHelper = new GeometryHelper(); @@ -49,7 +48,7 @@ public function updateProjectCentroid($polygonGeometry) Log::warning("Invalid centroid for project UUID: $project->uuid"); } } else { - Log::warning("Project with UUID $relatedSite->project_id not found."); + Log::warning("Project UUID not found."); } } catch (\Exception $e) { Log::error('Error updating project centroid: ' . $e->getMessage()); @@ -64,9 +63,8 @@ public function deletePolygonAndSitePolygon(string $uuid) return response()->json(['message' => 'No polygon geometry found for the given UUID.'], 404); } $sitePolygon = SitePolygon::where('poly_id', $uuid)->first(); - $relatedSite = Site::where('uuid', $sitePolygon->site_id)->first(); - $projectUuid = Project::where('id', $relatedSite->project_id)->pluck('uuid')->first(); - if (! $projectUuid) { + $project = $sitePolygon->project; + if (! $project) { return response()->json(['message' => 'No project found for the given UUID.'], 404); } if ($sitePolygon) { @@ -74,7 +72,7 @@ public function deletePolygonAndSitePolygon(string $uuid) $sitePolygon->delete(); } $geometryHelper = new GeometryHelper(); - $geometryHelper->updateProjectCentroid($projectUuid); + $geometryHelper->updateProjectCentroid($project->uuid); $polygonGeometry->delete(); Log::info("Polygon geometry and associated site polygon deleted successfully for UUID: $uuid"); From 1310d5720c3aa049eb5bb4d539d6ed7300724a6e Mon Sep 17 00:00:00 2001 From: JORGE Date: Tue, 4 Jun 2024 15:02:27 -0400 Subject: [PATCH 041/164] [TM-671] remove inappropiate code, make more idiomatic uses of queries --- .../V2/Dashboard/CountryDataController.php | 12 ++++++------ app/Models/V2/Projects/Project.php | 8 ++------ 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/app/Http/Controllers/V2/Dashboard/CountryDataController.php b/app/Http/Controllers/V2/Dashboard/CountryDataController.php index a6e884461..533ff5ec5 100644 --- a/app/Http/Controllers/V2/Dashboard/CountryDataController.php +++ b/app/Http/Controllers/V2/Dashboard/CountryDataController.php @@ -82,19 +82,19 @@ public function getProjectData(string $uuid) Log::error("Project not found for project with UUID: $uuid"); return response()->json(['error' => 'Project not found'], 404); } - $countSitePolygons = $project?->getTotalSitePolygons() ?? 0; + $countSitePolygons = $project->total_site_polygons; $organization = $project->organisation()->first(); if (! $organization) { Log::error("Organization not found for project with ID: $project->id"); } - $country = $project ? WorldCountryGeneralized::where('iso', $project->country)->first() : null; + $country = WorldCountryGeneralized::where('iso', $project->country)->first(); $data = [ - ['key' => 'project_name', 'title' => 'title', 'value' => $project?->name ?? null], - ['key' => 'country', 'title' => 'Country', 'value' => $country?->country ?? null], - ['key' => 'polygon_counts', 'title' => 'No. of Site - Polygons', 'value' => $countSitePolygons ?? null], - ['key' => 'organizations', 'title' => 'Organization', 'value' => $organization->name ?? null], + ['key' => 'project_name', 'title' => 'title', 'value' => $project->name], + ['key' => 'country', 'title' => 'Country', 'value' => $country?->country], + ['key' => 'polygon_counts', 'title' => 'No. of Site - Polygons', 'value' => $countSitePolygons], + ['key' => 'organizations', 'title' => 'Organization', 'value' => $organization?->name], ]; return response()->json(['data' => $data]); diff --git a/app/Models/V2/Projects/Project.php b/app/Models/V2/Projects/Project.php index 05502b403..70a57fd0e 100644 --- a/app/Models/V2/Projects/Project.php +++ b/app/Models/V2/Projects/Project.php @@ -131,11 +131,7 @@ class Project extends Model implements MediaModel, AuditableContract, EntityMode 'pct_employees_marginalised', 'pct_beneficiaries_marginalised', 'pct_beneficiaries_men', - 'proposed_gov_partners', - 'proposed_num_nurseries', - 'proj_boundary', - 'states', - 'proj_impact_biodiv', + 'proposed_gov_partners' ]; public $fileConfiguration = [ @@ -499,7 +495,7 @@ private function submittedSiteReportIds(): array return $this->submittedSiteReports()->pluck('v2_site_reports.id')->toArray(); } - public function getTotalSitePolygons() + public function getTotalSitePolygonsAttribute() { return $this->sitePolygons()->count(); } From aa9c5bce68f89ea6db850fc7b3c64cc4625fd39b Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Tue, 4 Jun 2024 13:35:58 -0700 Subject: [PATCH 042/164] [TM-920] Make the validation of Point and Polygon geojsons much more robust. --- .../V2/Geometry/GeometryController.php | 25 ++++-- .../V2/Geometry/StoreGeometryRequest.php | 82 +++++++++++++++++-- 2 files changed, 92 insertions(+), 15 deletions(-) diff --git a/app/Http/Controllers/V2/Geometry/GeometryController.php b/app/Http/Controllers/V2/Geometry/GeometryController.php index 5bfca5101..9a2e170ac 100644 --- a/app/Http/Controllers/V2/Geometry/GeometryController.php +++ b/app/Http/Controllers/V2/Geometry/GeometryController.php @@ -8,9 +8,11 @@ use App\Models\V2\Sites\Site; use App\Services\PolygonService; use App\Validators\SitePolygonValidator; +use Illuminate\Auth\Access\AuthorizationException; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; use Illuminate\Support\Facades\App; +use Illuminate\Support\Facades\Validator; use Illuminate\Validation\ValidationException; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; @@ -38,6 +40,7 @@ class GeometryController extends Controller ]; /** + * @throws AuthorizationException * @deprecated Use POST /api/v2/geometry (include site id in the properties of each feature) */ public function storeSiteGeometry(Request $request, Site $site): JsonResponse @@ -51,28 +54,32 @@ public function storeSiteGeometry(Request $request, Site $site): JsonResponse $geometries = $request->input('geometries'); data_set($geometries, '*.features.*.properties.site_id', $site->uuid); - return response()->json($this->storePolygons($geometries), 201); + return response()->json($this->storeAndValidateGeometries($geometries), 201); } + /** + * @throws AuthorizationException + * @throws ValidationException + */ public function storeGeometry(StoreGeometryRequest $request): JsonResponse { - $geometries = $request->input('geometries'); - $siteIds = data_get($geometries, '*.features.*.properties.site_id'); - foreach (Site::whereIn('uuid', $siteIds)->get() as $site) { + $request->validateGeometries(); + foreach ($request->getSites() as $site) { $this->authorize('uploadPolygons', $site); } - return response()->json($this->storePolygons($geometries), 201); + return response()->json($this->storeAndValidateGeometries($request->getGeometries()), 201); } - protected function storePolygons($polygons): array + protected function storeAndValidateGeometries($geometries): array { /** @var PolygonService $service */ $service = App::make(PolygonService::class); $polygonUuids = []; - foreach ($polygons as $polygon) { - // We expect single polys on this endpoint, so just pull the first uuid returned - $polygonUuids[] = $service->createGeojsonModels($polygon)[0]; + foreach ($geometries as $geometry) { + // In this controller we require either single polys or a collection of Points, which get turned into a + // single poly, so just pull the first UUID returned + $polygonUuids[] = $service->createGeojsonModels($geometry)[0]; } // Do the validation in a separate step so that all of the existing polygons are taken into account diff --git a/app/Http/Requests/V2/Geometry/StoreGeometryRequest.php b/app/Http/Requests/V2/Geometry/StoreGeometryRequest.php index 73ee7d054..01ca37e42 100644 --- a/app/Http/Requests/V2/Geometry/StoreGeometryRequest.php +++ b/app/Http/Requests/V2/Geometry/StoreGeometryRequest.php @@ -2,23 +2,93 @@ namespace App\Http\Requests\V2\Geometry; +use App\Models\V2\Sites\Site; use Illuminate\Foundation\Http\FormRequest; +use Illuminate\Support\Facades\Validator; +use Illuminate\Validation\ValidationException; class StoreGeometryRequest extends FormRequest { - public function authorize() + protected array $geometries; + protected array $siteIds; + protected array $sites; + + public function authorize(): bool { return true; } - public function rules() + public function rules(): array { - // The rest of the validity of these will be processed within the controller. The geometries still get - // persisted, but with codes associated as not passing certain validations. The whole request should fail - // however if the site id is missing from any of the geometries. return [ 'geometries' => 'required|array', - 'geometries.*.features.*.properties.site_id' => 'required|string', + 'geometries.*.features' => 'required|array|min:1', + 'geometries.*.features.*.geometry.type' => 'required|string|in:Point,Polygon', ]; } + + public function getGeometries(): array + { + if (! empty($this->geometries)) { + return $this->geometries; + } + + return $this->geometries = $this->input('geometries'); + } + + public function getSiteIds(): array + { + if (! empty($this->siteIds)) { + return $this->siteIds; + } + + return $this->siteIds = collect( + data_get($this->getGeometries(), '*.features.*.properties.site_id') + )->unique()->flatten()->toArray(); + } + + public function getSites() + { + if (! empty($this->sites)) { + return $this->sites; + } + + return $this->sites = Site::whereIn('uuid', $this->getSiteIds())->get(); + } + + /** + * @throws ValidationException + */ + public function validateGeometries(): void + { + // Make sure the data is coherent. Since we accept both Polygons and Points on this request, we have to + // validate each geometry individually, rather than in the rules above + foreach ($this->getGeometries() as $geometry) { + $type = data_get($geometry, 'features.0.geometry.type'); + if ($type == 'Polygon') { + // Require that we only have one geometry and that it has a site_id specified + Validator::make($geometry, [ + 'features' => 'size:1', + 'features.0.properties.site_id' => 'required|string', + ])->validate(); + + // This is guaranteed to be Point given the rules specified in rules() + } else { + // Require that all geometries in the collection are valid points, include estimated area, and that the + // collection has exactly one unique site id. + $siteIds = collect(data_get($geometry, 'features.*.properties.site_id'))->unique()->flatten()->toArray(); + Validator::make(['geometry' => $geometry, 'site_ids' => $siteIds], [ + 'geometry.features.*.geometry.type' => 'required|string|in:Point', + 'geometry.features.*.geometry.coordinates' => 'required|array|size:2', + 'geometry.features.*.properties.est_area' => 'required|numeric|min:1', + 'site_ids' => 'required|array|size:1' + ])->validate(); + } + } + + // Structure this as a validation exception just to make the return shape of this endpoint consistent. + Validator::make(['num_sites' => count($this->getSites()), 'num_site_ids' => count($this->getSiteIds())], [ + 'num_sites' => 'same:num_site_ids' + ])->validate(); + } } From 6214264e5d28cf482475d8f36525a868f44e5ce6 Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Tue, 4 Jun 2024 14:03:27 -0700 Subject: [PATCH 043/164] [TM-920] Store individual Points in the DB. --- .../V2/Geometry/GeometryController.php | 6 +- .../V2/Geometry/StoreGeometryRequest.php | 8 ++- app/Services/PolygonService.php | 68 ++++++++++++++++++- 3 files changed, 77 insertions(+), 5 deletions(-) diff --git a/app/Http/Controllers/V2/Geometry/GeometryController.php b/app/Http/Controllers/V2/Geometry/GeometryController.php index 9a2e170ac..664d85d79 100644 --- a/app/Http/Controllers/V2/Geometry/GeometryController.php +++ b/app/Http/Controllers/V2/Geometry/GeometryController.php @@ -12,7 +12,6 @@ use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; use Illuminate\Support\Facades\App; -use Illuminate\Support\Facades\Validator; use Illuminate\Validation\ValidationException; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; @@ -181,6 +180,11 @@ public function updateGeometry(Request $request, PolygonGeometry $polygon): Json protected function runStoredGeometryValidations(string $polygonUuid): array { + // TODO: remove when the point transformation ticket is complete + if ($polygonUuid == PolygonService::TEMP_FAKE_POLYGON_UUID) { + return []; + } + /** @var PolygonService $service */ $service = App::make(PolygonService::class); $data = ['geometry' => $polygonUuid]; diff --git a/app/Http/Requests/V2/Geometry/StoreGeometryRequest.php b/app/Http/Requests/V2/Geometry/StoreGeometryRequest.php index 01ca37e42..6bcfa549a 100644 --- a/app/Http/Requests/V2/Geometry/StoreGeometryRequest.php +++ b/app/Http/Requests/V2/Geometry/StoreGeometryRequest.php @@ -10,7 +10,9 @@ class StoreGeometryRequest extends FormRequest { protected array $geometries; + protected array $siteIds; + protected array $sites; public function authorize(): bool @@ -72,7 +74,7 @@ public function validateGeometries(): void 'features.0.properties.site_id' => 'required|string', ])->validate(); - // This is guaranteed to be Point given the rules specified in rules() + // This is guaranteed to be Point given the rules specified in rules() } else { // Require that all geometries in the collection are valid points, include estimated area, and that the // collection has exactly one unique site id. @@ -81,14 +83,14 @@ public function validateGeometries(): void 'geometry.features.*.geometry.type' => 'required|string|in:Point', 'geometry.features.*.geometry.coordinates' => 'required|array|size:2', 'geometry.features.*.properties.est_area' => 'required|numeric|min:1', - 'site_ids' => 'required|array|size:1' + 'site_ids' => 'required|array|size:1', ])->validate(); } } // Structure this as a validation exception just to make the return shape of this endpoint consistent. Validator::make(['num_sites' => count($this->getSites()), 'num_site_ids' => count($this->getSiteIds())], [ - 'num_sites' => 'same:num_site_ids' + 'num_sites' => 'same:num_site_ids', ])->validate(); } } diff --git a/app/Services/PolygonService.php b/app/Services/PolygonService.php index 89193f23e..46c8ef3cc 100644 --- a/app/Services/PolygonService.php +++ b/app/Services/PolygonService.php @@ -2,6 +2,7 @@ namespace App\Services; +use App\Models\V2\PointGeometry; use App\Models\V2\PolygonGeometry; use App\Models\V2\Sites\CriteriaSite; use App\Models\V2\Sites\SitePolygon; @@ -24,8 +25,26 @@ class PolygonService public const SCHEMA_CRITERIA_ID = 13; public const DATA_CRITERIA_ID = 14; + // TODO: Remove this const and its usages when the point transformation ticket is complete. + public const TEMP_FAKE_POLYGON_UUID = 'temp_fake_polygon_uuid'; + + protected const POINT_PROPERTIES = [ + 'site_id', + 'poly_name', + 'plantstart', + 'plantend', + 'practice', + 'target_sys', + 'distr', + 'num_trees', + ]; + public function createGeojsonModels($geojson, $sitePolygonProperties = []): array { + if (data_get($geojson, 'features.0.geometry.type') == 'Point') { + return [$this->transformAndStorePoints($geojson, $sitePolygonProperties)]; + } + $uuids = []; foreach ($geojson['features'] as $feature) { if ($feature['geometry']['type'] === 'Polygon') { @@ -89,12 +108,21 @@ public function updateGeojsonModels(PolygonGeometry $polygonGeometry, array $geo )); } + protected function getGeom(array $geometry) + { + // Convert geometry to GeoJSON string + $geojson = json_encode(['type' => 'Feature', 'geometry' => $geometry, 'crs' => ['type' => 'name', 'properties' => ['name' => 'EPSG:4326']]]); + + // get GeoJSON data in the database + return DB::raw("ST_GeomFromGeoJSON('$geojson')"); + } + protected function getGeomAndArea(array $geometry): array { // Convert geometry to GeoJSON string $geojson = json_encode(['type' => 'Feature', 'geometry' => $geometry, 'crs' => ['type' => 'name', 'properties' => ['name' => 'EPSG:4326']]]); - // Update GeoJSON data in the database + // Get GeoJSON data in the database $geom = DB::raw("ST_GeomFromGeoJSON('$geojson')"); $areaSqDegrees = DB::selectOne("SELECT ST_Area(ST_GeomFromGeoJSON('$geojson')) AS area")->area; $latitude = DB::selectOne("SELECT ST_Y(ST_Centroid(ST_GeomFromGeoJSON('$geojson'))) AS latitude")->latitude; @@ -119,6 +147,16 @@ protected function insertSinglePolygon(array $geometry): array return ['uuid' => $polygonGeometry->uuid, 'area' => $dbGeometry['area']]; } + protected function insertSinglePoint(array $feature): string + { + return PointGeometry::create([ + 'geom' => $this->getGeom($feature['geometry']), + 'est_area' => data_get($feature, 'properties.est_area'), + 'created_by' => Auth::user()?->id, + 'last_modified_by' => Auth::user()?->id, + ])->uuid; + } + protected function insertSitePolygon(string $polygonUuid, array $properties) { try { @@ -180,4 +218,32 @@ protected function validateSitePolygonProperties(string $polygonUuid, array $pro 'est_area' => $properties['area'] ?? null, ]; } + + /** + * Each Point must have an est_area property, and at least one of them must have a site_id as well as + * all of the properties listed in SitePolygonValidator::SCHEMA for the resulting polygon to pass validation. + * + * @return string UUID of resulting PolygonGeometry + */ + protected function transformAndStorePoints($geojson, $sitePolygonProperties): string + { + $pointUuids = []; + foreach ($geojson['features'] as $feature) { + $pointUuids[] = $this->insertSinglePoint($feature); + } + + $properties = []; + foreach (self::POINT_PROPERTIES as $property) { + $properties[$property] = collect(data_get($geojson, "features.*.properties.$property"))->flatten()->first(); + } + $properties = array_merge($sitePolygonProperties, $properties); + + // TODO: + // * transform points from pointUuids into a polygon + // * Insert the polygon into PolygonGeometry + // * Create the SitePolygon using the data in $properties (including $properties['site_id'] to identify the site) + // * Return the PolygonGeometry's real UUID instead of this fake return + + return self::TEMP_FAKE_POLYGON_UUID; + } } From dd42551758fc3a8e94cd5e7af7ff431f40d92250 Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Tue, 4 Jun 2024 15:38:36 -0700 Subject: [PATCH 044/164] [TM-920] Implement unit tests of StoreGeometryRequest validations. --- .../V2/Geometry/StoreGeometryRequest.php | 11 +- app/Services/PolygonService.php | 5 +- tests/V2/Geometry/GeometryControllerTest.php | 140 ++++++++++++++++++ 3 files changed, 148 insertions(+), 8 deletions(-) create mode 100644 tests/V2/Geometry/GeometryControllerTest.php diff --git a/app/Http/Requests/V2/Geometry/StoreGeometryRequest.php b/app/Http/Requests/V2/Geometry/StoreGeometryRequest.php index 6bcfa549a..41a587d40 100644 --- a/app/Http/Requests/V2/Geometry/StoreGeometryRequest.php +++ b/app/Http/Requests/V2/Geometry/StoreGeometryRequest.php @@ -46,16 +46,16 @@ public function getSiteIds(): array return $this->siteIds = collect( data_get($this->getGeometries(), '*.features.*.properties.site_id') - )->unique()->flatten()->toArray(); + )->unique()->filter()->toArray(); } - public function getSites() + public function getSites(): array { if (! empty($this->sites)) { return $this->sites; } - return $this->sites = Site::whereIn('uuid', $this->getSiteIds())->get(); + return $this->sites = Site::whereIn('uuid', $this->getSiteIds())->get()->all(); } /** @@ -70,7 +70,7 @@ public function validateGeometries(): void if ($type == 'Polygon') { // Require that we only have one geometry and that it has a site_id specified Validator::make($geometry, [ - 'features' => 'size:1', + 'features' => 'required|array|size:1', 'features.0.properties.site_id' => 'required|string', ])->validate(); @@ -78,7 +78,8 @@ public function validateGeometries(): void } else { // Require that all geometries in the collection are valid points, include estimated area, and that the // collection has exactly one unique site id. - $siteIds = collect(data_get($geometry, 'features.*.properties.site_id'))->unique()->flatten()->toArray(); + $siteIds = collect(data_get($geometry, 'features.*.properties.site_id')) + ->unique()->filter()->toArray(); Validator::make(['geometry' => $geometry, 'site_ids' => $siteIds], [ 'geometry.features.*.geometry.type' => 'required|string|in:Point', 'geometry.features.*.geometry.coordinates' => 'required|array|size:2', diff --git a/app/Services/PolygonService.php b/app/Services/PolygonService.php index 46c8ef3cc..f6daba91d 100644 --- a/app/Services/PolygonService.php +++ b/app/Services/PolygonService.php @@ -232,14 +232,13 @@ protected function transformAndStorePoints($geojson, $sitePolygonProperties): st $pointUuids[] = $this->insertSinglePoint($feature); } - $properties = []; + $properties = $sitePolygonProperties; foreach (self::POINT_PROPERTIES as $property) { $properties[$property] = collect(data_get($geojson, "features.*.properties.$property"))->flatten()->first(); } - $properties = array_merge($sitePolygonProperties, $properties); // TODO: - // * transform points from pointUuids into a polygon + // * transform points into a polygon // * Insert the polygon into PolygonGeometry // * Create the SitePolygon using the data in $properties (including $properties['site_id'] to identify the site) // * Return the PolygonGeometry's real UUID instead of this fake return diff --git a/tests/V2/Geometry/GeometryControllerTest.php b/tests/V2/Geometry/GeometryControllerTest.php new file mode 100644 index 000000000..d304f5709 --- /dev/null +++ b/tests/V2/Geometry/GeometryControllerTest.php @@ -0,0 +1,140 @@ +serviceAccount()->create(); + Artisan::call('v2migration:roles'); + if (WorldCountryGeneralized::count() == 0) { + $this->seed(WorldCountriesGeneralizedTableSeeder::class); + } + + // No geometry + $this->assertCreateError('features field is required', $service, [ + $this->fakeGeojson([]), + ]); + + // Invalid geometry type + $this->assertCreateError('type is invalid', $service, [ + $this->fakeGeojson([['type' => 'Feature', 'geometry' => ['type' => 'MultiPolygon']]]), + ]); + + // Multiple polygons + $this->assertCreateError('features must contain 1 item', $service, [ + $this->fakeGeojson([$this->fakePolygon(), $this->fakePolygon()]), + ]); + + // Missing site id + $this->assertCreateError('site id field is required', $service, [ + $this->fakeGeojson([$this->fakePolygon()]), + ]); + + // Mixing polygons and points + $this->assertCreateError('type is invalid', $service, [ + $this->fakeGeojson([$this->fakePoint(), $this->fakePolygon()]), + ]); + + // Multiple site ids + $this->assertCreateError('site ids must contain 1 item', $service, [ + $this->fakeGeojson([$this->fakePoint(['site_id' => '123']), $this->fakePoint(['site_id' => '456'])]), + ]); + + // Missing est area + $this->assertCreateError('est_area field is required', $service, [ + $this->fakeGeojson([$this->fakePoint(['site_id' => '123'])]), + ]); + + // Invalid est area + $this->assertCreateError('est_area must be at least 1', $service, [ + $this->fakeGeojson([$this->fakePoint(['site_id' => '123', 'est_area' => -1])]), + ]); + + // Not all sites found + $site = Site::factory()->create(); + $this->assertCreateError('num sites and num site ids must match', $service, [ + $this->fakeGeojson([$this->fakePolygon(['site_id' => $site->uuid])]), + $this->fakeGeojson([$this->fakePolygon(['site_id' => 'asdf'])]), + ]); + + // Valid payload + $this->actingAs($service) + ->postJson('/api/v2/geometry', ['geometries' => [ + $this->fakeGeojson([$this->fakePolygon(['site_id' => $site->uuid])]), + $this->fakeGeojson([ + $this->fakePoint(['site_id' => $site->uuid, 'est_area' => 10]), + $this->fakePoint(['est_area' => 20]), + ]), + ]]) + ->assertStatus(201); + } + + protected function assertCreateError(string $expected, $user, $geometries): void + { + $content = $this + ->actingAs($user) + ->postJson('/api/v2/geometry', ['geometries' => $geometries]) + ->assertStatus(422) + ->json(); + $this->assertStringContainsString($expected, implode('|', data_get($content, 'errors.*.detail'))); + } + + protected function fakeGeojson($features): array + { + return [ + 'type' => 'FeatureCollection', + 'features' => $features, + ]; + } + + protected function fakePoint($properties = []): array + { + return [ + 'type' => 'Feature', + 'geometry' => [ + 'type' => 'Point', + 'coordinates' => [45, -120], + ], + 'properties' => $properties, + ]; + } + + protected function fakePolygon($properties = []): array + { + return [ + 'type' => 'Feature', + 'geometry' => [ + 'type' => 'Polygon', + 'coordinates' => [[ + [ + 40.405701461490054, + -12.96724571876176, + ], + [ + 40.40517180334834, + -12.965903759897898, + ], + [ + 40.405701461490054, + -12.96724571876176, + ], + ]], + ], + 'properties' => $properties, + ]; + } +} From 6ca4637cfda921438b45da6b54038534a24d6ec6 Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Tue, 4 Jun 2024 15:49:18 -0700 Subject: [PATCH 045/164] [TM-920] Update docs --- app/Services/PolygonService.php | 2 +- openapi-src/V2/definitions/GeoJSON.yml | 8 +--- .../V2/paths/Geometry/post-v2-geometry.yml | 8 ++++ resources/docs/swagger-v2.yml | 43 ++++++------------- 4 files changed, 23 insertions(+), 38 deletions(-) diff --git a/app/Services/PolygonService.php b/app/Services/PolygonService.php index f6daba91d..cddbdd5bd 100644 --- a/app/Services/PolygonService.php +++ b/app/Services/PolygonService.php @@ -234,7 +234,7 @@ protected function transformAndStorePoints($geojson, $sitePolygonProperties): st $properties = $sitePolygonProperties; foreach (self::POINT_PROPERTIES as $property) { - $properties[$property] = collect(data_get($geojson, "features.*.properties.$property"))->flatten()->first(); + $properties[$property] = collect(data_get($geojson, "features.*.properties.$property"))->filter()->first(); } // TODO: diff --git a/openapi-src/V2/definitions/GeoJSON.yml b/openapi-src/V2/definitions/GeoJSON.yml index 0c42310e6..ca7ad6bd7 100644 --- a/openapi-src/V2/definitions/GeoJSON.yml +++ b/openapi-src/V2/definitions/GeoJSON.yml @@ -38,15 +38,9 @@ properties: properties: type: type: string - enum: [Polygon] + enum: [Polygon, Point] coordinates: type: array - items: - type: array - items: - type: array - items: - type: number diff --git a/openapi-src/V2/paths/Geometry/post-v2-geometry.yml b/openapi-src/V2/paths/Geometry/post-v2-geometry.yml index cad88d4cf..6c68ff071 100644 --- a/openapi-src/V2/paths/Geometry/post-v2-geometry.yml +++ b/openapi-src/V2/paths/Geometry/post-v2-geometry.yml @@ -2,6 +2,14 @@ summary: Upload bulk geometry operationId: post-v2-geometry tags: - V2 Geometry +description: | + Takes an array of geometries and adds them to the sites indicated. For each geometry, it may either be a + single Polygon (in which case the site_id is required), or it may be a FeatureCollection of Points. If a geometry + is a collection of points, then the site_id must be present on at least one of the points. If it is present on + multiple points, all points within a given collection must have the same site_id. + + For additional properties (plantstart, num_trees, etc) on Point geometries, if the properties are present on + multiple Points, the first non-null value for each is used. parameters: - in: body name: body diff --git a/resources/docs/swagger-v2.yml b/resources/docs/swagger-v2.yml index 5220f97cd..0cf2e0ac7 100644 --- a/resources/docs/swagger-v2.yml +++ b/resources/docs/swagger-v2.yml @@ -44022,14 +44022,9 @@ definitions: type: string enum: - Polygon + - Point coordinates: type: array - items: - type: array - items: - type: array - items: - type: number GeometryPost: title: SiteGeometryPost type: object @@ -93163,14 +93158,9 @@ paths: type: string enum: - Polygon + - Point coordinates: type: array - items: - type: array - items: - type: array - items: - type: number responses: '201': description: Created @@ -93780,14 +93770,9 @@ paths: type: string enum: - Polygon + - Point coordinates: type: array - items: - type: array - items: - type: array - items: - type: number responses: '200': description: 'OK: No validation errors occurred with the supplied geometries' @@ -93833,6 +93818,14 @@ paths: operationId: post-v2-geometry tags: - V2 Geometry + description: | + Takes an array of geometries and adds them to the sites indicated. For each geometry, it may either be a + single Polygon (in which case the site_id is required), or it may be a FeatureCollection of Points. If a geometry + is a collection of points, then the site_id must be present on at least one of the points. If it is present on + multiple points, all points within a given collection must have the same site_id. + + For additional properties (plantstart, num_trees, etc) on Point geometries, if the properties are present on + multiple Points, the first non-null value for each is used. parameters: - in: body name: body @@ -93886,14 +93879,9 @@ paths: type: string enum: - Polygon + - Point coordinates: type: array - items: - type: array - items: - type: array - items: - type: number responses: '201': description: Created @@ -94010,14 +93998,9 @@ paths: type: string enum: - Polygon + - Point coordinates: type: array - items: - type: array - items: - type: array - items: - type: number responses: '200': description: 'OK: Update was applied.' From 2d443e6e13f7b2ccdbb9ab2d040dbfd0fd5ccee6 Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Wed, 5 Jun 2024 08:43:41 -0700 Subject: [PATCH 046/164] [TM-920] Try storing logs as an artifact. --- .github/workflows/pull-request.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index d7b52b16e..ad790a9c3 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -13,3 +13,7 @@ jobs: run: make up - name: Lint & Test run: make test + - uses: actions/upload-artifact@v4 + with: + name: PHP Logs + path: storage/logs/ From 5f671034d0714471f0a736ea703b9581eeae735c Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Wed, 5 Jun 2024 08:55:46 -0700 Subject: [PATCH 047/164] [TM-920] Run the upload artifact step even if the test step fails. --- .github/workflows/pull-request.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index ad790a9c3..412aaa905 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -14,6 +14,8 @@ jobs: - name: Lint & Test run: make test - uses: actions/upload-artifact@v4 + if: always() with: name: PHP Logs path: storage/logs/ + if-no-files-found: ignore From af1482ea0a5e7c34bd78c2d4a5a8684d347560b8 Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Wed, 5 Jun 2024 08:57:12 -0700 Subject: [PATCH 048/164] [TM-920] Give all steps a real name. --- .github/workflows/pull-request.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 412aaa905..184c287e7 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -6,14 +6,16 @@ jobs: lintTest: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - name: Checkout repository + uses: actions/checkout@v4 - name: Install deps run: make composer - name: Bring up Docker run: make up - name: Lint & Test run: make test - - uses: actions/upload-artifact@v4 + - name: Store logs + uses: actions/upload-artifact@v4 if: always() with: name: PHP Logs From e8c9020528ab98621217d2937193be8f5c84e4a6 Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Wed, 5 Jun 2024 09:10:06 -0700 Subject: [PATCH 049/164] [TM-920] Avoid a divide by 0 error. --- app/Validators/Extensions/Polygons/WithinCountry.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/Validators/Extensions/Polygons/WithinCountry.php b/app/Validators/Extensions/Polygons/WithinCountry.php index 98571c3ba..4e6e71767 100644 --- a/app/Validators/Extensions/Polygons/WithinCountry.php +++ b/app/Validators/Extensions/Polygons/WithinCountry.php @@ -33,6 +33,9 @@ public static function getIntersectionData(string $polygonUuid): array if ($geometry === null) { return ['valid' => false, 'status' => 404, 'error' => 'Geometry not found']; } + if ($geometry->db_geometry->area == 0) { + return ['valid' => false, 'status' => 500, 'error' => 'Geometry invalid']; + } $sitePolygonData = SitePolygon::forPolygonGeometry($polygonUuid)->select('site_id')->first(); if ($sitePolygonData == null) { From 21fb955f736b7b0c4378581fad06dab1b9a3fb1d Mon Sep 17 00:00:00 2001 From: JORGE Date: Wed, 5 Jun 2024 15:47:28 -0400 Subject: [PATCH 050/164] return fillable values from staging --- app/Models/V2/Projects/Project.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/Models/V2/Projects/Project.php b/app/Models/V2/Projects/Project.php index 70a57fd0e..b7509644e 100644 --- a/app/Models/V2/Projects/Project.php +++ b/app/Models/V2/Projects/Project.php @@ -131,7 +131,11 @@ class Project extends Model implements MediaModel, AuditableContract, EntityMode 'pct_employees_marginalised', 'pct_beneficiaries_marginalised', 'pct_beneficiaries_men', - 'proposed_gov_partners' + 'proposed_gov_partners', + 'proposed_num_nurseries', + 'proj_boundary', + 'states', + 'proj_impact_biodiv' ]; public $fileConfiguration = [ From beed84d165aa19fc579b9e26fbb6bfadb52b71d2 Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Wed, 5 Jun 2024 21:26:00 -0700 Subject: [PATCH 051/164] [TM-911] Update API responses for projects and sites and their reports to include seeding counts. --- .../ProjectReports/ProjectReportResource.php | 1 + .../V2/SiteReports/SiteReportResource.php | 1 + app/Models/V2/Projects/Project.php | 8 ++-- app/Models/V2/Projects/ProjectReport.php | 37 ++++++++----------- app/Models/V2/Sites/SiteReport.php | 5 +++ 5 files changed, 27 insertions(+), 25 deletions(-) diff --git a/app/Http/Resources/V2/ProjectReports/ProjectReportResource.php b/app/Http/Resources/V2/ProjectReports/ProjectReportResource.php index f1e449077..9ce59f811 100644 --- a/app/Http/Resources/V2/ProjectReports/ProjectReportResource.php +++ b/app/Http/Resources/V2/ProjectReports/ProjectReportResource.php @@ -93,6 +93,7 @@ public function toArray($request) 'created_by' => $this->handleCreatedBy(), 'seedlings_grown' => $this->seedlings_grown, 'trees_planted_count' => $this->trees_planted_count, + 'seeds_planted_count' => $this->seeds_planted_count, 'community_progress' => $this->community_progress, 'equitable_opportunities' => $this->equitable_opportunities, 'local_engagement' => $this->local_engagement, diff --git a/app/Http/Resources/V2/SiteReports/SiteReportResource.php b/app/Http/Resources/V2/SiteReports/SiteReportResource.php index 1752d0ea5..c9cfda911 100644 --- a/app/Http/Resources/V2/SiteReports/SiteReportResource.php +++ b/app/Http/Resources/V2/SiteReports/SiteReportResource.php @@ -42,6 +42,7 @@ public function toArray($request) 'total_workdays_count' => $this->total_workdays_count, 'total_trees_planted_count' => $this->total_trees_planted_count, + 'total_seeds_planted_count' => $this->total_seeds_planted_count, 'due_at' => $this->due_at, 'approved_at' => $this->approved_at, diff --git a/app/Models/V2/Projects/Project.php b/app/Models/V2/Projects/Project.php index c946f5722..58bc83f7e 100644 --- a/app/Models/V2/Projects/Project.php +++ b/app/Models/V2/Projects/Project.php @@ -489,11 +489,11 @@ private function submittedSiteReports(): HasManyThrough } /** - * @return array The array of site report IDs for all reports associated with sites that have been approved, and - * have a report status not in due or started (reports that have been submitted). + * @return HasManyThrough The query of site report IDs for all reports associated with sites that have been + * approved, and have a report status not in due or started (reports that have been submitted). */ - private function submittedSiteReportIds(): array + private function submittedSiteReportIds(): HasManyThrough { - return $this->submittedSiteReports()->pluck('v2_site_reports.id')->toArray(); + return $this->submittedSiteReports()->select('v2_site_reports.id'); } } diff --git a/app/Models/V2/Projects/ProjectReport.php b/app/Models/V2/Projects/ProjectReport.php index cd2835fb7..6a740cc22 100644 --- a/app/Models/V2/Projects/ProjectReport.php +++ b/app/Models/V2/Projects/ProjectReport.php @@ -16,7 +16,7 @@ use App\Models\V2\Organisation; use App\Models\V2\Polygon; use App\Models\V2\ReportModel; -use App\Models\V2\Sites\Site; +use App\Models\V2\Seeding; use App\Models\V2\Sites\SiteReport; use App\Models\V2\Tasks\Task; use App\Models\V2\TreeSpecies\TreeSpecies; @@ -319,30 +319,25 @@ public function getSeedlingsGrownToDateAttribute(): int public function getTreesPlantedCountAttribute(): int { - $total = 0; - if (empty($this->due_at)) { - return $total; + if (empty($this->task_id)) { + return 0; } - $month = $this->due_at->month; - $year = $this->due_at->year; - $siteIds = Site::where('project_id', data_get($this->project, 'id')) - ->isApproved() - ->pluck('id') - ->toArray(); - - if (count($siteIds) > 0) { - $reports = SiteReport::whereIn('site_id', $siteIds) - ->whereMonth('due_at', $month) - ->whereYear('due_at', $year) - ->get(); - - foreach ($reports as $report) { - $total += $report->treeSpecies()->sum('amount'); - } + return TreeSpecies::where('speciesable_type', SiteReport::class) + ->whereIn('speciesable_id', $this->task->siteReports()->select('id')) + ->where('collection', TreeSpecies::COLLECTION_PLANTED) + ->sum('amount'); + } + + public function getSeedsPlantedCountAttribute(): int + { + if (empty($this->task_id)) { + return 0; } - return $total; + return Seeding::where('seedable_type', SiteReport::class) + ->whereIn('seedable_id', $this->task->siteReports()->select('id')) + ->sum('amount'); } public function getTotalJobsCreatedAttribute(): int diff --git a/app/Models/V2/Sites/SiteReport.php b/app/Models/V2/Sites/SiteReport.php index cbae89591..5c9bcac99 100644 --- a/app/Models/V2/Sites/SiteReport.php +++ b/app/Models/V2/Sites/SiteReport.php @@ -281,6 +281,11 @@ public function getTotalTreesPlantedCountAttribute(): int return $this->treeSpecies()->sum('amount'); } + public function getTotalSeedsPlantedCountAttribute(): int + { + return $this->seedings()->sum('amount'); + } + public function getOrganisationAttribute() { return $this->site ? $this->site->organisation : null; From f861aede66f47a43da8e57699068f20012056312 Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Thu, 6 Jun 2024 09:44:41 -0400 Subject: [PATCH 052/164] [TM-851 fix merge conflict with createGeojsonModels function] --- app/Services/PolygonService.php | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/app/Services/PolygonService.php b/app/Services/PolygonService.php index 329416709..2d4e9610c 100644 --- a/app/Services/PolygonService.php +++ b/app/Services/PolygonService.php @@ -24,13 +24,10 @@ class PolygonService public const SCHEMA_CRITERIA_ID = 13; public const DATA_CRITERIA_ID = 14; - public function createGeojsonModels($geojson, $sitePolygonProperties = [], ?string $site_id = null): array + public function createGeojsonModels($geojson, $sitePolygonProperties = []): array { $uuids = []; foreach ($geojson['features'] as $feature) { - if ($site_id !== null) { - $feature['properties']['site_id'] = $site_id; - } if ($feature['geometry']['type'] === 'Polygon') { $data = $this->insertSinglePolygon($feature['geometry']); $uuids[] = $data['uuid']; From b256cbc2295b3e730cd805a58c1a320a58926159 Mon Sep 17 00:00:00 2001 From: JORGE Date: Thu, 6 Jun 2024 11:33:10 -0400 Subject: [PATCH 053/164] [TM-617, 626, 627, 658] remove unnecesary class for activeprojecttableresource --- .../ActiveProjectsTableController.php | 5 ++--- .../Dashboard/ActiveProjectsTableResource.php | 19 ------------------- 2 files changed, 2 insertions(+), 22 deletions(-) delete mode 100644 app/Http/Resources/V2/Dashboard/ActiveProjectsTableResource.php diff --git a/app/Http/Controllers/V2/Dashboard/ActiveProjectsTableController.php b/app/Http/Controllers/V2/Dashboard/ActiveProjectsTableController.php index c38249bfe..3ece3a76b 100644 --- a/app/Http/Controllers/V2/Dashboard/ActiveProjectsTableController.php +++ b/app/Http/Controllers/V2/Dashboard/ActiveProjectsTableController.php @@ -4,7 +4,6 @@ use App\Helpers\TerrafundDashboardQueryHelper; use App\Http\Controllers\Controller; -use App\Http\Resources\V2\Dashboard\ActiveProjectsTableResource; use App\Models\V2\Forms\FormOptionList; use App\Models\V2\Forms\FormOptionListOption; use Illuminate\Http\Request; @@ -13,7 +12,7 @@ class ActiveProjectsTableController extends Controller { - public function __invoke(Request $request): ActiveProjectsTableResource + public function __invoke(Request $request) { $perPage = $request->input('per_page', PHP_INT_MAX); $page = $request->input('page', 1); @@ -21,7 +20,7 @@ public function __invoke(Request $request): ActiveProjectsTableResource $projects = $this->getAllProjects($request, $perPage, $page); $count = $this->getQuery($request)->count(); - return new ActiveProjectsTableResource([ + return response()->json([ 'current_page' => $page, 'data' => $projects, 'per_page' => $perPage, diff --git a/app/Http/Resources/V2/Dashboard/ActiveProjectsTableResource.php b/app/Http/Resources/V2/Dashboard/ActiveProjectsTableResource.php deleted file mode 100644 index 5fd0250ac..000000000 --- a/app/Http/Resources/V2/Dashboard/ActiveProjectsTableResource.php +++ /dev/null @@ -1,19 +0,0 @@ -resource; - } -} From 89caf9f992bcb4e7bacefbafeaffff5898fb4b82 Mon Sep 17 00:00:00 2001 From: JORGE Date: Thu, 6 Jun 2024 11:36:58 -0400 Subject: [PATCH 054/164] [TM-617, 626, 627, 658] remove unnecesary parse of class --- .../V2/Dashboard/ViewRestorationStrategyController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Http/Controllers/V2/Dashboard/ViewRestorationStrategyController.php b/app/Http/Controllers/V2/Dashboard/ViewRestorationStrategyController.php index 32ca7ce77..a4e15eab5 100644 --- a/app/Http/Controllers/V2/Dashboard/ViewRestorationStrategyController.php +++ b/app/Http/Controllers/V2/Dashboard/ViewRestorationStrategyController.php @@ -30,7 +30,7 @@ public function __invoke(Request $request): JsonResponse 'landTenures' => $this->getResultArray($landTenures, 'land_tenure'), ]; - return new JsonResponse(ViewRestorationStrategyResource::make($result)); + return response()->json($result); } private function buildProjectQuery(Request $request) From 28815843d8225f0330ffa87e56ef6581565ace79 Mon Sep 17 00:00:00 2001 From: JORGE Date: Thu, 6 Jun 2024 11:42:57 -0400 Subject: [PATCH 055/164] [TM-617, 626, 627, 658] move to constant of the class --- .../Dashboard/ProjectListExportController.php | 9 ++++---- .../ViewRestorationStrategyController.php | 22 +++++++----------- .../ViewRestorationStrategyResource.php | 23 ------------------- 3 files changed, 12 insertions(+), 42 deletions(-) delete mode 100644 app/Http/Resources/V2/Dashboard/ViewRestorationStrategyResource.php diff --git a/app/Http/Controllers/V2/Dashboard/ProjectListExportController.php b/app/Http/Controllers/V2/Dashboard/ProjectListExportController.php index 9d6d1611e..16336cf90 100644 --- a/app/Http/Controllers/V2/Dashboard/ProjectListExportController.php +++ b/app/Http/Controllers/V2/Dashboard/ProjectListExportController.php @@ -53,11 +53,10 @@ public function exportCsv($request) $csvContent = $csv->toString(); - $fileName = 'activeProject.csv'; - return response($csvContent, 200, [ - 'Content-Type' => 'text/csv', - 'Content-Disposition' => 'attachment; filename="' . $fileName . '"', - ]); + 'Content-Type' => 'text/csv', + 'Content-Disposition' => 'attachment; filename=activeProject.csv', + ]); + } } diff --git a/app/Http/Controllers/V2/Dashboard/ViewRestorationStrategyController.php b/app/Http/Controllers/V2/Dashboard/ViewRestorationStrategyController.php index a4e15eab5..b749c7ac3 100644 --- a/app/Http/Controllers/V2/Dashboard/ViewRestorationStrategyController.php +++ b/app/Http/Controllers/V2/Dashboard/ViewRestorationStrategyController.php @@ -4,7 +4,6 @@ use App\Helpers\TerrafundDashboardQueryHelper; use App\Http\Controllers\Controller; -use App\Http\Resources\V2\Dashboard\ViewRestorationStrategyResource; use App\Models\V2\Sites\Site; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; @@ -12,6 +11,10 @@ class ViewRestorationStrategyController extends Controller { + protected const RESTORATION_STRATEGIES = ['direct-seeding', 'tree-planting', 'assisted-natural-regeneration']; + protected const LAND_USE_TYPES = ['agroforest', 'open-natural-ecosystem', 'mangrove', 'natural-forest', 'peatland', 'riparian-area-or-wetland', 'silvopasture', 'urban-forest', 'woodlot-or-plantation']; + protected const LAND_TENURES = ['private', 'public', 'indigenous', 'other', 'national_protected_area', 'communal']; + public function __invoke(Request $request): JsonResponse { $query = $this->buildProjectQuery($request); @@ -35,19 +38,14 @@ public function __invoke(Request $request): JsonResponse private function buildProjectQuery(Request $request) { - - $query = TerrafundDashboardQueryHelper::buildQueryFromRequest($request); - - return $query; + return TerrafundDashboardQueryHelper::buildQueryFromRequest($request); } private function getRestorationStrategy(array $projectIds) { - $strategies = ['direct-seeding', 'tree-planting', 'assisted-natural-regeneration']; - $conditions = implode(' OR ', array_map(function ($strategy) { return "JSON_UNQUOTE(JSON_EXTRACT(restoration_strategy, CONCAT('\$[', numbers.n, ']'))) = '$strategy'"; - }, $strategies)); + }, self::RESTORATION_STRATEGIES)); $numbers = implode(' UNION ALL ', array_map(function ($n) { return "SELECT $n AS n"; @@ -71,11 +69,9 @@ private function getRestorationStrategy(array $projectIds) private function getLandUseType(array $projectIds) { - $landUseTypes = ['agroforest', 'open-natural-ecosystem', 'mangrove', 'natural-forest', 'peatland', 'riparian-area-or-wetland', 'silvopasture', 'urban-forest', 'woodlot-or-plantation']; - $conditions = implode(' OR ', array_map(function ($type) { return "JSON_UNQUOTE(JSON_EXTRACT(v2_sites.land_use_types, CONCAT('\$[', numbers.n, ']'))) = '$type'"; - }, $landUseTypes)); + }, self::LAND_USE_TYPES)); $numbers = implode(' UNION ALL ', array_map(function ($n) { return "SELECT $n AS n"; @@ -99,11 +95,9 @@ private function getLandUseType(array $projectIds) private function getLandTenures(array $projectIds) { - $landTenures = ['private', 'public', 'indigenous', 'other', 'national_protected_area', 'communal']; - $conditions = implode(' OR ', array_map(function ($type) { return "JSON_UNQUOTE(JSON_EXTRACT(v2_sites.land_tenures, CONCAT('\$[', numbers.n, ']'))) = '$type'"; - }, $landTenures)); + }, self::LAND_TENURES)); $numbers = implode(' UNION ALL ', array_map(function ($n) { return "SELECT $n AS n"; diff --git a/app/Http/Resources/V2/Dashboard/ViewRestorationStrategyResource.php b/app/Http/Resources/V2/Dashboard/ViewRestorationStrategyResource.php deleted file mode 100644 index 50e5d58b0..000000000 --- a/app/Http/Resources/V2/Dashboard/ViewRestorationStrategyResource.php +++ /dev/null @@ -1,23 +0,0 @@ - $this->resource['restorationStrategies'] ?? null, - 'landUseTypes' => $this->resource['landUseTypes'] ?? null, - 'landTenures' => $this->resource['landTenures'] ?? null, - ]; - } -} From d01369f7ea5579a5ffb5726a9614502fb8dacc25 Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Thu, 6 Jun 2024 12:08:15 -0400 Subject: [PATCH 056/164] [TM-846] make lint fix --- app/Helpers/GeometryHelper.php | 2 +- .../V2/Terrafund/TerrafundEditGeometryController.php | 11 +++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/app/Helpers/GeometryHelper.php b/app/Helpers/GeometryHelper.php index 13b3b1bc2..337249d85 100644 --- a/app/Helpers/GeometryHelper.php +++ b/app/Helpers/GeometryHelper.php @@ -83,7 +83,7 @@ public function centroidOfProject($projectUuid) $polyIds = $project->sitePolygons()->pluck('poly_id')->toArray(); if (empty($polyIds)) { - return null; + return null; } $centroids = PolygonGeometry::selectRaw('ST_AsGeoJSON(ST_Centroid(geom)) AS centroid') diff --git a/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php b/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php index 0de39f676..fdeea0402 100644 --- a/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php +++ b/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php @@ -5,8 +5,6 @@ use App\Helpers\GeometryHelper; use App\Http\Controllers\Controller; use App\Models\V2\PolygonGeometry; -use App\Models\V2\Projects\Project; -use App\Models\V2\Sites\Site; use App\Models\V2\Sites\SitePolygon; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; @@ -59,9 +57,10 @@ public function updateProjectCentroid($polygonGeometry) { try { $sitePolygon = SitePolygon::where('poly_id', $polygonGeometry->uuid)->first(); - if (!$sitePolygon) { - Log::warning("Site polygon with UUID $polygonGeometry->uuid not found."); - return null; + if (! $sitePolygon) { + Log::warning("Site polygon with UUID $polygonGeometry->uuid not found."); + + return null; } $project = $sitePolygon->project; @@ -73,7 +72,7 @@ public function updateProjectCentroid($polygonGeometry) Log::warning("Invalid centroid for project UUID: $project->uuid"); } } else { - Log::warning("Project UUID not found."); + Log::warning('Project UUID not found.'); } } catch (\Exception $e) { Log::error('Error updating project centroid: ' . $e->getMessage()); From 62779f6a64f3977a2144b308ffe78dd7e11c65ea Mon Sep 17 00:00:00 2001 From: JORGE Date: Thu, 6 Jun 2024 12:09:11 -0400 Subject: [PATCH 057/164] [TM-617, 626, 627, 658] add filter for approved and submitted in PROJECT REPORT --- .../V2/Dashboard/ViewTreeRestorationGoalController.php | 10 +++------- app/Models/V2/Projects/ProjectReport.php | 4 ++++ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/app/Http/Controllers/V2/Dashboard/ViewTreeRestorationGoalController.php b/app/Http/Controllers/V2/Dashboard/ViewTreeRestorationGoalController.php index aaaa4f921..25fb7000b 100644 --- a/app/Http/Controllers/V2/Dashboard/ViewTreeRestorationGoalController.php +++ b/app/Http/Controllers/V2/Dashboard/ViewTreeRestorationGoalController.php @@ -61,10 +61,7 @@ public function __invoke(Request $request): JsonResponse private function prepareProjectQuery(Request $request) { - - $query = TerrafundDashboardQueryHelper::buildQueryFromRequest($request); - - return $query; + return TerrafundDashboardQueryHelper::buildQueryFromRequest($request); } private function getRawProjectIds($query) @@ -175,8 +172,7 @@ private function getLatestDueDate($distinctDates) private function getAverageSurvival(array $projectIds) { - $averageSurvivalRate = ProjectReport::whereIn('project_id', $projectIds)->avg('pct_survival_to_date'); - - return $averageSurvivalRate; + return ProjectReport::hasBeenSubmittedOrApproved()->whereIn('project_id', $projectIds)->avg('pct_survival_to_date'); } + } diff --git a/app/Models/V2/Projects/ProjectReport.php b/app/Models/V2/Projects/ProjectReport.php index cd2835fb7..98cacfb52 100644 --- a/app/Models/V2/Projects/ProjectReport.php +++ b/app/Models/V2/Projects/ProjectReport.php @@ -406,4 +406,8 @@ public function parentEntity(): BelongsTo { return $this->project(); } + public function scopeHasBeenSubmittedOrApproved($query) + { + return $query->whereIn('status', ['submitted', 'approved']); + } } From 09d30cc056d9ef336e9b316fc758a5117d0e31a9 Mon Sep 17 00:00:00 2001 From: JORGE Date: Thu, 6 Jun 2024 12:25:05 -0400 Subject: [PATCH 058/164] [TM-617, 626, 627, 658] add filter for approved only in PROJECT REPORT --- .../V2/Dashboard/ViewTreeRestorationGoalController.php | 3 +-- app/Models/V2/Projects/ProjectReport.php | 5 +---- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/app/Http/Controllers/V2/Dashboard/ViewTreeRestorationGoalController.php b/app/Http/Controllers/V2/Dashboard/ViewTreeRestorationGoalController.php index 25fb7000b..c9ba5469c 100644 --- a/app/Http/Controllers/V2/Dashboard/ViewTreeRestorationGoalController.php +++ b/app/Http/Controllers/V2/Dashboard/ViewTreeRestorationGoalController.php @@ -172,7 +172,6 @@ private function getLatestDueDate($distinctDates) private function getAverageSurvival(array $projectIds) { - return ProjectReport::hasBeenSubmittedOrApproved()->whereIn('project_id', $projectIds)->avg('pct_survival_to_date'); + return ProjectReport::isApproved()->whereIn('project_id', $projectIds)->avg('pct_survival_to_date'); } - } diff --git a/app/Models/V2/Projects/ProjectReport.php b/app/Models/V2/Projects/ProjectReport.php index 98cacfb52..03f7a8bdd 100644 --- a/app/Models/V2/Projects/ProjectReport.php +++ b/app/Models/V2/Projects/ProjectReport.php @@ -23,6 +23,7 @@ use App\Models\V2\User; use App\Models\V2\Workdays\Workday; use App\Models\V2\Workdays\WorkdayDemographic; +use App\StateMachines\ReportStatusStateMachine; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; @@ -406,8 +407,4 @@ public function parentEntity(): BelongsTo { return $this->project(); } - public function scopeHasBeenSubmittedOrApproved($query) - { - return $query->whereIn('status', ['submitted', 'approved']); - } } From b36535288eab5d5427c4924c527f61bd12ec3572 Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Thu, 6 Jun 2024 12:59:22 -0400 Subject: [PATCH 059/164] [TM-846] fix issues with definitions in openapi src folder --- .../definitions/SitePolygonsBboxResponse.yml | 4 +- .../paths/Sites/get-v2-sites-polygon-bbox.yml | 6 +- .../Sites/get-v2-sites-polygons-data.yml | 6 +- .../get-v2-geojson-complete-download.yml | 9 +- .../paths/Terrafund/get-v2-polygon-bbox.yml | 6 +- ...-v2-terrafund-validation-criteria-data.yml | 8 +- ...-v2-terrafund-validation-criteria-site.yml | 8 +- .../get-v2-terrafund-validation-polygon.yml | 8 +- ...t-v2-terrafund-validation-sitepolygons.yml | 16 +- .../Terrafund/post-v2-site-polygon-data.yml | 6 +- resources/docs/swagger-v2.yml | 395 +++++++++--------- 11 files changed, 213 insertions(+), 259 deletions(-) diff --git a/openapi-src/V2/definitions/SitePolygonsBboxResponse.yml b/openapi-src/V2/definitions/SitePolygonsBboxResponse.yml index 246a10085..0a454bac5 100644 --- a/openapi-src/V2/definitions/SitePolygonsBboxResponse.yml +++ b/openapi-src/V2/definitions/SitePolygonsBboxResponse.yml @@ -2,4 +2,6 @@ title: SitePolygonsBboxResponse type: object properties: bbox: - type: array \ No newline at end of file + type: array + items: + type: number \ No newline at end of file diff --git a/openapi-src/V2/paths/Sites/get-v2-sites-polygon-bbox.yml b/openapi-src/V2/paths/Sites/get-v2-sites-polygon-bbox.yml index 88470087e..f54bad8fb 100644 --- a/openapi-src/V2/paths/Sites/get-v2-sites-polygon-bbox.yml +++ b/openapi-src/V2/paths/Sites/get-v2-sites-polygon-bbox.yml @@ -8,10 +8,8 @@ parameters: responses: '200': description: Successful response - content: - application/json: - schema: - $ref: '../../definitions/_index.yml#/SitePolygonsBboxResponse' + schema: + $ref: '../../definitions/_index.yml#/SitePolygonsBboxResponse' '400': description: Bad request '500': diff --git a/openapi-src/V2/paths/Sites/get-v2-sites-polygons-data.yml b/openapi-src/V2/paths/Sites/get-v2-sites-polygons-data.yml index 9529905b4..485073593 100644 --- a/openapi-src/V2/paths/Sites/get-v2-sites-polygons-data.yml +++ b/openapi-src/V2/paths/Sites/get-v2-sites-polygons-data.yml @@ -8,10 +8,8 @@ parameters: responses: '200': description: Successful response - content: - application/json: - schema: - $ref: '../../definitions/_index.yml#/SitePolygonsDataResponse' + schema: + $ref: '../../definitions/_index.yml#/SitePolygonsDataResponse' '400': description: Bad request '500': diff --git a/openapi-src/V2/paths/Terrafund/get-v2-geojson-complete-download.yml b/openapi-src/V2/paths/Terrafund/get-v2-geojson-complete-download.yml index c5f6cdced..5073d4122 100644 --- a/openapi-src/V2/paths/Terrafund/get-v2-geojson-complete-download.yml +++ b/openapi-src/V2/paths/Terrafund/get-v2-geojson-complete-download.yml @@ -1,6 +1,5 @@ summary: Get Polygon as GeoJSON -description: | - Retrieve polygon geometry and properties as GeoJSON. +description: Retrieve polygon geometry and properties as GeoJSON. parameters: - in: query name: uuid @@ -10,10 +9,8 @@ parameters: responses: '200': description: Successful response - content: - application/json: - schema: - $ref: '../../definitions/_index.yml#/GeoJSONResponse' + schema: + $ref: '../../definitions/_index.yml#/GeoJSONResponse' '400': description: Bad request '500': diff --git a/openapi-src/V2/paths/Terrafund/get-v2-polygon-bbox.yml b/openapi-src/V2/paths/Terrafund/get-v2-polygon-bbox.yml index 3e63b06b0..19d0dee0c 100644 --- a/openapi-src/V2/paths/Terrafund/get-v2-polygon-bbox.yml +++ b/openapi-src/V2/paths/Terrafund/get-v2-polygon-bbox.yml @@ -8,10 +8,8 @@ parameters: responses: '200': description: Successful response - content: - application/json: - schema: - $ref: '../../definitions/_index.yml#/SitePolygonsBboxResponse' + schema: + $ref: '../../definitions/_index.yml#/SitePolygonsBboxResponse' '400': description: Bad request '500': diff --git a/openapi-src/V2/paths/Terrafund/get-v2-terrafund-validation-criteria-data.yml b/openapi-src/V2/paths/Terrafund/get-v2-terrafund-validation-criteria-data.yml index 5c9f537ef..6ecd1611e 100644 --- a/openapi-src/V2/paths/Terrafund/get-v2-terrafund-validation-criteria-data.yml +++ b/openapi-src/V2/paths/Terrafund/get-v2-terrafund-validation-criteria-data.yml @@ -5,12 +5,8 @@ parameters: required: true description: The UUID of the polygon type: string - schema: - type: string responses: '200': description: Successful response - content: - application/json: - schema: - $ref: '../../definitions/_index.yml#/V2TerrafundCriteriaData' \ No newline at end of file + schema: + $ref: '../../definitions/_index.yml#/V2TerrafundCriteriaData' \ No newline at end of file diff --git a/openapi-src/V2/paths/Terrafund/get-v2-terrafund-validation-criteria-site.yml b/openapi-src/V2/paths/Terrafund/get-v2-terrafund-validation-criteria-site.yml index 03d5c4644..acbb3b816 100644 --- a/openapi-src/V2/paths/Terrafund/get-v2-terrafund-validation-criteria-site.yml +++ b/openapi-src/V2/paths/Terrafund/get-v2-terrafund-validation-criteria-site.yml @@ -5,12 +5,8 @@ parameters: required: true description: The UUID of the polygon type: string - schema: - type: string responses: '200': description: Successful response - content: - application/json: - schema: - $ref: '../../definitions/_index.yml#/V2TerrafundCriteriaSite' \ No newline at end of file + schema: + $ref: '../../definitions/_index.yml#/V2TerrafundCriteriaSite' \ No newline at end of file diff --git a/openapi-src/V2/paths/Terrafund/get-v2-terrafund-validation-polygon.yml b/openapi-src/V2/paths/Terrafund/get-v2-terrafund-validation-polygon.yml index e7e7a433e..1f565764b 100644 --- a/openapi-src/V2/paths/Terrafund/get-v2-terrafund-validation-polygon.yml +++ b/openapi-src/V2/paths/Terrafund/get-v2-terrafund-validation-polygon.yml @@ -5,12 +5,8 @@ parameters: required: true description: The UUID of the polygon type: string - schema: - type: string responses: '200': description: Successful response - content: - application/json: - schema: - $ref: '../../definitions/_index.yml#/V2TerrafundCriteriaData' \ No newline at end of file + schema: + $ref: '../../definitions/_index.yml#/V2TerrafundCriteriaData' \ No newline at end of file diff --git a/openapi-src/V2/paths/Terrafund/get-v2-terrafund-validation-sitepolygons.yml b/openapi-src/V2/paths/Terrafund/get-v2-terrafund-validation-sitepolygons.yml index 79d89df49..6596857f6 100644 --- a/openapi-src/V2/paths/Terrafund/get-v2-terrafund-validation-sitepolygons.yml +++ b/openapi-src/V2/paths/Terrafund/get-v2-terrafund-validation-sitepolygons.yml @@ -5,16 +5,12 @@ parameters: required: true description: The UUID of the polygon type: string - schema: - type: string responses: "200": description: Successful response - content: - application/json: - schema: - type: object - properties: - message: - type: string - description: A message indicating the completion of validation for all site polygons. \ No newline at end of file + schema: + type: object + properties: + message: + type: string + description: A message indicating the completion of validation for all site polygons. \ No newline at end of file diff --git a/openapi-src/V2/paths/Terrafund/post-v2-site-polygon-data.yml b/openapi-src/V2/paths/Terrafund/post-v2-site-polygon-data.yml index 7291fb087..d472868e6 100644 --- a/openapi-src/V2/paths/Terrafund/post-v2-site-polygon-data.yml +++ b/openapi-src/V2/paths/Terrafund/post-v2-site-polygon-data.yml @@ -18,10 +18,8 @@ parameters: responses: '201': description: Successful response - content: - application/json: - schema: - $ref: '../../definitions/_index.yml#/SitePolygonCreateResponse' + schema: + $ref: '../../definitions/_index.yml#/SitePolygonCreateResponse' '400': description: Bad request '500': diff --git a/resources/docs/swagger-v2.yml b/resources/docs/swagger-v2.yml index 91e1a5301..20eebcf24 100644 --- a/resources/docs/swagger-v2.yml +++ b/resources/docs/swagger-v2.yml @@ -44215,6 +44215,8 @@ definitions: properties: bbox: type: array + items: + type: number SitePolygonResponse: type: object properties: @@ -93954,35 +93956,31 @@ paths: required: true description: The UUID of the polygon type: string - schema: - type: string responses: '200': description: Successful response - content: - application/json: - schema: - type: object - properties: - polygon_id: - type: string - description: The ID of the polygon - criteria_list: - type: array - description: List of validation criteria - items: - type: object - properties: - criteria_id: - type: integer - description: The ID of the criteria - latest_created_at: - type: string - format: date-time - description: The latest created at timestamp of the criteria - valid: - type: integer - description: 'Indicates if the criteria is valid or not (1 for valid, 0 for invalid)' + schema: + type: object + properties: + polygon_id: + type: string + description: The ID of the polygon + criteria_list: + type: array + description: List of validation criteria + items: + type: object + properties: + criteria_id: + type: integer + description: The ID of the criteria + latest_created_at: + type: string + format: date-time + description: The latest created at timestamp of the criteria + valid: + type: integer + description: 'Indicates if the criteria is valid or not (1 for valid, 0 for invalid)' /v2/terrafund/validation/criteria-data: get: summary: Get criteria data validation results for a polygon @@ -93992,35 +93990,31 @@ paths: required: true description: The UUID of the polygon type: string - schema: - type: string responses: '200': description: Successful response - content: - application/json: - schema: - type: object - properties: - polygon_id: - type: string - description: The ID of the polygon - criteria_list: - type: array - description: List of validation criteria - items: - type: object - properties: - criteria_id: - type: integer - description: The ID of the criteria - latest_created_at: - type: string - format: date-time - description: The latest created at timestamp of the criteria - valid: - type: integer - description: 'Indicates if the criteria is valid or not (1 for valid, 0 for invalid)' + schema: + type: object + properties: + polygon_id: + type: string + description: The ID of the polygon + criteria_list: + type: array + description: List of validation criteria + items: + type: object + properties: + criteria_id: + type: integer + description: The ID of the criteria + latest_created_at: + type: string + format: date-time + description: The latest created at timestamp of the criteria + valid: + type: integer + description: 'Indicates if the criteria is valid or not (1 for valid, 0 for invalid)' /v2/terrafund/validation/sitePolygons: get: summary: Run validation for all polygons in a site @@ -94030,19 +94024,15 @@ paths: required: true description: The UUID of the polygon type: string - schema: - type: string responses: '200': description: Successful response - content: - application/json: - schema: - type: object - properties: - message: - type: string - description: A message indicating the completion of validation for all site polygons. + schema: + type: object + properties: + message: + type: string + description: A message indicating the completion of validation for all site polygons. /v2/terrafund/validation/site: get: summary: Get criteria data validation results for all polygons in a site @@ -94052,27 +94042,23 @@ paths: required: true description: The UUID of the polygon type: string - schema: - type: string responses: '200': description: Successful response - content: - application/json: - schema: - type: array - items: - type: object - properties: - uuid: - type: string - description: The UUID of the polygon. - valid: - type: boolean - description: Indicates if the polygon is valid or not. - checked: - type: boolean - description: Indicates if the polygon has been checked before or not. + schema: + type: array + items: + type: object + properties: + uuid: + type: string + description: The UUID of the polygon. + valid: + type: boolean + description: Indicates if the polygon is valid or not. + checked: + type: boolean + description: Indicates if the polygon has been checked before or not. /v2/geometry/validate: post: summary: Test a set of geometries for validity @@ -94406,67 +94392,65 @@ paths: responses: '200': description: Successful response - content: - application/json: - schema: - title: SitePolygonsDataResponse - type: array - items: - title: SitePolygon - type: object - properties: - id: - type: integer - uuid: - type: string - project_id: - type: string - proj_name: - type: string - org_name: - type: string - poly_id: - type: string - poly_name: - type: string - site_id: - type: string - site_name: - type: string - plantstart: - type: string - format: date - plantend: - type: string - format: date - practice: - type: string - target_sys: - type: string - distr: - type: string - num_trees: - type: integer - calc_area: - type: number - format: float - created_by: - type: string - last_modified_by: - type: string - deleted_at: - type: string - format: date-time - created_at: - type: string - format: date-time - updated_at: - type: string - format: date-time - status: - type: string - country: - type: string + schema: + title: SitePolygonsDataResponse + type: array + items: + title: SitePolygon + type: object + properties: + id: + type: integer + uuid: + type: string + project_id: + type: string + proj_name: + type: string + org_name: + type: string + poly_id: + type: string + poly_name: + type: string + site_id: + type: string + site_name: + type: string + plantstart: + type: string + format: date + plantend: + type: string + format: date + practice: + type: string + target_sys: + type: string + distr: + type: string + num_trees: + type: integer + calc_area: + type: number + format: float + created_by: + type: string + last_modified_by: + type: string + deleted_at: + type: string + format: date-time + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + status: + type: string + country: + type: string '400': description: Bad request '500': @@ -94483,14 +94467,14 @@ paths: responses: '200': description: Successful response - content: - application/json: - schema: - title: SitePolygonsBboxResponse - type: object - properties: - bbox: - type: array + schema: + title: SitePolygonsBboxResponse + type: object + properties: + bbox: + type: array + items: + type: number '400': description: Bad request '500': @@ -94543,21 +94527,19 @@ paths: responses: '201': description: Successful response - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: Site polygon created successfully - uuid: - type: string - description: UUID of the created site polygon - area: - type: number - format: double - description: Calculated area in hectares + schema: + type: object + properties: + message: + type: string + example: Site polygon created successfully + uuid: + type: string + description: UUID of the created site polygon + area: + type: number + format: double + description: Calculated area in hectares '400': description: Bad request '500': @@ -94574,14 +94556,14 @@ paths: responses: '200': description: Successful response - content: - application/json: - schema: - title: SitePolygonsBboxResponse - type: object - properties: - bbox: - type: array + schema: + title: SitePolygonsBboxResponse + type: object + properties: + bbox: + type: array + items: + type: number '400': description: Bad request '500': @@ -94589,8 +94571,7 @@ paths: /v2/terrafund/geojson/complete: get: summary: Get Polygon as GeoJSON - description: | - Retrieve polygon geometry and properties as GeoJSON. + description: Retrieve polygon geometry and properties as GeoJSON. parameters: - in: query name: uuid @@ -94600,44 +94581,42 @@ paths: responses: '200': description: Successful response - content: - application/json: - schema: - type: object - properties: - type: - type: string - features: - type: array - items: + schema: + type: object + properties: + type: + type: string + features: + type: array + items: + type: object + properties: + type: + type: string + geometry: type: object properties: type: type: string - geometry: - type: object - properties: - type: - type: string - coordinates: - type: array - properties: - type: object - properties: - poly_name: - type: string - plantstart: - type: string - plantend: - type: string - practice: - type: string - target_sys: - type: string - distr: - type: string - num_trees: - type: integer + coordinates: + type: array + properties: + type: object + properties: + poly_name: + type: string + plantstart: + type: string + plantend: + type: string + practice: + type: string + target_sys: + type: string + distr: + type: string + num_trees: + type: integer '400': description: Bad request '500': From a5438ab2d27dcaaef189b4362f765ea6fb4c0c28 Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Thu, 6 Jun 2024 15:06:56 -0400 Subject: [PATCH 060/164] [TM-617] make lint fix --- app/Helpers/GeometryHelper.php | 2 +- app/Http/Controllers/V2/Dashboard/CountryDataController.php | 1 + .../Controllers/V2/Dashboard/ProjectListExportController.php | 2 +- app/Models/V2/Projects/Project.php | 4 ++-- app/Models/V2/Projects/ProjectReport.php | 1 - 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/app/Helpers/GeometryHelper.php b/app/Helpers/GeometryHelper.php index eca5040eb..55c25234c 100644 --- a/app/Helpers/GeometryHelper.php +++ b/app/Helpers/GeometryHelper.php @@ -18,7 +18,7 @@ public function centroidOfProject($projectUuid) $polyIds = $project->sitePolygons()->pluck('poly_id')->toArray(); if (empty($polyIds)) { - return null; + return null; } $centroids = PolygonGeometry::selectRaw('ST_AsGeoJSON(ST_Centroid(geom)) AS centroid') diff --git a/app/Http/Controllers/V2/Dashboard/CountryDataController.php b/app/Http/Controllers/V2/Dashboard/CountryDataController.php index 533ff5ec5..48fcb98d2 100644 --- a/app/Http/Controllers/V2/Dashboard/CountryDataController.php +++ b/app/Http/Controllers/V2/Dashboard/CountryDataController.php @@ -80,6 +80,7 @@ public function getProjectData(string $uuid) if (! $project) { Log::error("Project not found for project with UUID: $uuid"); + return response()->json(['error' => 'Project not found'], 404); } $countSitePolygons = $project->total_site_polygons; diff --git a/app/Http/Controllers/V2/Dashboard/ProjectListExportController.php b/app/Http/Controllers/V2/Dashboard/ProjectListExportController.php index 16336cf90..1aa65a7af 100644 --- a/app/Http/Controllers/V2/Dashboard/ProjectListExportController.php +++ b/app/Http/Controllers/V2/Dashboard/ProjectListExportController.php @@ -57,6 +57,6 @@ public function exportCsv($request) 'Content-Type' => 'text/csv', 'Content-Disposition' => 'attachment; filename=activeProject.csv', ]); - + } } diff --git a/app/Models/V2/Projects/Project.php b/app/Models/V2/Projects/Project.php index c4ca52300..9350d5cd0 100644 --- a/app/Models/V2/Projects/Project.php +++ b/app/Models/V2/Projects/Project.php @@ -135,7 +135,7 @@ class Project extends Model implements MediaModel, AuditableContract, EntityMode 'proposed_num_nurseries', 'proj_boundary', 'states', - 'proj_impact_biodiv' + 'proj_impact_biodiv', ]; public $fileConfiguration = [ @@ -503,4 +503,4 @@ public function getTotalSitePolygonsAttribute() { return $this->sitePolygons()->count(); } -} \ No newline at end of file +} diff --git a/app/Models/V2/Projects/ProjectReport.php b/app/Models/V2/Projects/ProjectReport.php index 03b7118ab..6a740cc22 100644 --- a/app/Models/V2/Projects/ProjectReport.php +++ b/app/Models/V2/Projects/ProjectReport.php @@ -23,7 +23,6 @@ use App\Models\V2\User; use App\Models\V2\Workdays\Workday; use App\Models\V2\Workdays\WorkdayDemographic; -use App\StateMachines\ReportStatusStateMachine; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; From dca5a2b83dc71fbe6b5318a130a02efb8a6877f1 Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Thu, 6 Jun 2024 13:20:01 -0700 Subject: [PATCH 061/164] [TM-882] Support merging of sections of the spreadsheet into a single collection. --- app/Console/Commands/BulkWorkdayImport.php | 23 ++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/app/Console/Commands/BulkWorkdayImport.php b/app/Console/Commands/BulkWorkdayImport.php index 18f6acc77..d14c2831e 100644 --- a/app/Console/Commands/BulkWorkdayImport.php +++ b/app/Console/Commands/BulkWorkdayImport.php @@ -47,8 +47,10 @@ class BulkWorkdayImport extends Command 'projects' => [ 'Paid_project_management' => Workday::COLLECTION_PROJECT_PAID_PROJECT_MANAGEMENT, 'Vol_project_management' => Workday::COLLECTION_PROJECT_VOLUNTEER_PROJECT_MANAGEMENT, - 'Paid_nursery_operations' => Workday::COLLECTION_PROJECT_PAID_NURSERY_OPERATIONS, - 'Vol_nursery_operations' => Workday::COLLECTION_PROJECT_VOLUNTEER_NURSERY_OPERATIONS, + 'Paid_nursery_ops' => Workday::COLLECTION_PROJECT_PAID_NURSERY_OPERATIONS, + 'Vol_nursery_ops' => Workday::COLLECTION_PROJECT_VOLUNTEER_NURSERY_OPERATIONS, + 'Paid_seed_collection' => Workday::COLLECTION_PROJECT_PAID_NURSERY_OPERATIONS, + 'Vol_seed_collection' => Workday::COLLECTION_PROJECT_VOLUNTEER_NURSERY_OPERATIONS, 'Paid_other' => Workday::COLLECTION_PROJECT_PAID_OTHER, 'Vol_other' => Workday::COLLECTION_PROJECT_VOLUNTEER_OTHER, ], @@ -199,9 +201,22 @@ protected function parseRow($csvRow): ?array continue; } - $data = $this->getData($column['collection'], $column['demographic'], $cell, $csvRow); + $collection = $column['collection']; + $data = $this->getData($collection, $column['demographic'], $cell, $csvRow); if (! empty($data)) { - $row[$column['collection']][] = $data; + $combinedRecords = false; + foreach ($row[$collection] ?? [] as &$existingData) { + if ($existingData['type'] == $data['type'] && + $existingData['subtype'] == $data['subtype'] && + $existingData['name'] == $data['name']) { + $combinedRecords = true; + $existingData['amount'] += $data['amount']; + break; + } + } + if (!$combinedRecords) { + $row[$collection][] = $data; + } } } From ded1500df5051f92ede532c01ccab9ad5069b9fd Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Thu, 6 Jun 2024 13:23:05 -0700 Subject: [PATCH 062/164] [TM-882] Support rounding decimal values. --- app/Console/Commands/BulkWorkdayImport.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Console/Commands/BulkWorkdayImport.php b/app/Console/Commands/BulkWorkdayImport.php index d14c2831e..9639f34b1 100644 --- a/app/Console/Commands/BulkWorkdayImport.php +++ b/app/Console/Commands/BulkWorkdayImport.php @@ -246,7 +246,7 @@ protected function getData($collection, $demographic, $cell, $row): array return []; } - if (! is_numeric($cell) || ('' . (int)$cell) != trim($cell)) { + if (! is_numeric($cell)) { $this->abort('Invalid value: ' . json_encode([ 'collection' => $collection, @@ -255,7 +255,7 @@ protected function getData($collection, $demographic, $cell, $row): array ])); } - $demographic['amount'] = (int)$cell; + $demographic['amount'] = (int)round($cell); if (is_int($demographic['name'])) { // In this case, the "name" member is an index pointer to the column that holds the ethnicity // name. From 76e88aa46cc807f516bdd5bcd36bd6356a7feac6 Mon Sep 17 00:00:00 2001 From: JORGE Date: Thu, 6 Jun 2024 17:29:24 -0400 Subject: [PATCH 063/164] [TM-867] sort and filter --- app/Helpers/GeometryHelper.php | 3 + app/Helpers/TerrafundDashboardQueryHelper.php | 79 +++++-- .../V2/Dashboard/GetPolygonsController.php | 23 ++ .../V2/Entities/EntityTypeController.php | 119 ++++++++++ .../ViewSitesPolygonsForProjectController.php | 140 ++++++++++-- .../TerrafundEditGeometryController.php | 39 +++- app/Models/V2/Sites/SitePolygon.php | 4 +- .../V2/definitions/EntityTypeResponse.yml | 16 ++ .../V2/definitions/ProjectPipelinePost.yml | 23 ++ openapi-src/V2/definitions/_index.yml | 4 +- .../V2/paths/Entity/get-v2-type-entity.yml | 51 +++++ openapi-src/V2/paths/_index.yml | 8 +- resources/docs/swagger-v2.yml | 216 ++++++++++++++++++ routes/api_v2.php | 4 + 14 files changed, 680 insertions(+), 49 deletions(-) create mode 100644 app/Http/Controllers/V2/Entities/EntityTypeController.php create mode 100644 openapi-src/V2/definitions/EntityTypeResponse.yml create mode 100644 openapi-src/V2/definitions/ProjectPipelinePost.yml create mode 100644 openapi-src/V2/paths/Entity/get-v2-type-entity.yml diff --git a/app/Helpers/GeometryHelper.php b/app/Helpers/GeometryHelper.php index 55c25234c..96c918bcc 100644 --- a/app/Helpers/GeometryHelper.php +++ b/app/Helpers/GeometryHelper.php @@ -91,6 +91,9 @@ public function updateProjectCentroid(string $projectUuid) public static function getPolygonsBbox($polygonsIds) { + if (count($polygonsIds) === 0) { + return null; + } $envelopes = PolygonGeometry::whereIn('uuid', $polygonsIds) ->selectRaw('ST_ASGEOJSON(ST_Envelope(geom)) as envelope') ->get(); diff --git a/app/Helpers/TerrafundDashboardQueryHelper.php b/app/Helpers/TerrafundDashboardQueryHelper.php index f6a4b8745..008641be8 100644 --- a/app/Helpers/TerrafundDashboardQueryHelper.php +++ b/app/Helpers/TerrafundDashboardQueryHelper.php @@ -4,6 +4,7 @@ use App\Models\V2\Projects\Project; use App\Models\V2\Sites\SitePolygon; +use Illuminate\Support\Facades\Log; class TerrafundDashboardQueryHelper { @@ -24,37 +25,83 @@ public static function buildQueryFromRequest($request) return $query; } - public static function getPolygonIdsOfProject($request) + public static function retrievePolygonUuidsForProject($projectUuId) { - $projectIds = TerrafundDashboardQueryHelper::buildQueryFromRequest($request) - ->pluck('uuid'); - $polygonsIds = SitePolygon::whereHas('site.project', function ($query) use ($projectIds) { - $query->whereIn('uuid', $projectIds); - })->pluck('poly_id'); + $project = Project::where('uuid', $projectUuId)->first(); + $sitePolygons = $project->sitePolygons; + + $polygonsIds = $sitePolygons->pluck('poly_id'); return $polygonsIds; } - public static function getPolygonsByStatusOfProject($request) + public static function getPolygonIdsOfProject($request) { - $projectIds = TerrafundDashboardQueryHelper::buildQueryFromRequest($request) - ->pluck('uuid'); + $projectUuId = TerrafundDashboardQueryHelper::buildQueryFromRequest($request) + ->pluck('uuid')->first(); + + return self::retrievePolygonUuidsForProject($projectUuId); + } + + public static function getPolygonUuidsOfProject($request) + { + $projectUuId = $request->input('uuid'); + + return self::retrievePolygonUuidsForProject($projectUuId); + } + + public static function getPolygonsByStatus() + { + try { + $statuses = ['needs-more-information', 'submitted', 'approved']; + $polygons = []; + foreach ($statuses as $status) { + $polygonsOfProject = SitePolygon::where('status', $status) + ->whereNotNull('site_id') + ->where('site_id', '!=', 'NULL') + ->pluck('poly_id'); + + $polygons[$status] = $polygonsOfProject; + } - $statuses = ['Needs More Info', 'Submitted', 'Approved']; + return $polygons; + } catch (\Exception $e) { + Log::error('Error fetching polygons by status of project: ' . $e->getMessage()); + return []; + } + } + + public static function retrievePolygonUuidsByStatusForProject($projectUuid) + { + $project = Project::where('uuid', $projectUuid)->first(); + $sitePolygons = $project->sitePolygons; + $statuses = ['needs-more-information', 'submitted', 'approved']; $polygons = []; foreach ($statuses as $status) { - // Get polygons of the project filtered by status - $polygonsOfProject = SitePolygon::whereHas('site.project', function ($query) use ($projectIds) { - $query->whereIn('uuid', $projectIds); - }) - ->where('status', $status) - ->pluck('poly_id'); + $polygonsOfProject = $sitePolygons + ->where('status', $status) + ->pluck('poly_id'); $polygons[$status] = $polygonsOfProject; } return $polygons; } + + public static function getPolygonsByStatusOfProject($request) + { + $projectUuid = TerrafundDashboardQueryHelper::buildQueryFromRequest($request) + ->pluck('uuid')->first(); + + return self::retrievePolygonUuidsByStatusForProject($projectUuid); + } + + public static function getPolygonsUuidsByStatusForProject($request) + { + $projectUuid = $request->input('uuid'); + + return self::retrievePolygonUuidsByStatusForProject($projectUuid); + } } diff --git a/app/Http/Controllers/V2/Dashboard/GetPolygonsController.php b/app/Http/Controllers/V2/Dashboard/GetPolygonsController.php index cf210820b..7c2e9db37 100644 --- a/app/Http/Controllers/V2/Dashboard/GetPolygonsController.php +++ b/app/Http/Controllers/V2/Dashboard/GetPolygonsController.php @@ -31,6 +31,15 @@ public function getPolygonsByStatusOfProject(Request $request): GetPolygonsResou ]); } + public function getPolygonsUuidsByStatusForProject(Request $request): GetPolygonsResource + { + $polygonsIds = TerrafundDashboardQueryHelper::getPolygonsUuidsByStatusForProject($request); + + return new GetPolygonsResource([ + 'data' => $polygonsIds, + ]); + } + public function getBboxOfCompleteProject(Request $request) { try { @@ -44,4 +53,18 @@ public function getBboxOfCompleteProject(Request $request) return response()->json(['error' => 'An error occurred while fetching the bounding box coordinates'], 404); } } + + public function getProjectBbox(Request $request) + { + try { + $polygonsIds = TerrafundDashboardQueryHelper::getPolygonUuidsOfProject($request); + $bboxCoordinates = GeometryHelper::getPolygonsBbox($polygonsIds); + + return response()->json(['bbox' => $bboxCoordinates]); + } catch (\Exception $e) { + Log::error($e->getMessage()); + + return response()->json(['error' => 'An error occurred while fetching the bounding box coordinates'], 404); + } + } }; diff --git a/app/Http/Controllers/V2/Entities/EntityTypeController.php b/app/Http/Controllers/V2/Entities/EntityTypeController.php new file mode 100644 index 000000000..ad4748f2b --- /dev/null +++ b/app/Http/Controllers/V2/Entities/EntityTypeController.php @@ -0,0 +1,119 @@ +input('uuid'); + $type = $request->input('type'); + + if ($type === 'projects') { + return $this->handleProjectEntity($uuid, $request); + } elseif ($type === 'sites') { + return $this->handleSiteEntity($uuid, $request); + } + + return response()->json([ + 'type' => 'unknown', + 'uuid' => $uuid, + ]); + } catch (Exception $e) { + Log::error($e); + + return response()->json([ + 'error' => 'An error occurred while processing your request.', + ], 500); + } + } + + private function handleProjectEntity($uuid, Request $request) + { + try { + $project = Project::where('uuid', $uuid)->firstOrFail(); + $sitePolygons = $this->getSitePolygonsWithFiltersAndSorts($project->sitePolygons(), $request); + $polygonsUuids = $sitePolygons->pluck('poly_id'); + $bboxCoordinates = GeometryHelper::getPolygonsBbox($polygonsUuids); + + return response()->json([ + 'type' => 'project', + 'uuid' => $uuid, + 'polygonsData' => $sitePolygons, + 'bbox' => $bboxCoordinates, + ]); + } catch (ModelNotFoundException $e) { + Log::error($e); + + return response()->json([ + 'error' => 'The requested project was not found.', + ], 404); + } catch (Exception $e) { + Log::error($e); + + return response()->json([ + 'error' => 'An error occurred while retrieving the project.', + ], 500); + } + } + + private function handleSiteEntity($uuid, Request $request) + { + try { + $site = Site::where('uuid', $uuid)->firstOrFail(); + $sitePolygons = $this->getSitePolygonsWithFiltersAndSorts($site->sitePolygons(), $request); + $polygonsUuids = $sitePolygons->pluck('poly_id'); + $bboxCoordinates = GeometryHelper::getPolygonsBbox($polygonsUuids); + + return response()->json([ + 'type' => 'site', + 'uuid' => $uuid, + 'polygonsData' => $sitePolygons, + 'bbox' => $bboxCoordinates, + ]); + } catch (ModelNotFoundException $e) { + Log::error($e); + + return response()->json([ + 'error' => 'The requested site was not found.', + ], 404); + } catch (Exception $e) { + Log::error($e); + + return response()->json([ + 'error' => 'An error occurred while retrieving the site.', + ], 500); + } + } + + private function getSitePolygonsWithFiltersAndSorts($sitePolygonsQuery, Request $request) + { + if ($request->has('status') && $request->input('status')) { + $statusValues = explode(',', $request->input('status')); + $sitePolygonsQuery->whereIn('site_polygon.status', $statusValues); + } + + $sortFields = $request->input('sort', []); + foreach ($sortFields as $field => $direction) { + if ($field === 'status') { + $sitePolygonsQuery->orderByRaw('FIELD(site_polygon.status, "draft", "submitted", "needs-more-information", "approved") ' . $direction); + } elseif ($field === 'poly_name') { + $sitePolygonsQuery->orderByRaw('site_polygon.poly_name IS NULL, site_polygon.poly_name ' . $direction); + } else { + $sitePolygonsQuery->orderBy($field, $direction); + } + } + + return $sitePolygonsQuery->get(); + } +} diff --git a/app/Http/Controllers/V2/Polygons/ViewSitesPolygonsForProjectController.php b/app/Http/Controllers/V2/Polygons/ViewSitesPolygonsForProjectController.php index 7b37d13ea..2e4c6261b 100644 --- a/app/Http/Controllers/V2/Polygons/ViewSitesPolygonsForProjectController.php +++ b/app/Http/Controllers/V2/Polygons/ViewSitesPolygonsForProjectController.php @@ -1,33 +1,137 @@ authorize('read', $project); - $perPage = $request->query('per_page') ?? config('app.pagination_default', 15); - $siteIds = $project->sites()->pluck('id')->toArray(); - - if (empty($request->query('search'))) { - $qry = Site::whereIn('id', $siteIds); + $user = Auth::user(); + $role = $user->role; + if ($role === 'government') { + $isAllowed = Project::where('uuid', $uuid) + ->where('country', $user->country) + ->first(); + $response = (object)[ + 'allowed' => $isAllowed ? true : false, + ]; + } elseif ($role === 'funder') { + $isAllowed = Project::where('uuid', $uuid) + ->where('framework_key', $user->program) + ->first(); + $response = (object)[ + 'allowed' => $isAllowed ? true : false, + ]; + } elseif ($role === 'project_developer') { + $projectId = Project::where('uuid', $uuid) + ->value('id'); + $isInvite = ProjectInvite::where('email_address', $user->email_address) + ->where('project_id', $projectId) + ->first(); + $response = (object)[ + 'allowed' => $isInvite ? true : false, + ]; + } elseif ($role === 'admin' || $role === 'terrafund_admin') { + $response = (object)[ + 'allowed' => true, + ]; } else { - $qry = Site::search(trim($request->query('search'))) - ->whereIn('id', $siteIds); + $response = (object)[ + 'allowed' => false, + ]; } - $qry->orderBy('created_at', 'desc'); + return response()->json($response); + } + + public function getAllProjectsAllowedToUser() + { + try { + $user = Auth::user(); + $role = $user->role; + Log::info($role); + if ($role === 'admin' || $role === 'terrafund_admin' || $role === 'terrafund-admin') { + $response = TerrafundDashboardQueryHelper::getPolygonsByStatus(); + + return response()->json([ + 'polygonsUuids' => $response, + ]); + } else { + if ($role === 'government') { + try { + $projectUuids = Project::where('framework_key', 'terrafund')->where('country', $user->country)->pluck('uuid'); + } catch (\Exception $e) { + $errorMessage = $e->getMessage(); + Log::error('Error fetching projects for government: ' . $errorMessage); + + return response()->json(['error' => 'An error occurred while fetching government projects', 'message' => $errorMessage], 500); + } + } elseif ($role === 'funder') { + try { + $projectUuids = Project::where('framework_key', $user->program)->pluck('uuid'); + } catch (\Exception $e) { + $errorMessage = $e->getMessage(); + Log::error('Error fetching projects for funder: ' . $errorMessage); + + return response()->json(['error' => 'An error occurred while fetching funder projects', 'message' => $errorMessage], 500); + } + } elseif ($role === 'project_developer') { + try { + $projectIds = ProjectInvite::where('email_address', $user->email_address)->pluck('project_id'); + $projectUuids = Project::whereIn('id', $projectIds)->where('framework_key', 'terrafund')->pluck('uuid'); + } catch (\Exception $e) { + $errorMessage = $e->getMessage(); + Log::error('Error fetching projects for project developer: ' . $errorMessage); - $collection = $qry->paginate($perPage) - ->appends(request()->query()); + return response()->json(['error' => 'An error occurred while fetching project developer projects', 'message' => $errorMessage], 500); + } + } elseif ($role === 'admin' || $role === 'terrafund_admin' || $role === 'terrafund-admin') { - return new GeojsonCollection($collection); + } else { + $projectUuids = null; + } + + Log::info('Returning this value: ' . json_encode($projectUuids)); + $polygonsData = [ + 'needs-more-information' => [], + 'submitted' => [], + 'approved' => [], + ]; + + foreach ($projectUuids as $uuid) { + Log::info('Fetching polygons for project UUID ' . $uuid); + $request = new Request(['uuid' => $uuid]); + + try { + $polygonsResource = TerrafundDashboardQueryHelper::getPolygonsByStatusOfProject($request); + foreach ($polygonsResource as $status => $polygons) { + $polygons = $polygons instanceof \Illuminate\Support\Collection ? $polygons->toArray() : $polygons; + $polygonsData[$status] = array_merge($polygonsData[$status], $polygons); + } + } catch (\Exception $e) { + Log::error('Error fetching polygons for project UUID ' . $uuid . ': ' . $e->getMessage()); + } + } + + return response()->json([ + 'projectsUuids' => $projectUuids->toArray(), + 'polygonsUuids' => $polygonsData, + ]); + } + + } catch (\Exception $e) { + $errorMessage = $e->getMessage(); + Log::error('An error occurred: ' . $errorMessage); + + return response()->json(['error' => 'An error occurred while fetching the data', 'message' => $errorMessage], 500); + } } -} +}; diff --git a/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php b/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php index fdeea0402..fb11c14ee 100644 --- a/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php +++ b/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php @@ -5,6 +5,8 @@ use App\Helpers\GeometryHelper; use App\Http\Controllers\Controller; use App\Models\V2\PolygonGeometry; +use App\Models\V2\Projects\Project; +use App\Models\V2\Sites\Site; use App\Models\V2\Sites\SitePolygon; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; @@ -57,22 +59,37 @@ public function updateProjectCentroid($polygonGeometry) { try { $sitePolygon = SitePolygon::where('poly_id', $polygonGeometry->uuid)->first(); - if (! $sitePolygon) { - Log::warning("Site polygon with UUID $polygonGeometry->uuid not found."); - return null; - } - $project = $sitePolygon->project; + if ($sitePolygon) { + $relatedSite = Site::where('uuid', $sitePolygon->site_id)->first(); + $project = Project::where('id', $relatedSite->project_id)->first(); + + if ($project) { + $geometryHelper = new GeometryHelper(); + $centroid = $geometryHelper->centroidOfProject($project->uuid); - if ($project) { - $geometryHelper = new GeometryHelper(); - $centroid = $geometryHelper->centroidOfProject($project->uuid); + if ($centroid === null) { + Log::warning("Invalid centroid for project UUID: $project->uuid"); + } + $centroidData = json_decode($centroid, true); - if ($centroid === null) { - Log::warning("Invalid centroid for project UUID: $project->uuid"); + if (isset($centroidData['coordinates']) && is_array($centroidData['coordinates'])) { + $longitude = $centroidData['coordinates'][0]; + $latitude = $centroidData['coordinates'][1]; + $project->lat = $latitude; + $project->long = $longitude; + $project->save(); + + Log::info("Updated project centroid for project UUID: $project->uuid with lat: $latitude, lng: $longitude"); + } else { + Log::warning("Centroid data for project UUID: $project->uuid is malformed."); + } + Log::info("Updated project centroid for project UUID: $project->uuid with lat: {$centroid['lat']}, lng: {$centroid['lng']}"); + } else { + Log::warning("Project with UUID $relatedSite->project_id not found."); } } else { - Log::warning('Project UUID not found.'); + Log::warning("Site polygon with UUID $polygonGeometry->uuid not found."); } } catch (\Exception $e) { Log::error('Error updating project centroid: ' . $e->getMessage()); diff --git a/app/Models/V2/Sites/SitePolygon.php b/app/Models/V2/Sites/SitePolygon.php index b434c3281..d9bf5e11a 100644 --- a/app/Models/V2/Sites/SitePolygon.php +++ b/app/Models/V2/Sites/SitePolygon.php @@ -63,9 +63,9 @@ public function project(): BelongsToThrough ); } - public function site() + public function site(): BelongsTo { - return $this->belongsTo(Site::class, 'site_id', 'id'); + return $this->belongsTo(Site::class, 'site_id', 'uuid'); } public function createdBy(): HasOne diff --git a/openapi-src/V2/definitions/EntityTypeResponse.yml b/openapi-src/V2/definitions/EntityTypeResponse.yml new file mode 100644 index 000000000..1d0c254ab --- /dev/null +++ b/openapi-src/V2/definitions/EntityTypeResponse.yml @@ -0,0 +1,16 @@ +type: object +properties: + type: + type: string + description: Type of the entity ('project', 'site', 'unknown') + uuid: + type: string + format: uuid + description: UUID of the entity + polygonsData: + type: array + items: + $ref: './_index.yml#/SitePolygon' + bbox: + type: array + description: Bounding box of the entity \ No newline at end of file diff --git a/openapi-src/V2/definitions/ProjectPipelinePost.yml b/openapi-src/V2/definitions/ProjectPipelinePost.yml new file mode 100644 index 000000000..a0a029652 --- /dev/null +++ b/openapi-src/V2/definitions/ProjectPipelinePost.yml @@ -0,0 +1,23 @@ +type: object +properties: + date: + type: string + format: date + id: + type: integer + SubmittedBy: + type: string + Program: + type: string + Cohort: + type: string + PublishFor: + type: string + URL: + type: string + CreatedDate: + type: string + format: date + ModifiedDate: + type: string + format: date \ No newline at end of file diff --git a/openapi-src/V2/definitions/_index.yml b/openapi-src/V2/definitions/_index.yml index 8bb6ff277..74aec663d 100644 --- a/openapi-src/V2/definitions/_index.yml +++ b/openapi-src/V2/definitions/_index.yml @@ -313,4 +313,6 @@ DashboardBBOXProject: DashboardBBOXCountry: $ref: './DashboardBBOXCountry.yml' DashboardPolygonData: - $ref: './DashboardPolygonData.yml' \ No newline at end of file + $ref: './DashboardPolygonData.yml' +EntityTypeResponse: + $ref: './EntityTypeResponse.yml' \ No newline at end of file diff --git a/openapi-src/V2/paths/Entity/get-v2-type-entity.yml b/openapi-src/V2/paths/Entity/get-v2-type-entity.yml new file mode 100644 index 000000000..48becb43b --- /dev/null +++ b/openapi-src/V2/paths/Entity/get-v2-type-entity.yml @@ -0,0 +1,51 @@ +summary: Get Entity Type +description: | + Determine the type of entity based on UUID. +parameters: + - in: query + name: uuid + required: true + description: UUID of the entity + type: string + schema: + type: string + - in: query + name: type + required: true + description: type of the entity + type: string + schema: + type: string + - in: query + name: status + required: false + description: Comma-separated list of status values to filter by + type: string + schema: + type: string + - in: query + name: sort + required: false + description: Sort criteria in the format `sort[field]=direction`, e.g. `sort[poly_name]=asc or sort[status]=desc` + type: string + schema: + type: string +responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '../../definitions/_index.yml#/EntityTypeResponse' + '400': + description: Bad request, UUID parameter is missing + '500': + description: Internal server error + content: + application/json: + schema: + type: object + properties: + error: + type: string + description: Error message \ No newline at end of file diff --git a/openapi-src/V2/paths/_index.yml b/openapi-src/V2/paths/_index.yml index 3900cd570..f9c099eca 100644 --- a/openapi-src/V2/paths/_index.yml +++ b/openapi-src/V2/paths/_index.yml @@ -2576,6 +2576,9 @@ /v2/dashboard/get-bbox-project: get: $ref: './Dashboard/get-v2-dashboard-get-bbox-project.yml' +/v2/dashboard/bbox/project: + get: + $ref: './Dashboard/get-v2-dashboard-get-bbox-project.yml' /v2/dashboard/country/{country}: get: $ref: './Dashboard/get-v2-dashboard-country.yml' @@ -2584,4 +2587,7 @@ $ref: './Dashboard/get-v2-dashboard-polygon-data-uuid.yml' /v2/dashboard/project-data/{uuid}: get: - $ref: './Dashboard/get-v2-dashboard-project-data-uuid.yml' \ No newline at end of file + $ref: './Dashboard/get-v2-dashboard-project-data-uuid.yml' +/v2/type-entity: + get: + $ref: './Entity/get-v2-type-entity.yml' \ No newline at end of file diff --git a/resources/docs/swagger-v2.yml b/resources/docs/swagger-v2.yml index aeff0dffc..29bdbe768 100644 --- a/resources/docs/swagger-v2.yml +++ b/resources/docs/swagger-v2.yml @@ -44556,6 +44556,77 @@ definitions: key: type: string description: Key of the data field + EntityTypeResponse: + type: object + properties: + type: + type: string + description: 'Type of the entity (''project'', ''site'', ''unknown'')' + uuid: + type: string + format: uuid + description: UUID of the entity + polygonsData: + type: array + items: + title: SitePolygon + type: object + properties: + id: + type: integer + uuid: + type: string + project_id: + type: string + proj_name: + type: string + org_name: + type: string + poly_id: + type: string + poly_name: + type: string + site_id: + type: string + site_name: + type: string + plantstart: + type: string + format: date + plantend: + type: string + format: date + practice: + type: string + target_sys: + type: string + distr: + type: string + num_trees: + type: integer + calc_area: + type: number + format: float + created_by: + type: string + last_modified_by: + type: string + deleted_at: + type: string + format: date-time + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + status: + type: string + country: + type: string + bbox: + type: array + description: Bounding box of the entity paths: '/v2/tree-species/{entity}/{UUID}': get: @@ -95192,6 +95263,29 @@ paths: type: number '404': description: Project not found + /v2/dashboard/bbox/project: + get: + summary: Get Bbox of all polygons of project + tags: + - Projects + parameters: + - in: query + name: uuid + type: string + description: UUID of the project + required: true + responses: + '200': + description: Successful response + schema: + type: object + properties: + bbox: + type: array + items: + type: number + '404': + description: Project not found '/v2/dashboard/country/{country}': get: summary: Get the bounding box of a country @@ -95281,3 +95375,125 @@ paths: description: Key of the data field '500': description: Error in queries + /v2/type-entity: + get: + summary: Get Entity Type + description: | + Determine the type of entity based on UUID. + parameters: + - in: query + name: uuid + required: true + description: UUID of the entity + type: string + schema: + type: string + - in: query + name: type + required: true + description: type of the entity + type: string + schema: + type: string + - in: query + name: status + required: false + description: Comma-separated list of status values to filter by + type: string + schema: + type: string + - in: query + name: sort + required: false + description: 'Sort criteria in the format `sort[field]=direction`, e.g. `sort[poly_name]=asc or sort[status]=desc`' + type: string + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + properties: + type: + type: string + description: 'Type of the entity (''project'', ''site'', ''unknown'')' + uuid: + type: string + format: uuid + description: UUID of the entity + polygonsData: + type: array + items: + title: SitePolygon + type: object + properties: + id: + type: integer + uuid: + type: string + project_id: + type: string + proj_name: + type: string + org_name: + type: string + poly_id: + type: string + poly_name: + type: string + site_id: + type: string + site_name: + type: string + plantstart: + type: string + format: date + plantend: + type: string + format: date + practice: + type: string + target_sys: + type: string + distr: + type: string + num_trees: + type: integer + calc_area: + type: number + format: float + created_by: + type: string + last_modified_by: + type: string + deleted_at: + type: string + format: date-time + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + status: + type: string + country: + type: string + bbox: + type: array + description: Bounding box of the entity + '400': + description: 'Bad request, UUID parameter is missing' + '500': + description: Internal server error + content: + application/json: + schema: + type: object + properties: + error: + type: string + description: Error message diff --git a/routes/api_v2.php b/routes/api_v2.php index 0be75ac9e..c4caa12ff 100644 --- a/routes/api_v2.php +++ b/routes/api_v2.php @@ -27,6 +27,7 @@ use App\Http\Controllers\V2\Disturbances\UpdateDisturbanceController; use App\Http\Controllers\V2\Entities\AdminSoftDeleteEntityController; use App\Http\Controllers\V2\Entities\AdminStatusEntityController; +use App\Http\Controllers\V2\Entities\EntityTypeController; use App\Http\Controllers\V2\Entities\SubmitEntityWithFormController; use App\Http\Controllers\V2\Entities\UpdateEntityWithFormController; use App\Http\Controllers\V2\Entities\ViewEntityController; @@ -677,7 +678,10 @@ function () { Route::get('/get-polygons', [GetPolygonsController::class, 'getPolygonsOfProject']); Route::get('/get-polygons/statuses', [GetPolygonsController::class, 'getPolygonsByStatusOfProject']); Route::get('/get-bbox-project', [GetPolygonsController::class, 'getBboxOfCompleteProject']); + Route::get('/bbox/project', [GetPolygonsController::class, 'getProjectBbox']); Route::get('/country/{country}', [CountryDataController::class, 'getCountryBbox']); Route::get('/polygon-data/{uuid}', [CountryDataController::class, 'getPolygonData']); Route::get('/project-data/{uuid}', [CountryDataController::class, 'getProjectData']); }); + +Route::get('/type-entity', EntityTypeController::class); From 91f37bda378ec52ffb95a2d96cf7af512e2777dd Mon Sep 17 00:00:00 2001 From: JORGE Date: Thu, 6 Jun 2024 17:35:30 -0400 Subject: [PATCH 064/164] [TM-867] restore view project controller --- .../V2/Dashboard/ViewProjectController.php | 137 +++++++++++++++++ .../ViewSitesPolygonsForProjectController.php | 140 +++--------------- 2 files changed, 155 insertions(+), 122 deletions(-) create mode 100644 app/Http/Controllers/V2/Dashboard/ViewProjectController.php diff --git a/app/Http/Controllers/V2/Dashboard/ViewProjectController.php b/app/Http/Controllers/V2/Dashboard/ViewProjectController.php new file mode 100644 index 000000000..2e4c6261b --- /dev/null +++ b/app/Http/Controllers/V2/Dashboard/ViewProjectController.php @@ -0,0 +1,137 @@ +role; + if ($role === 'government') { + $isAllowed = Project::where('uuid', $uuid) + ->where('country', $user->country) + ->first(); + $response = (object)[ + 'allowed' => $isAllowed ? true : false, + ]; + } elseif ($role === 'funder') { + $isAllowed = Project::where('uuid', $uuid) + ->where('framework_key', $user->program) + ->first(); + $response = (object)[ + 'allowed' => $isAllowed ? true : false, + ]; + } elseif ($role === 'project_developer') { + $projectId = Project::where('uuid', $uuid) + ->value('id'); + $isInvite = ProjectInvite::where('email_address', $user->email_address) + ->where('project_id', $projectId) + ->first(); + $response = (object)[ + 'allowed' => $isInvite ? true : false, + ]; + } elseif ($role === 'admin' || $role === 'terrafund_admin') { + $response = (object)[ + 'allowed' => true, + ]; + } else { + $response = (object)[ + 'allowed' => false, + ]; + } + + return response()->json($response); + } + + public function getAllProjectsAllowedToUser() + { + try { + $user = Auth::user(); + $role = $user->role; + Log::info($role); + if ($role === 'admin' || $role === 'terrafund_admin' || $role === 'terrafund-admin') { + $response = TerrafundDashboardQueryHelper::getPolygonsByStatus(); + + return response()->json([ + 'polygonsUuids' => $response, + ]); + } else { + if ($role === 'government') { + try { + $projectUuids = Project::where('framework_key', 'terrafund')->where('country', $user->country)->pluck('uuid'); + } catch (\Exception $e) { + $errorMessage = $e->getMessage(); + Log::error('Error fetching projects for government: ' . $errorMessage); + + return response()->json(['error' => 'An error occurred while fetching government projects', 'message' => $errorMessage], 500); + } + } elseif ($role === 'funder') { + try { + $projectUuids = Project::where('framework_key', $user->program)->pluck('uuid'); + } catch (\Exception $e) { + $errorMessage = $e->getMessage(); + Log::error('Error fetching projects for funder: ' . $errorMessage); + + return response()->json(['error' => 'An error occurred while fetching funder projects', 'message' => $errorMessage], 500); + } + } elseif ($role === 'project_developer') { + try { + $projectIds = ProjectInvite::where('email_address', $user->email_address)->pluck('project_id'); + $projectUuids = Project::whereIn('id', $projectIds)->where('framework_key', 'terrafund')->pluck('uuid'); + } catch (\Exception $e) { + $errorMessage = $e->getMessage(); + Log::error('Error fetching projects for project developer: ' . $errorMessage); + + return response()->json(['error' => 'An error occurred while fetching project developer projects', 'message' => $errorMessage], 500); + } + } elseif ($role === 'admin' || $role === 'terrafund_admin' || $role === 'terrafund-admin') { + + } else { + $projectUuids = null; + } + + Log::info('Returning this value: ' . json_encode($projectUuids)); + $polygonsData = [ + 'needs-more-information' => [], + 'submitted' => [], + 'approved' => [], + ]; + + foreach ($projectUuids as $uuid) { + Log::info('Fetching polygons for project UUID ' . $uuid); + $request = new Request(['uuid' => $uuid]); + + try { + $polygonsResource = TerrafundDashboardQueryHelper::getPolygonsByStatusOfProject($request); + foreach ($polygonsResource as $status => $polygons) { + $polygons = $polygons instanceof \Illuminate\Support\Collection ? $polygons->toArray() : $polygons; + $polygonsData[$status] = array_merge($polygonsData[$status], $polygons); + } + } catch (\Exception $e) { + Log::error('Error fetching polygons for project UUID ' . $uuid . ': ' . $e->getMessage()); + } + } + + return response()->json([ + 'projectsUuids' => $projectUuids->toArray(), + 'polygonsUuids' => $polygonsData, + ]); + } + + } catch (\Exception $e) { + $errorMessage = $e->getMessage(); + Log::error('An error occurred: ' . $errorMessage); + + return response()->json(['error' => 'An error occurred while fetching the data', 'message' => $errorMessage], 500); + } + } +}; diff --git a/app/Http/Controllers/V2/Polygons/ViewSitesPolygonsForProjectController.php b/app/Http/Controllers/V2/Polygons/ViewSitesPolygonsForProjectController.php index 2e4c6261b..7b37d13ea 100644 --- a/app/Http/Controllers/V2/Polygons/ViewSitesPolygonsForProjectController.php +++ b/app/Http/Controllers/V2/Polygons/ViewSitesPolygonsForProjectController.php @@ -1,137 +1,33 @@ role; - if ($role === 'government') { - $isAllowed = Project::where('uuid', $uuid) - ->where('country', $user->country) - ->first(); - $response = (object)[ - 'allowed' => $isAllowed ? true : false, - ]; - } elseif ($role === 'funder') { - $isAllowed = Project::where('uuid', $uuid) - ->where('framework_key', $user->program) - ->first(); - $response = (object)[ - 'allowed' => $isAllowed ? true : false, - ]; - } elseif ($role === 'project_developer') { - $projectId = Project::where('uuid', $uuid) - ->value('id'); - $isInvite = ProjectInvite::where('email_address', $user->email_address) - ->where('project_id', $projectId) - ->first(); - $response = (object)[ - 'allowed' => $isInvite ? true : false, - ]; - } elseif ($role === 'admin' || $role === 'terrafund_admin') { - $response = (object)[ - 'allowed' => true, - ]; + $this->authorize('read', $project); + $perPage = $request->query('per_page') ?? config('app.pagination_default', 15); + $siteIds = $project->sites()->pluck('id')->toArray(); + + if (empty($request->query('search'))) { + $qry = Site::whereIn('id', $siteIds); } else { - $response = (object)[ - 'allowed' => false, - ]; + $qry = Site::search(trim($request->query('search'))) + ->whereIn('id', $siteIds); } - return response()->json($response); - } - - public function getAllProjectsAllowedToUser() - { - try { - $user = Auth::user(); - $role = $user->role; - Log::info($role); - if ($role === 'admin' || $role === 'terrafund_admin' || $role === 'terrafund-admin') { - $response = TerrafundDashboardQueryHelper::getPolygonsByStatus(); - - return response()->json([ - 'polygonsUuids' => $response, - ]); - } else { - if ($role === 'government') { - try { - $projectUuids = Project::where('framework_key', 'terrafund')->where('country', $user->country)->pluck('uuid'); - } catch (\Exception $e) { - $errorMessage = $e->getMessage(); - Log::error('Error fetching projects for government: ' . $errorMessage); - - return response()->json(['error' => 'An error occurred while fetching government projects', 'message' => $errorMessage], 500); - } - } elseif ($role === 'funder') { - try { - $projectUuids = Project::where('framework_key', $user->program)->pluck('uuid'); - } catch (\Exception $e) { - $errorMessage = $e->getMessage(); - Log::error('Error fetching projects for funder: ' . $errorMessage); - - return response()->json(['error' => 'An error occurred while fetching funder projects', 'message' => $errorMessage], 500); - } - } elseif ($role === 'project_developer') { - try { - $projectIds = ProjectInvite::where('email_address', $user->email_address)->pluck('project_id'); - $projectUuids = Project::whereIn('id', $projectIds)->where('framework_key', 'terrafund')->pluck('uuid'); - } catch (\Exception $e) { - $errorMessage = $e->getMessage(); - Log::error('Error fetching projects for project developer: ' . $errorMessage); + $qry->orderBy('created_at', 'desc'); - return response()->json(['error' => 'An error occurred while fetching project developer projects', 'message' => $errorMessage], 500); - } - } elseif ($role === 'admin' || $role === 'terrafund_admin' || $role === 'terrafund-admin') { + $collection = $qry->paginate($perPage) + ->appends(request()->query()); - } else { - $projectUuids = null; - } - - Log::info('Returning this value: ' . json_encode($projectUuids)); - $polygonsData = [ - 'needs-more-information' => [], - 'submitted' => [], - 'approved' => [], - ]; - - foreach ($projectUuids as $uuid) { - Log::info('Fetching polygons for project UUID ' . $uuid); - $request = new Request(['uuid' => $uuid]); - - try { - $polygonsResource = TerrafundDashboardQueryHelper::getPolygonsByStatusOfProject($request); - foreach ($polygonsResource as $status => $polygons) { - $polygons = $polygons instanceof \Illuminate\Support\Collection ? $polygons->toArray() : $polygons; - $polygonsData[$status] = array_merge($polygonsData[$status], $polygons); - } - } catch (\Exception $e) { - Log::error('Error fetching polygons for project UUID ' . $uuid . ': ' . $e->getMessage()); - } - } - - return response()->json([ - 'projectsUuids' => $projectUuids->toArray(), - 'polygonsUuids' => $polygonsData, - ]); - } - - } catch (\Exception $e) { - $errorMessage = $e->getMessage(); - Log::error('An error occurred: ' . $errorMessage); - - return response()->json(['error' => 'An error occurred while fetching the data', 'message' => $errorMessage], 500); - } + return new GeojsonCollection($collection); } -}; +} From bd9a4c0d53a0ce50a1fdad8f4a2f2c087985c14f Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Thu, 6 Jun 2024 15:01:00 -0700 Subject: [PATCH 065/164] [TM-882] Abort if a set of workday data is unbalanced. --- app/Console/Commands/BulkWorkdayImport.php | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/app/Console/Commands/BulkWorkdayImport.php b/app/Console/Commands/BulkWorkdayImport.php index 9639f34b1..e3b440130 100644 --- a/app/Console/Commands/BulkWorkdayImport.php +++ b/app/Console/Commands/BulkWorkdayImport.php @@ -237,6 +237,35 @@ protected function parseRow($csvRow): ?array $row['report_uuid'] = $report->uuid; + // Check that all the demographics are balanced + $collections = array_merge( + $this->modelConfig['model']::WORKDAY_COLLECTIONS['paid'], + $this->modelConfig['model']::WORKDAY_COLLECTIONS['volunteer'], + ); + foreach ($collections as $collection) { + if (empty($row[$collection])) { + continue; + } + + $totals = ['gender' => 0, 'age' => 0, 'ethnicity' => 0]; + foreach ($row[$collection] as $demographic) { + $totals[$demographic['type']] += $demographic['amount']; + } + + if (collect($totals)->values()->unique()->count() > 1) { + $this->assert( + collect($totals)->values()->unique()->count() == 1, + "Demographics for collection are unbalanced\n" . + json_encode([ + 'submission_id' => $submissionId, + 'collection' => $collection, + 'totals' => $totals, + 'parsed row data' => $row, + ], JSON_PRETTY_PRINT) . "\n" + ); + } + } + return $row; } From 11ca4278fe3ee2a5ae565e48f0511bfc74b2ebd8 Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Thu, 6 Jun 2024 18:03:01 -0400 Subject: [PATCH 066/164] [TM-866] fix definitions in openapi src folder --- .../V2/definitions/EntityTypeResponse.yml | 2 + .../V2/paths/Entity/get-v2-type-entity.yml | 28 +-- resources/docs/swagger-v2.yml | 170 +++++++++--------- 3 files changed, 91 insertions(+), 109 deletions(-) diff --git a/openapi-src/V2/definitions/EntityTypeResponse.yml b/openapi-src/V2/definitions/EntityTypeResponse.yml index 1d0c254ab..47e85a28b 100644 --- a/openapi-src/V2/definitions/EntityTypeResponse.yml +++ b/openapi-src/V2/definitions/EntityTypeResponse.yml @@ -13,4 +13,6 @@ properties: $ref: './_index.yml#/SitePolygon' bbox: type: array + items: + type: number description: Bounding box of the entity \ No newline at end of file diff --git a/openapi-src/V2/paths/Entity/get-v2-type-entity.yml b/openapi-src/V2/paths/Entity/get-v2-type-entity.yml index 48becb43b..9ddaee2ff 100644 --- a/openapi-src/V2/paths/Entity/get-v2-type-entity.yml +++ b/openapi-src/V2/paths/Entity/get-v2-type-entity.yml @@ -7,45 +7,33 @@ parameters: required: true description: UUID of the entity type: string - schema: - type: string - in: query name: type required: true description: type of the entity type: string - schema: - type: string - in: query name: status required: false description: Comma-separated list of status values to filter by type: string - schema: - type: string - in: query name: sort required: false description: Sort criteria in the format `sort[field]=direction`, e.g. `sort[poly_name]=asc or sort[status]=desc` type: string - schema: - type: string responses: '200': description: Successful response - content: - application/json: - schema: - $ref: '../../definitions/_index.yml#/EntityTypeResponse' + schema: + $ref: '../../definitions/_index.yml#/EntityTypeResponse' '400': description: Bad request, UUID parameter is missing '500': description: Internal server error - content: - application/json: - schema: - type: object - properties: - error: - type: string - description: Error message \ No newline at end of file + schema: + type: object + properties: + error: + type: string + description: Error message \ No newline at end of file diff --git a/resources/docs/swagger-v2.yml b/resources/docs/swagger-v2.yml index 29bdbe768..155e3fd8c 100644 --- a/resources/docs/swagger-v2.yml +++ b/resources/docs/swagger-v2.yml @@ -44626,6 +44626,8 @@ definitions: type: string bbox: type: array + items: + type: number description: Bounding box of the entity paths: '/v2/tree-species/{entity}/{UUID}': @@ -95386,114 +95388,104 @@ paths: required: true description: UUID of the entity type: string - schema: - type: string - in: query name: type required: true description: type of the entity type: string - schema: - type: string - in: query name: status required: false description: Comma-separated list of status values to filter by type: string - schema: - type: string - in: query name: sort required: false description: 'Sort criteria in the format `sort[field]=direction`, e.g. `sort[poly_name]=asc or sort[status]=desc`' type: string - schema: - type: string responses: '200': description: Successful response - content: - application/json: - schema: - type: object - properties: - type: - type: string - description: 'Type of the entity (''project'', ''site'', ''unknown'')' - uuid: - type: string - format: uuid - description: UUID of the entity - polygonsData: - type: array - items: - title: SitePolygon - type: object - properties: - id: - type: integer - uuid: - type: string - project_id: - type: string - proj_name: - type: string - org_name: - type: string - poly_id: - type: string - poly_name: - type: string - site_id: - type: string - site_name: - type: string - plantstart: - type: string - format: date - plantend: - type: string - format: date - practice: - type: string - target_sys: - type: string - distr: - type: string - num_trees: - type: integer - calc_area: - type: number - format: float - created_by: - type: string - last_modified_by: - type: string - deleted_at: - type: string - format: date-time - created_at: - type: string - format: date-time - updated_at: - type: string - format: date-time - status: - type: string - country: - type: string - bbox: - type: array - description: Bounding box of the entity + schema: + type: object + properties: + type: + type: string + description: 'Type of the entity (''project'', ''site'', ''unknown'')' + uuid: + type: string + format: uuid + description: UUID of the entity + polygonsData: + type: array + items: + title: SitePolygon + type: object + properties: + id: + type: integer + uuid: + type: string + project_id: + type: string + proj_name: + type: string + org_name: + type: string + poly_id: + type: string + poly_name: + type: string + site_id: + type: string + site_name: + type: string + plantstart: + type: string + format: date + plantend: + type: string + format: date + practice: + type: string + target_sys: + type: string + distr: + type: string + num_trees: + type: integer + calc_area: + type: number + format: float + created_by: + type: string + last_modified_by: + type: string + deleted_at: + type: string + format: date-time + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + status: + type: string + country: + type: string + bbox: + type: array + items: + type: number + description: Bounding box of the entity '400': description: 'Bad request, UUID parameter is missing' '500': description: Internal server error - content: - application/json: - schema: - type: object - properties: - error: - type: string - description: Error message + schema: + type: object + properties: + error: + type: string + description: Error message From 3c63479442896d77cd0a3e5fc9f7caf411693cc6 Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Thu, 6 Jun 2024 15:59:07 -0700 Subject: [PATCH 067/164] [TM-882] Keep parsing future rows when an error is found, and dump all the errors at once. --- app/Console/Commands/BulkWorkdayImport.php | 88 +++++++++++++++------- 1 file changed, 60 insertions(+), 28 deletions(-) diff --git a/app/Console/Commands/BulkWorkdayImport.php b/app/Console/Commands/BulkWorkdayImport.php index e3b440130..93002614a 100644 --- a/app/Console/Commands/BulkWorkdayImport.php +++ b/app/Console/Commands/BulkWorkdayImport.php @@ -12,9 +12,15 @@ use Illuminate\Support\Collection; use Illuminate\Support\Str; +class AbortException extends \Exception +{ +} + class BulkWorkdayImport extends Command { - use Abortable; + use Abortable { + abort as _abort; + } /** * The name and signature of the console command. @@ -104,37 +110,63 @@ class BulkWorkdayImport extends Command /** * Execute the console command. */ - public function handle() + public function handle(): void { - $type = $this->argument('type'); + try { + $type = $this->argument('type'); + + $this->assert(! empty(self::COLLECTIONS[$type]), "Unknown type: $type"); + $this->modelConfig = self::MODEL_CONFIGS[$type]; + $this->collections = collect(self::COLLECTIONS[$type]); + + $fileHandle = fopen($this->argument('file'), 'r'); + $this->parseHeaders(fgetcsv($fileHandle)); + + $rows = collect(); + $parseErrors = []; + while ($csvRow = fgetcsv($fileHandle)) { + try { + $rows->push($this->parseRow($csvRow)); + } catch (AbortException $e) { + $parseErrors[] = $e->getMessage(); + } + } - $this->assert(! empty(self::COLLECTIONS[$type]), "Unknown type: $type"); - $this->modelConfig = self::MODEL_CONFIGS[$type]; - $this->collections = collect(self::COLLECTIONS[$type]); + if (! empty($parseErrors)) { + echo "Errors encountered during parsing CSV Rows:\n"; + foreach ($parseErrors as $error) { + echo $error . "\n"; + } + $this->_abort('Parsing aborted'); + } - $fileHandle = fopen($this->argument('file'), 'r'); - $this->parseHeaders(fgetcsv($fileHandle)); + $rows = $rows->filter(); + fclose($fileHandle); - $rows = collect(); - while ($csvRow = fgetcsv($fileHandle)) { - $rows->push($this->parseRow($csvRow)); - } - $rows = $rows->filter(); - fclose($fileHandle); - - if ($this->option('dry-run')) { - echo json_encode($rows, JSON_PRETTY_PRINT) . "\n\n"; - } else { - // A separate loop so we can validate as much input as possible before we start persisting any records - foreach ($rows as $reportData) { - $report = $this->modelConfig['model']::isUuid($reportData['report_uuid'])->first(); - $this->persistWorkdays($report, $reportData); - } + if ($this->option('dry-run')) { + echo json_encode($rows, JSON_PRETTY_PRINT) . "\n\n"; + } else { + // A separate loop so we can validate as much input as possible before we start persisting any records + foreach ($rows as $reportData) { + $report = $this->modelConfig['model']::isUuid($reportData['report_uuid'])->first(); + $this->persistWorkdays($report, $reportData); + } - echo "Workday import complete!\n\n"; + echo "Workday import complete!\n\n"; + } + } catch (AbortException $e) { + $this->_abort($e->getMessage()); } } + /** + * @throws AbortException + */ + protected function abort(string $message, int $exitCode = 1): void + { + throw new AbortException($message); + } + protected function parseHeaders($headerRow): void { $idHeader = $this->modelConfig['id']; @@ -211,10 +243,11 @@ protected function parseRow($csvRow): ?array $existingData['name'] == $data['name']) { $combinedRecords = true; $existingData['amount'] += $data['amount']; + break; } } - if (!$combinedRecords) { + if (! $combinedRecords) { $row[$collection][] = $data; } } @@ -232,7 +265,7 @@ protected function parseRow($csvRow): ?array )->first(); $this->assert( $report != null && $report->{$this->modelConfig['parent']}?->ppc_external_id == $parentId, - "Parent / Report ID mismatch: [Parent ID: $parentId, Submission ID: $submissionId]" + "Parent / Report ID mismatch: [Parent ID: $parentId, Submission ID: $submissionId]\n" ); $row['report_uuid'] = $report->uuid; @@ -260,7 +293,6 @@ protected function parseRow($csvRow): ?array 'submission_id' => $submissionId, 'collection' => $collection, 'totals' => $totals, - 'parsed row data' => $row, ], JSON_PRETTY_PRINT) . "\n" ); } @@ -281,7 +313,7 @@ protected function getData($collection, $demographic, $cell, $row): array 'collection' => $collection, 'demographic' => $demographic, 'cell' => $cell, - ])); + ]) . "\n"); } $demographic['amount'] = (int)round($cell); From a52a5b94a20a7e79a3b89dfeac4490577e3d8348 Mon Sep 17 00:00:00 2001 From: JORGE Date: Fri, 7 Jun 2024 10:38:42 -0400 Subject: [PATCH 068/164] [TM-866] add missing endpoints polygon uuid --- openapi-src/V2/definitions/GeometryString.yml | 4 + openapi-src/V2/definitions/_index.yml | 2 + .../delete-v2-terrafund-polygon-uuid.yml | 10 ++ .../get-api-v2-terrafund-polygon-uuid.yml | 95 +++++++++++ .../put-v2-terrafund-polygon-uuid.yml | 49 ++++++ openapi-src/V2/paths/_index.yml | 6 +- resources/docs/swagger-v2.yml | 153 ++++++++++++++++++ 7 files changed, 318 insertions(+), 1 deletion(-) create mode 100644 openapi-src/V2/definitions/GeometryString.yml create mode 100644 openapi-src/V2/paths/Terrafund/delete-v2-terrafund-polygon-uuid.yml create mode 100644 openapi-src/V2/paths/Terrafund/get-api-v2-terrafund-polygon-uuid.yml create mode 100644 openapi-src/V2/paths/Terrafund/put-v2-terrafund-polygon-uuid.yml diff --git a/openapi-src/V2/definitions/GeometryString.yml b/openapi-src/V2/definitions/GeometryString.yml new file mode 100644 index 000000000..b2e78a2d1 --- /dev/null +++ b/openapi-src/V2/definitions/GeometryString.yml @@ -0,0 +1,4 @@ +type: object +properties: + geometry: + type: string \ No newline at end of file diff --git a/openapi-src/V2/definitions/_index.yml b/openapi-src/V2/definitions/_index.yml index 74aec663d..10ef82967 100644 --- a/openapi-src/V2/definitions/_index.yml +++ b/openapi-src/V2/definitions/_index.yml @@ -282,6 +282,8 @@ V2TerrafundCriteriaSite: $ref: './V2TerrafundCriteriaSite.yml' SitePolygon: $ref: './SitePolygon.yml' +GeometryString: + $ref: './GeometryString.yml' SitePolygonsDataResponse: $ref: './SitePolygonsDataResponse.yml' SitePolygonsBboxResponse: diff --git a/openapi-src/V2/paths/Terrafund/delete-v2-terrafund-polygon-uuid.yml b/openapi-src/V2/paths/Terrafund/delete-v2-terrafund-polygon-uuid.yml new file mode 100644 index 000000000..982445259 --- /dev/null +++ b/openapi-src/V2/paths/Terrafund/delete-v2-terrafund-polygon-uuid.yml @@ -0,0 +1,10 @@ +summary: Delete polygon records +parameters: + - in: path + name: uuid + required: true + type: string + description: The UUID of the polygon geometry to delete +responses: + '204': + description: No Content \ No newline at end of file diff --git a/openapi-src/V2/paths/Terrafund/get-api-v2-terrafund-polygon-uuid.yml b/openapi-src/V2/paths/Terrafund/get-api-v2-terrafund-polygon-uuid.yml new file mode 100644 index 000000000..105c476ce --- /dev/null +++ b/openapi-src/V2/paths/Terrafund/get-api-v2-terrafund-polygon-uuid.yml @@ -0,0 +1,95 @@ + +summary: Get Site Polygon Data +description: Retrieve site polygon data for the given UUID. +parameters: + - in: path + name: uuid + type: string + required: true + schema: + type: string + description: The UUID of the site polygon. +responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + properties: + site_polygon: + type: object + properties: + calc_area: + type: number + created_at: + type: string + format: date-time + created_by: + type: string + nullable: true + deleted_at: + type: string + format: date-time + nullable: true + distr: + type: string + nullable: true + id: + type: integer + last_modified_by: + type: string + nullable: true + num_trees: + type: integer + nullable: true + plantend: + type: string + format: date + nullable: true + plantstart: + type: string + format: date + point_id: + type: string + nullable: true + poly_id: + type: string + poly_name: + type: string + practice: + type: string + nullable: true + site_id: + type: string + nullable: true + status: + type: string + target_sys: + type: string + nullable: true + updated_at: + type: string + format: date-time + uuid: + type: string + '404': + description: No site polygons found for the given UUID + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: No site polygons found for the given UUID. + '500': + description: Internal server error + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: An error message describing the issue. \ No newline at end of file diff --git a/openapi-src/V2/paths/Terrafund/put-v2-terrafund-polygon-uuid.yml b/openapi-src/V2/paths/Terrafund/put-v2-terrafund-polygon-uuid.yml new file mode 100644 index 000000000..1198643fc --- /dev/null +++ b/openapi-src/V2/paths/Terrafund/put-v2-terrafund-polygon-uuid.yml @@ -0,0 +1,49 @@ +summary: Update geometry for a polygon +parameters: + - in: path + name: uuid + required: true + type: string + description: The UUID of the polygon geometry to update + - in: body + name: geometry + required: true + schema: + $ref: '../../definitions/_index.yml#/GeometryString' + description: The new geometry data +responses: + '200': + description: Geometry updated successfully + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Geometry updated successfully. + geometry: + type: object + description: The updated geometry data + uuid: + type: string + '404': + description: No polygon geometry found for the given UUID + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: No polygon geometry found for the given UUID. + '500': + description: An error occurred + content: + application/json: + schema: + type: object + properties: + error: + type: string + example: Internal Server Error \ No newline at end of file diff --git a/openapi-src/V2/paths/_index.yml b/openapi-src/V2/paths/_index.yml index f9c099eca..289505605 100644 --- a/openapi-src/V2/paths/_index.yml +++ b/openapi-src/V2/paths/_index.yml @@ -2553,8 +2553,12 @@ get: $ref: './Terrafund/get-v2-geojson-complete-download.yml' /v2/terrafund/polygon/{uuid}: + get: + $ref: './Terrafund/get-api-v2-terrafund-polygon-uuid.yml' + put: + $ref: './Terrafund/put-v2-terrafund-polygon-uuid.yml' delete: - $ref: './Terrafund/delete-v2-polygon-uuid.yml' + $ref: './Terrafund/delete-v2-terrafund-polygon-uuid.yml' /v2/dashboard/jobs-created: get: $ref: './Dashboard/get-v2-dashboard-jobs-created.yml' diff --git a/resources/docs/swagger-v2.yml b/resources/docs/swagger-v2.yml index 29bdbe768..c06045108 100644 --- a/resources/docs/swagger-v2.yml +++ b/resources/docs/swagger-v2.yml @@ -44150,6 +44150,11 @@ definitions: type: string country: type: string + GeometryString: + type: object + properties: + geometry: + type: string SitePolygonsDataResponse: title: SitePolygonsDataResponse type: array @@ -94955,6 +94960,154 @@ paths: '500': description: Internal server error '/v2/terrafund/polygon/{uuid}': + get: + summary: Get Site Polygon Data + description: Retrieve site polygon data for the given UUID. + parameters: + - in: path + name: uuid + type: string + required: true + schema: + type: string + description: The UUID of the site polygon. + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + properties: + site_polygon: + type: object + properties: + calc_area: + type: number + created_at: + type: string + format: date-time + created_by: + type: string + nullable: true + deleted_at: + type: string + format: date-time + nullable: true + distr: + type: string + nullable: true + id: + type: integer + last_modified_by: + type: string + nullable: true + num_trees: + type: integer + nullable: true + plantend: + type: string + format: date + nullable: true + plantstart: + type: string + format: date + point_id: + type: string + nullable: true + poly_id: + type: string + poly_name: + type: string + practice: + type: string + nullable: true + site_id: + type: string + nullable: true + status: + type: string + target_sys: + type: string + nullable: true + updated_at: + type: string + format: date-time + uuid: + type: string + '404': + description: No site polygons found for the given UUID + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: No site polygons found for the given UUID. + '500': + description: Internal server error + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: An error message describing the issue. + put: + summary: Update geometry for a polygon + parameters: + - in: path + name: uuid + required: true + type: string + description: The UUID of the polygon geometry to update + - in: body + name: geometry + required: true + schema: + type: object + properties: + geometry: + type: string + description: The new geometry data + responses: + '200': + description: Geometry updated successfully + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Geometry updated successfully. + geometry: + type: object + description: The updated geometry data + uuid: + type: string + '404': + description: No polygon geometry found for the given UUID + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: No polygon geometry found for the given UUID. + '500': + description: An error occurred + content: + application/json: + schema: + type: object + properties: + error: + type: string + example: Internal Server Error delete: summary: Delete polygon records parameters: From 7768c67f6d27d8f7ba8eeef9520739d55adf8d07 Mon Sep 17 00:00:00 2001 From: JORGE Date: Fri, 7 Jun 2024 10:50:02 -0400 Subject: [PATCH 069/164] [TM-866] endpoints for polygon geojson --- openapi-src/V2/definitions/GeojsonData.yml | 5 +++ openapi-src/V2/definitions/_index.yml | 2 + .../get-v2-terrafund-polygon-geojson-uuid.yml | 28 +++++++++++++ openapi-src/V2/paths/_index.yml | 3 ++ resources/docs/swagger-v2.yml | 40 +++++++++++++++++++ swagger-v2.json | 1 + 6 files changed, 79 insertions(+) create mode 100644 openapi-src/V2/definitions/GeojsonData.yml create mode 100644 openapi-src/V2/paths/Terrafund/get-v2-terrafund-polygon-geojson-uuid.yml create mode 100644 swagger-v2.json diff --git a/openapi-src/V2/definitions/GeojsonData.yml b/openapi-src/V2/definitions/GeojsonData.yml new file mode 100644 index 000000000..9570f3ae3 --- /dev/null +++ b/openapi-src/V2/definitions/GeojsonData.yml @@ -0,0 +1,5 @@ +type: object +properties: + geojson: + type: object + description: The GeoJSON representation of the polygon geometry. \ No newline at end of file diff --git a/openapi-src/V2/definitions/_index.yml b/openapi-src/V2/definitions/_index.yml index 10ef82967..619262284 100644 --- a/openapi-src/V2/definitions/_index.yml +++ b/openapi-src/V2/definitions/_index.yml @@ -316,5 +316,7 @@ DashboardBBOXCountry: $ref: './DashboardBBOXCountry.yml' DashboardPolygonData: $ref: './DashboardPolygonData.yml' +GeojsonData: + $ref: './GeojsonData.yml' EntityTypeResponse: $ref: './EntityTypeResponse.yml' \ No newline at end of file diff --git a/openapi-src/V2/paths/Terrafund/get-v2-terrafund-polygon-geojson-uuid.yml b/openapi-src/V2/paths/Terrafund/get-v2-terrafund-polygon-geojson-uuid.yml new file mode 100644 index 000000000..d082e4c7f --- /dev/null +++ b/openapi-src/V2/paths/Terrafund/get-v2-terrafund-polygon-geojson-uuid.yml @@ -0,0 +1,28 @@ +summary: Retrieve polygon GeoJSON by UUID +description: | + Retrieves the GeoJSON representation of a polygon geometry based on the provided UUID. +parameters: + - in: path + name: uuid + type: string + required: true + description: The UUID of the polygon geometry to retrieve. + schema: + type: string +responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '../../definitions/_index.yml#/GeojsonData' + '404': + description: Not Found + content: + application/json: + schema: + type: object + properties: + message: + type: string + description: Error message indicating that no polygon geometry was found for the provided UUID. \ No newline at end of file diff --git a/openapi-src/V2/paths/_index.yml b/openapi-src/V2/paths/_index.yml index 289505605..e2d3de649 100644 --- a/openapi-src/V2/paths/_index.yml +++ b/openapi-src/V2/paths/_index.yml @@ -2592,6 +2592,9 @@ /v2/dashboard/project-data/{uuid}: get: $ref: './Dashboard/get-v2-dashboard-project-data-uuid.yml' +/v2/terrafund/polygon/geojson/{uuid}: + get: + $ref: './Terrafund/get-v2-terrafund-polygon-geojson-uuid.yml' /v2/type-entity: get: $ref: './Entity/get-v2-type-entity.yml' \ No newline at end of file diff --git a/resources/docs/swagger-v2.yml b/resources/docs/swagger-v2.yml index a87e15843..3a9325e5d 100644 --- a/resources/docs/swagger-v2.yml +++ b/resources/docs/swagger-v2.yml @@ -44561,6 +44561,12 @@ definitions: key: type: string description: Key of the data field + GeojsonData: + type: object + properties: + geojson: + type: object + description: The GeoJSON representation of the polygon geometry. EntityTypeResponse: type: object properties: @@ -95530,6 +95536,40 @@ paths: description: Key of the data field '500': description: Error in queries + '/v2/terrafund/polygon/geojson/{uuid}': + get: + summary: Retrieve polygon GeoJSON by UUID + description: | + Retrieves the GeoJSON representation of a polygon geometry based on the provided UUID. + parameters: + - in: path + name: uuid + type: string + required: true + description: The UUID of the polygon geometry to retrieve. + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + geojson: + type: object + description: The GeoJSON representation of the polygon geometry. + '404': + description: Not Found + content: + application/json: + schema: + type: object + properties: + message: + type: string + description: Error message indicating that no polygon geometry was found for the provided UUID. /v2/type-entity: get: summary: Get Entity Type diff --git a/swagger-v2.json b/swagger-v2.json new file mode 100644 index 000000000..a55324811 --- /dev/null +++ b/swagger-v2.json @@ -0,0 +1 @@ +{"swagger":"2.0","info":{"title":"WRI Restoration Marketplace API","description":"WRI Restoration Marketplace API","version":"1.0.0"},"host":"127.0.0.1:8080","basePath":"\/api","schemes":["http"],"securityDefinitions":{"BearerAuth":{"type":"apiKey","in":"header","name":"Authorization"}},"security":[{"BearerAuth":[]}],"tags":[{"name":"Export"},{"name":"Forms"},{"name":"Files"},{"name":"Funding Programmes"},{"name":"Stages"},{"name":"V2 Admin"},{"name":"V2 Application"},{"name":"V2 Disturbance"},{"name":"V2 Geometry"},{"name":"V2 Invasive"},{"name":"V2 Project Developer"},{"name":"V2 Projects"},{"name":"V2 Nurseries"},{"name":"V2 Nursery Reports"},{"name":"V2 Organisations"},{"name":"V2 Project Reports"},{"name":"V2 Sites"},{"name":"V2 Site Reports"},{"name":"V2 Strata"},{"name":"V2 Tasks"},{"name":"V2 Users"},{"name":"V2 Workdays"}],"definitions":{"TreeSpeciesPaginated":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"},"unfiltered_total":{"type":"integer"}}}}},"TreeSpeciesRead":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}},"TreeSpeciesReadAll":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"MonitoringUserRead":{"type":"object","properties":{"uuid":{"type":"string"},"user_type":{"type":"string"},"job_role":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"status":{"type":"string","description":"allowed values Pending|Accepted"}}},"EntityFormCreate":{"title":"EntityFormCreate","type":"object","properties":{"parent_entity":{"type":"string","description":"allowed values projects\/sites\/nurseries\/project-reports\/site-reports\/nursery-reports"},"parent_uuid":{"type":"string"},"form_uuid":{"type":"string"}}},"EntityFormUpdate":{"title":"EntityFormCreate","type":"object","properties":{"name":{"type":"string"},"status":{"type":"string"},"answers":{"type":"object"}}},"EntityFormRead":{"title":"EntityFormRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"form":{"type":"object"},"answers":{"type":"object"},"form_title":{"type":"string"},"feedback":{"type":"string"},"feedback_fields":{"type":"array","items":{"type":"string"}},"update_request":{"title":"UpdateRequestRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"content":{"type":"string"},"feedback":{"type":"string"},"feedback_fields":{"type":"array","items":{"type":"string"}},"project":{"type":"object"},"organisation":{"type":"object"},"created_by":{"type":"object"}}}}},"UserRead":{"type":"object","properties":{"id":{"type":"integer"},"organisation_id":{"type":"integer"},"organisation_name":{"type":"string"},"my_organisation":{"title":"AdminOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"my_monitoring_organisations":{"type":"array","items":{"title":"V2MonitoringOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"users_status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"email_address_verified_at":{"type":"string","format":"date-time"},"role":{"type":"string"},"last_logged_in_at":{"type":"string","format":"date-time"},"job_role":{"type":"string"},"facebook":{"type":"string"},"twitter":{"type":"string"},"instagram":{"type":"string"},"linkedin":{"type":"string"},"avatar":{"type":"string"},"phone_number":{"type":"string"},"whatsapp_phone":{"type":"string"},"has_ppc_projects":{"type":"boolean"},"has_terrafund_projects":{"type":"boolean"}}},"UserReadAll":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"organisation_id":{"type":"integer"},"organisation_name":{"type":"string"},"my_organisation":{"title":"AdminOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"my_monitoring_organisations":{"type":"array","items":{"title":"V2MonitoringOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"users_status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"email_address_verified_at":{"type":"string","format":"date-time"},"role":{"type":"string"},"last_logged_in_at":{"type":"string","format":"date-time"},"job_role":{"type":"string"},"facebook":{"type":"string"},"twitter":{"type":"string"},"instagram":{"type":"string"},"linkedin":{"type":"string"},"avatar":{"type":"string"},"phone_number":{"type":"string"},"whatsapp_phone":{"type":"string"},"has_ppc_projects":{"type":"boolean"},"has_terrafund_projects":{"type":"boolean"}}}},"FundingProgramme":{"title":"FundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"location":{"type":"string"},"read_more_url":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"stages":{"type":"array","items":{"title":"StageRead","x-stoplight":{"id":"qtkhrj889wvwc"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"status":{"type":"string"},"deadline_at":{"type":"string"},"readable_status":{"type":"string"},"funding_programme_id":{"type":"integer"},"name":{"type":"string"},"order":{"type":"integer"},"forms":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"organisations":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"LimitedFundingProgrammeRead":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"FundingProgrammeStatus":{"title":"FundingProgrammeStatus","type":"object","properties":{"status":{"type":"string"}}},"FundingProgrammeCreate":{"title":"FundingProgrammeCreate","x-stoplight":{"id":"uoxj0qcvij0sr"},"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"location":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"status":{"type":"string"}}},"Form":{"title":"FormSubmit","x-stoplight":{"id":"ge9ckliniez5m"},"type":"object","properties":{"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"stage_id":{"type":"integer"},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}}}},"FormCreate":{"title":"FormCreate","type":"object","properties":{"type":{"type":"string"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"duration":{"type":"string"},"stage_id":{"type":"integer"},"options_other":{"type":"boolean"},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"form_sections":{"type":"array","items":{"title":"FormSectionCreate","x-stoplight":{"id":"97clxg83l8q3f"},"type":"object","properties":{"order":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"form_questions":{"type":"array","items":{"title":"FormQuestionCreate","type":"object","properties":{"additional_props":{"type":"array","items":{"type":"object"}},"child_form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"linked_field_key":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"label":{"type":"string"},"placeholder":{"type":"string"},"description":{"type":"string"},"validation":{"type":"object"},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options_list":{"type":"string"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}}}}}}},"FormRead":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"FormSectionCreate":{"title":"FormSectionCreate","x-stoplight":{"id":"97clxg83l8q3f"},"type":"object","properties":{"order":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"form_questions":{"type":"array","items":{"title":"FormQuestionCreate","type":"object","properties":{"additional_props":{"type":"array","items":{"type":"object"}},"child_form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"linked_field_key":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"label":{"type":"string"},"placeholder":{"type":"string"},"description":{"type":"string"},"validation":{"type":"object"},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options_list":{"type":"string"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}}}},"FormSectionRead":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}},"FormQuestionRead":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}},"FormQuestionCreate":{"title":"FormQuestionCreate","type":"object","properties":{"additional_props":{"type":"array","items":{"type":"object"}},"child_form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"linked_field_key":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"label":{"type":"string"},"placeholder":{"type":"string"},"description":{"type":"string"},"validation":{"type":"object"},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options_list":{"type":"string"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}},"FormSectionUpdate":{"title":"FormSectionUpdate","x-stoplight":{"id":"tlqkri2rdwi5w"},"type":"object","properties":{"order":{"type":"integer"}}},"FormUpdate":{"title":"FormUpdate","x-stoplight":{"id":"m4lcpf2li93rf"},"type":"object","properties":{"type":{"type":"string"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"duration":{"type":"string"},"options_other":{"type":"boolean"}}},"GeojsonRead":{"title":"GeojsonRead","type":"object","properties":{"uuid":{"type":"integer"},"name":{"type":"object"},"geojson":{"type":"string"},"created_at":{"type":"string","format":"date-time"}}},"ReportingFrameworkRead":{"title":"ReportingFrameworkRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"},"access_code":{"type":"string"},"project_form_uuid":{"type":"string"},"project_report_form_uuid":{"type":"string"},"site_form_uuid":{"type":"string"},"site_report_form_uuid":{"type":"string"},"nursery_form_uuid":{"type":"string"},"nursery_report_form_uuid":{"type":"string"}}},"ReportingFrameworkUpdate":{"title":"ReportingFrameworkUpdate","type":"object","properties":{"name":{"type":"string"},"access_code":{"type":"string"},"project_form_uuid":{"type":"string"},"project_report_form_uuid":{"type":"string"},"site_form_uuid":{"type":"string"},"site_report_form_uuid":{"type":"string"},"nursery_form_uuid":{"type":"string"},"nursery_report_form_uuid":{"type":"string"}}},"ReportingFrameworkCreate":{"title":"ReportingFrameworkCreate","type":"object","properties":{"name":{"type":"string"},"access_code":{"type":"string"},"project_form_uuid":{"type":"string"},"project_report_form_uuid":{"type":"string"},"site_form_uuid":{"type":"string"},"site_report_form_uuid":{"type":"string"},"nursery_form_uuid":{"type":"string"},"nursery_report_form_uuid":{"type":"string"}}},"V2PaginationLinks":{"title":"V2PaginationLinks","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"V2PaginationCurrentLinks":{"title":"V2PaginationCurrentLinks","properties":{"url":{"type":"string"},"label":{"type":"string"},"active":{"type":"boolean"}}},"V2PaginationMeta":{"title":"V2PaginationMeta","properties":{"from":{"type":"integer"},"to":{"type":"integer"},"current_page":{"type":"integer"},"last_page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"path":{"type":"string"},"links":{"type":"array","items":{"title":"V2PaginationCurrentLinks","properties":{"url":{"type":"string"},"label":{"type":"string"},"active":{"type":"boolean"}}}}}},"V2SearchFilterSort":{"title":"V2SearchFilterSort","type":"object","properties":{"search":{"type":"string","description":"search term to use on the collection"},"filter":{"type":"string","description":"multiple filters can be applied. syntax is ?filter[foo]=value1,value2$filter[bar]=value3"},"sort":{"type":"string","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-name"},"per_page":{"type":"integer","description":"number of results (per page) to return"},"page":{"type":"integer","description":"page number you want results from"}}},"V2AdminOrganisationRead":{"title":"AdminOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"V2MonitoringOrganisationRead":{"title":"V2MonitoringOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"users_status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"V2AdminOrganisationUpdate":{"title":"AdminOrganisationUpdate","type":"object","properties":{"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","items":{"type":"string"}}}},"V2GenericList":{"title":"V2GenericList","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"input_type":{"type":"string"},"model_key":{"type":"string"},"option_list_key":{"type":"string"},"options":{"type":"array","items":{"type":"string"}}}},"V2CommonOptions":{"title":"V2CommonOptions","type":"object","properties":{"uuid":{"type":"string"},"slug":{"type":"string"},"alt_value":{"type":"string"},"label":{"type":"string"}}},"V2OrganisationApproveRejectUser":{"title":"OrganisationApproveRejectUser","type":"object","properties":{"organisation_uuid":{"type":"string"},"user_uuid":{"type":"string"}},"required":["organisation_uuid","user_uuid"]},"V2OrganisationUpdate":{"title":"OrganisationUpdate","type":"object","properties":{"type":{"type":"string","description":"Available type are for-profit-organization, non-profit-organization, government-agency"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"community_members_engaged_3yr":{"type":"number"},"community_members_engaged_3yr_women":{"type":"number"},"community_members_engaged_3yr_men":{"type":"number"},"community_members_engaged_3yr_youth":{"type":"number"},"community_members_engaged_3yr_non_youth":{"type":"number"},"community_members_engaged_3yr_smallholder":{"type":"number"},"community_members_engaged_3yr_backward_class":{"type":"number"},"total_board_members":{"type":"number"},"pct_board_women":{"type":"number"},"pct_board_men":{"type":"number"},"pct_board_youth":{"type":"number"},"pct_board_non_youth":{"type":"number"},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"languages":{"type":"array","items":{"type":"string"}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","items":{"type":"string"}}}},"V2OrganisationRead":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"ShapefileRead":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}},"V2AdminUserRead":{"title":"AdminUserRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"job_role":{"type":"string"},"facebook":{"type":"string"},"instagram":{"type":"string"},"linkedin":{"type":"string"},"twitter":{"type":"string"},"whatsapp_phone":{"type":"string"},"date_added":{"type":"string"}}},"V2AdminUserUpdate":{"title":"AdminUserUpdate","type":"object","properties":{"type":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"password":{"type":"string"},"job_role":{"type":"string"},"facebook":{"type":"string"},"instagram":{"type":"string"},"linkedin":{"type":"string"},"twitter":{"type":"string"},"whatsapp_phone":{"type":"string"},"organisation":{"type":"string"},"monitoring_organisations":{"type":"array","items":{"title":"V2MonitoringOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"users_status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}}},"V2FileRead":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"V2FileGallery":{"title":"V2FileGallery","type":"object","properties":{"uuid":{"type":"string"},"file_url":{"type":"string"},"thumb_url":{"type":"string"},"file_name":{"type":"string"},"created_date":{"type":"string"},"model_name":{"type":"string"},"is_public":{"type":"boolean"},"location":{"type":"object","properties":{"lat":{"type":"number"},"lng":{"type":"number"}}},"mime_type":{"type":"string"},"file_size":{"type":"integer"},"collection_name":{"type":"string"}}},"V2FileGalleryLite":{"title":"V2FileGallery","type":"object","properties":{"uuid":{"type":"string"},"thumb_url":{"type":"string"},"location":{"type":"object","properties":{"lat":{"type":"number"},"lng":{"type":"number"}}}}},"V2TreeSpeciesRead":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}},"V2CoreTeamLeaderCreate":{"title":"V2CoreTeamLeaderCreate","type":"object","properties":{"organisation_id":{"type":"string"},"position":{"type":"string"},"gender":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"role":{"type":"string"},"age":{"type":"integer"}}},"V2CoreTeamLeaderRead":{"title":"V2CoreTeamLeaderRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"organisation_id":{"type":"string"},"position":{"type":"string"},"gender":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"role":{"type":"string"},"age":{"type":"integer"}}},"V2CoreTeamLeaderUpdate":{"title":"V2CoreTeamLeaderUpdate","type":"object","properties":{"position":{"type":"string"},"gender":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"role":{"type":"string"},"age":{"type":"integer"}}},"V2LeadershipTeamCreate":{"title":"V2LeadershipTeamCreate","type":"object","properties":{"organisation_id":{"type":"string"},"position":{"type":"string"},"gender":{"type":"string"},"age":{"type":"integer"}}},"V2LeadershipTeamRead":{"title":"V2LeadershipTeamRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"organisation_id":{"type":"string"},"position":{"type":"string"},"gender":{"type":"string"},"age":{"type":"integer"}}},"V2LeadershipTeamUpdate":{"title":"V2LeadershipTeamUpdate","type":"object","properties":{"position":{"type":"string"},"gender":{"type":"string"},"age":{"type":"integer"}}},"V2OwnershipStakeCreate":{"title":"V2OwnershipStakeCreate","type":"object","properties":{"organisation_id":{"type":"string"},"position":{"type":"string"},"gender":{"type":"string"},"age":{"type":"integer"},"percent_ownership":{"type":"integer"}}},"V2OwnershipStakeRead":{"title":"V2OwnershipStakeRead","type":"object","properties":{"uuid":{"type":"string"},"organisation_id":{"type":"string"},"position":{"type":"string"},"gender":{"type":"string"},"age":{"type":"integer"},"percent_ownership":{"type":"integer"}}},"V2OwnershipStakeUpdate":{"title":"V2OwnershipStakeUpdate","type":"object","properties":{"position":{"type":"string"},"gender":{"type":"string"},"age":{"type":"integer"},"percent_ownership":{"type":"integer"}}},"V2FundingTypeCreate":{"title":"V2FundingTypeCreate","type":"object","properties":{"organisation_id":{"type":"string"},"amount":{"type":"integer"},"year":{"type":"integer"},"type":{"type":"string"}}},"V2FundingTypeRead":{"title":"V2FundingTypeRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"organisation_id":{"type":"string"},"amount":{"type":"integer"},"year":{"type":"integer"},"type":{"type":"string"}}},"V2FundingTypeUpdate":{"title":"V2FundingTypeUpdate","type":"object","properties":{"amount":{"type":"integer"},"year":{"type":"integer"},"type":{"type":"string"}}},"ProjectPitchCreate":{"title":"ProjectPitchCreate","x-stoplight":{"id":"xo976uxy5fkzu"},"type":"object","properties":{"organisation_id":{"type":"string"},"project_name":{"type":"string"},"project_objectives":{"type":"string"},"how_discovered":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"total_trees":{"type":"integer"},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"}}},"ProjectPitchUpdate":{"title":"ProjectPitchUpdate","x-stoplight":{"id":"w5u1xed0to2g6"},"type":"object","properties":{"funding_programme_id":{"type":"integer"},"project_name":{"type":"string"},"project_objectives":{"type":"string"},"project_county_district":{"type":"string"},"how_discovered":{"type":"string"},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"project_budget":{"type":"integer"},"project_country":{"type":"array","items":{"type":"string"}},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"total_trees":{"type":"integer"},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"}}},"V2SiteRead":{"type":"object","properties":{"id":{"type":"integer"},"site_id":{"type":"integer"},"terrafund_site_id":{"type":"integer"},"programme_id":{"type":"integer"},"terrafund_programme_id":{"type":"integer"},"control_site":{"type":"boolean"},"name":{"type":"string"},"country":{"type":"string"},"project_country":{"type":"string"},"continent":{"type":"string"},"description":{"type":"string"},"planting_pattern":{"type":"string"},"stratification_for_heterogeneity":{"type":"string"},"history":{"type":"string"},"workdays_paid":{"type":"integer"},"workdays_volunteer":{"type":"integer"},"total_workdays":{"type":"integer"},"establishment_date":{"type":"string","format":"date"},"start_date":{"type":"string","format":"date"},"end_date":{"type":"string","format":"date"},"technical_narrative":{"type":"string"},"public_narrative":{"type":"string"},"aim_survival_rate":{"type":"number"},"aim_year_five_crown_cover":{"type":"number"},"aim_direct_seeding_survival_rate":{"type":"number"},"aim_natural_regeneration_trees_per_hectare":{"type":"number"},"aim_natural_regeneration_hectares":{"type":"number"},"aim_soil_condition":{"type":"string"},"aim_number_of_mature_trees":{"type":"integer"},"hectares_to_restore":{"type":"number"},"landscape_community_contribution":{"type":"string"},"disturbances":{"type":"string"},"boundary_geojson":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}},"V2SiteLiteRead":{"title":"V2SiteLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"framework_key":{"type":"string"},"description":{"type":"string"},"control_site":{"type":"integer"},"status":{"type":"string"},"readable_status":{"type":"string"},"number_of_trees_planted":{"type":"integer"},"start_date":{"type":"string"},"created_at":{"type":"string"}}},"V2SiteMonitoringCreate":{"title":"V2SiteMonitoringCreate","type":"object","properties":{"site_uuid":{"type":"string"},"tree_count":{"type":"integer"},"tree_cover":{"type":"integer"},"field_tree_count":{"type":"integer"},"measurement_date":{"type":"string","format":"date"}}},"V2SiteMonitoringUpdate":{"title":"V2SiteMonitoringUpdate","type":"object","properties":{"status":{"type":"string"},"tree_count":{"type":"integer"},"tree_cover":{"type":"integer"},"field_tree_count":{"type":"integer"},"measurement_date":{"type":"string","format":"date"}}},"V2SiteMonitoringRead":{"title":"V2SiteMonitoringRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"tree_count":{"type":"integer"},"tree_cover":{"type":"integer"},"field_tree_count":{"type":"integer"},"measurement_date":{"type":"string","format":"date"},"last_updated":{"type":"string","format":"date-time"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}},"V2ProjectMonitoringCreate":{"title":"V2ProjectMonitoringCreate","type":"object","properties":{"project_uuid":{"type":"string"},"total_hectares":{"type":"integer"},"ha_mangrove":{"type":"integer"},"ha_assisted":{"type":"integer"},"ha_agroforestry":{"type":"integer"},"ha_reforestation":{"type":"integer"},"ha_peatland":{"type":"integer"},"ha_riparian":{"type":"integer"},"ha_enrichment":{"type":"integer"},"ha_nucleation":{"type":"integer"},"ha_silvopasture":{"type":"integer"},"ha_direct":{"type":"integer"},"tree_count":{"type":"integer"},"tree_cover":{"type":"integer"},"field_tree_count":{"type":"integer"},"tree_cover_loss":{"type":"integer"},"carbon_benefits":{"type":"integer"},"number_of_esrp":{"type":"integer"},"field_tree_regenerated":{"type":"integer"},"field_tree_survival_percent":{"type":"integer"},"start_date":{"type":"string","format":"date"},"end_date":{"type":"string","format":"date"}}},"V2ProjectMonitoringUpdate":{"title":"V2ProjectMonitoringUpdate","type":"object","properties":{"status":{"type":"string"},"total_hectares":{"type":"integer"},"ha_mangrove":{"type":"integer"},"ha_assisted":{"type":"integer"},"ha_agroforestry":{"type":"integer"},"ha_reforestation":{"type":"integer"},"ha_peatland":{"type":"integer"},"ha_riparian":{"type":"integer"},"ha_enrichment":{"type":"integer"},"ha_nucleation":{"type":"integer"},"ha_silvopasture":{"type":"integer"},"ha_direct":{"type":"integer"},"tree_count":{"type":"integer"},"tree_cover":{"type":"integer"},"field_tree_count":{"type":"integer"},"tree_cover_loss":{"type":"integer"},"carbon_benefits":{"type":"integer"},"number_of_esrp":{"type":"integer"},"field_tree_regenerated":{"type":"integer"},"field_tree_survival_percent":{"type":"integer"},"start_date":{"type":"string","format":"date"},"end_date":{"type":"string","format":"date"}}},"V2ProjectMonitoringRead":{"title":"V2ProjectMonitoringRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"total_hectares":{"type":"integer"},"ha_mangrove":{"type":"integer"},"ha_assisted":{"type":"integer"},"ha_agroforestry":{"type":"integer"},"ha_reforestation":{"type":"integer"},"ha_peatland":{"type":"integer"},"ha_riparian":{"type":"integer"},"ha_enrichment":{"type":"integer"},"ha_nucleation":{"type":"integer"},"ha_silvopasture":{"type":"integer"},"ha_direct":{"type":"integer"},"tree_count":{"type":"integer"},"tree_cover":{"type":"integer"},"field_tree_count":{"type":"integer"},"tree_cover_loss":{"type":"integer"},"carbon_benefits":{"type":"integer"},"number_of_esrp":{"type":"integer"},"field_tree_regenerated":{"type":"integer"},"field_tree_survival_percent":{"type":"integer"},"start_date":{"type":"string","format":"date"},"end_date":{"type":"string","format":"date"},"last_updated":{"type":"string","format":"date-time"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}},"V2NurseryLiteRead":{"title":"V2NurseryLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"project":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"establishment_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"start_date":{"type":"string"},"created_date":{"type":"string"}}},"V2StrataRead":{"title":"V2StrataRead","type":"object","properties":{"uuid":{"type":"string"},"description":{"type":"string"},"extent":{"type":"integer"}}},"V2StrataCreate":{"title":"V2StrataCreate","type":"object","properties":{"model_type":{"type":"string"},"model_uuid":{"type":"string"},"description":{"type":"string"},"extent":{"type":"integer"}}},"V2StrataUpdate":{"title":"V2StrataUpdate","type":"object","properties":{"description":{"type":"string"},"extent":{"type":"integer"}}},"V2StrataPaginated":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2StrataRead","type":"object","properties":{"uuid":{"type":"string"},"description":{"type":"string"},"extent":{"type":"integer"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"},"unfiltered_total":{"type":"integer"}}}}},"V2SeedingRead":{"title":"V2SeedingRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"weight_of_sample":{"type":"integer"},"seeds_in_sample":{"type":"integer"},"amount":{"type":"integer"}}},"V2SeedingCreate":{"title":"V2SeedingCreate","type":"object","properties":{"model_type":{"type":"string"},"model_uuid":{"type":"string"},"name":{"type":"string"},"weight_of_sample":{"type":"integer"},"seeds_in_sample":{"type":"integer"},"amount":{"type":"integer"}}},"V2SeedingUpdate":{"title":"V2SeedingUpdate","type":"object","properties":{"name":{"type":"string"},"weight_of_sample":{"type":"integer"},"seeds_in_sample":{"type":"integer"},"amount":{"type":"integer"}}},"V2SeedingPaginated":{"title":"V2SeedingPaginated","type":"object","properties":{"data":{"type":"array","items":{"title":"V2SeedingRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"weight_of_sample":{"type":"integer"},"seeds_in_sample":{"type":"integer"},"amount":{"type":"integer"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"},"unfiltered_total":{"type":"integer"}}}}},"V2WorkdayRead":{"title":"V2WorkdayRead","type":"object","properties":{"uuid":{"type":"string"},"collection":{"type":"string"},"readable_collection":{"type":"string"},"demographics":{"type":"array","items":{"title":"WorkdayDemographic","type":"object","properties":{"type":{"type":"string","enum":["gender","age","ethnicity"]},"subtype":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"}}}}}},"V2DisturbanceRead":{"title":"V2DisturbanceRead","type":"object","properties":{"uuid":{"type":"string"},"description":{"type":"string"},"intensity":{"type":"string"},"extent":{"type":"string"}}},"V2DisturbanceCreate":{"title":"V2DisturbanceCreate","type":"object","properties":{"model_type":{"type":"string"},"model_uuid":{"type":"integer"},"description":{"type":"string"},"intensity":{"type":"string"},"extent":{"type":"string"},"collection":{"type":"string"}}},"V2DisturbanceUpdate":{"title":"V2DisturbanceUpdate","type":"object","properties":{"description":{"type":"string"},"intensity":{"type":"integer"},"collection":{"type":"string"}}},"V2DisturbancePaginated":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2DisturbanceRead","type":"object","properties":{"uuid":{"type":"string"},"description":{"type":"string"},"intensity":{"type":"string"},"extent":{"type":"string"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"},"unfiltered_total":{"type":"integer"}}}}},"V2InvasiveRead":{"title":"V2InvasiveRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"type":{"type":"integer"}}},"V2InvasiveCreate":{"title":"V2InvasiveCreate","type":"object","properties":{"model_type":{"type":"string"},"model_uuid":{"type":"integer"},"name":{"type":"string"},"type":{"type":"string"},"collection":{"type":"string"}}},"V2InvasiveUpdate":{"title":"V2InvasiveUpdate","type":"object","properties":{"description":{"type":"string"},"intensity":{"type":"integer"},"collection":{"type":"string"}}},"V2InvasivePaginated":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2InvasiveRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"type":{"type":"integer"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"},"unfiltered_total":{"type":"integer"}}}}},"ProjectLiteRead":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"ProjectFullRead":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"application":{"title":"ApplicationLiteRead","type":"object","properties":{"uuid":{"type":"string"},"form_submissions":{"type":"array","items":{"type":"object","title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"current_submission":{"type":"object","title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"funding_programme":{"type":"object","title":"FundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"location":{"type":"string"},"read_more_url":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"stages":{"type":"array","items":{"title":"StageRead","x-stoplight":{"id":"qtkhrj889wvwc"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"status":{"type":"string"},"deadline_at":{"type":"string"},"readable_status":{"type":"string"},"funding_programme_id":{"type":"integer"},"name":{"type":"string"},"order":{"type":"integer"},"forms":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"organisations":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"organisation":{"type":"object","title":"AdminOrganisationRead","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"ProjectWithSchemaRead":{"title":"ProjectWithSchemaRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"answers":{"type":"array","items":{"type":"object","properties":{"question_id":{"type":"integer"},"value":{"type":"string"},"options":{"type":"array","items":{"type":"string"}}}}}}},"SiteFullRead":{"title":"SiteLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}}}},"SiteWithSchemaRead":{"title":"SiteWithSchemaRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"answers":{"type":"array","items":{"type":"object","properties":{"question_id":{"type":"integer"},"value":{"type":"string"},"options":{"type":"array","items":{"type":"string"}}}}}}},"ProjectPitchRead":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"AuditRead":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"AuditReadAll":{"type":"object","properties":{"data":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}}},"AuditsPaginated":{"type":"object","properties":{"data":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"},"unfiltered_total":{"type":"integer"}}}}},"FormSubmissionRead":{"title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"FormPaginated":{"type":"object","properties":{"data":{"type":"array","items":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"}}}}},"StagePaginated":{"type":"object","properties":{"data":{"title":"StageRead","x-stoplight":{"id":"qtkhrj889wvwc"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"status":{"type":"string"},"deadline_at":{"type":"string"},"readable_status":{"type":"string"},"funding_programme_id":{"type":"integer"},"name":{"type":"string"},"order":{"type":"integer"},"forms":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"}}}}},"StageLiteRead":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"StageRead":{"title":"StageRead","x-stoplight":{"id":"qtkhrj889wvwc"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"status":{"type":"string"},"deadline_at":{"type":"string"},"readable_status":{"type":"string"},"funding_programme_id":{"type":"integer"},"name":{"type":"string"},"order":{"type":"integer"},"forms":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"StageCreate":{"title":"StageCreate","x-stoplight":{"id":"q1bwtmu9aj98a"},"type":"object","properties":{"name":{"type":"string"},"funding_programme_id":{"type":"integer"},"form_id":{"type":"string"},"deadline_at":{"type":"string"},"order":{"type":"integer"}}},"FormQuestionOptionRead":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}},"FormTableHeaderRead":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}},"FormSubmissionCreate":{"title":"FormSubmissionCreate","x-stoplight":{"id":"yuvkg8bgvnerq"},"type":"object","properties":{"form_uuid":{"type":"string"},"project_pitch_uuid":{"type":"string"}}},"FormSubmissionUpdate":{"title":"FormSubmissionUpdate","type":"object","properties":{"status":{"type":"string"},"answers":{"type":"array","items":{"type":"object","properties":{"question_id":{"type":"integer"},"value":{"type":"string"},"options":{"type":"array","items":{"type":"string"}}}}}}},"ApplicationLiteRead":{"title":"ApplicationLiteRead","type":"object","properties":{"uuid":{"type":"string"},"form_submissions":{"items":{"title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"current_submission":{"title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"funding_programme_name":{"type":"integer"},"funding_programme_uuid":{"type":"string"},"funding_programme_status":{"type":"string"},"organisation_name":{"type":"string"},"organisation_uuid":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}},"ApplicationRead":{"title":"ApplicationLiteRead","type":"object","properties":{"uuid":{"type":"string"},"form_submissions":{"type":"array","items":{"type":"object","title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"current_submission":{"type":"object","title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"funding_programme":{"type":"object","title":"FundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"location":{"type":"string"},"read_more_url":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"stages":{"type":"array","items":{"title":"StageRead","x-stoplight":{"id":"qtkhrj889wvwc"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"status":{"type":"string"},"deadline_at":{"type":"string"},"readable_status":{"type":"string"},"funding_programme_id":{"type":"integer"},"name":{"type":"string"},"order":{"type":"integer"},"forms":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"organisations":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"organisation":{"type":"object","title":"AdminOrganisationRead","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}},"ProjectReportLiteRead":{"title":"ProjectReportLiteRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"integer"},"readable_status":{"type":"string"},"title":{"type":"string"}}},"ProjectReportPaginated":{"type":"object","properties":{"data":{"type":"array","items":{"title":"ProjectReportLiteRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"integer"},"readable_status":{"type":"string"},"title":{"type":"string"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"}}}}},"TaskPaginated":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2TaskRead","type":"object","properties":{"uuid":{"type":"string"},"project":{"type":"object"},"period_key":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"}}}}},"SiteReportLiteRead":{"title":"SiteReportLiteRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"integer"},"readable_status":{"type":"string"},"title":{"type":"string"},"due_at":{"type":"string"},"date_submitted":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"project":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"site":{"title":"SiteLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"project":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}}}},"SiteReportPaginated":{"type":"object","properties":{"data":{"type":"array","items":{"title":"SiteReportLiteRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"integer"},"readable_status":{"type":"string"},"title":{"type":"string"},"due_at":{"type":"string"},"date_submitted":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"project":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"site":{"title":"SiteLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"project":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"}}}}},"NurseryReportLiteRead":{"title":"NurseryReportLiteRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"integer"},"readable_status":{"type":"string"},"title":{"type":"string"},"due_at":{"type":"string"},"date_submitted":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"project":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"nursery":{"title":"NurseryLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"project":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}}}},"NurseryReportPaginated":{"type":"object","properties":{"data":{"type":"array","items":{"title":"NurseryReportLiteRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"integer"},"readable_status":{"type":"string"},"title":{"type":"string"},"due_at":{"type":"string"},"date_submitted":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"project":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"nursery":{"title":"NurseryLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"project":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"}}}}},"NurseryPaginated":{"type":"object","properties":{"data":{"type":"array","items":{"title":"NurseryRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"integer"},"readable_status":{"type":"string"},"type":{"type":"string"},"establishment_date":{"type":"string"},"start_date":{"type":"string"},"seedling_grown":{"type":"integer"},"planting_contribution":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"}}}}},"NurseryRead":{"title":"NurseryRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"integer"},"readable_status":{"type":"string"},"type":{"type":"string"},"establishment_date":{"type":"string"},"start_date":{"type":"string"},"seedling_grown":{"type":"integer"},"planting_contribution":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}}}},"Empty":{"type":"object"},"AuthLogIn":{"type":"object","properties":{"email_address":{"type":"string","format":"email"},"password":{"type":"string"}}},"TokenRead":{"type":"object","properties":{"token":{"type":"string"}}},"AuthChange":{"type":"object","properties":{"token":{"type":"string"},"password":{"type":"string"}}},"AuthReset":{"type":"object","properties":{"email_address":{"type":"string"},"callback_url":{"type":"string"}}},"AuthVerify":{"type":"object","properties":{"token":{"type":"string"}}},"NurseryLiteRead":{"title":"NurseryLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"project":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"SiteLiteRead":{"title":"SiteLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"project":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"NurseryReportRead":{"title":"NurseryReportRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"nursery":{"title":"NurseryLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"project":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"due_at":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"title":{"type":"string"},"seedlings_young_trees":{"type":"integer"},"interesting_facts":{"type":"string"},"site_prep":{"type":"string"},"shared_drive_link":{"type":"string"},"created_by":{"type":"object","properties":{"id":{"type":"integer"},"organisation_id":{"type":"integer"},"organisation_name":{"type":"string"},"my_organisation":{"title":"AdminOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"my_monitoring_organisations":{"type":"array","items":{"title":"V2MonitoringOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"users_status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"email_address_verified_at":{"type":"string","format":"date-time"},"role":{"type":"string"},"last_logged_in_at":{"type":"string","format":"date-time"},"job_role":{"type":"string"},"facebook":{"type":"string"},"twitter":{"type":"string"},"instagram":{"type":"string"},"linkedin":{"type":"string"},"avatar":{"type":"string"},"phone_number":{"type":"string"},"whatsapp_phone":{"type":"string"},"has_ppc_projects":{"type":"boolean"},"has_terrafund_projects":{"type":"boolean"}}},"approved_by":{"type":"object","properties":{"id":{"type":"integer"},"organisation_id":{"type":"integer"},"organisation_name":{"type":"string"},"my_organisation":{"title":"AdminOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"my_monitoring_organisations":{"type":"array","items":{"title":"V2MonitoringOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"users_status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"email_address_verified_at":{"type":"string","format":"date-time"},"role":{"type":"string"},"last_logged_in_at":{"type":"string","format":"date-time"},"job_role":{"type":"string"},"facebook":{"type":"string"},"twitter":{"type":"string"},"instagram":{"type":"string"},"linkedin":{"type":"string"},"avatar":{"type":"string"},"phone_number":{"type":"string"},"whatsapp_phone":{"type":"string"},"has_ppc_projects":{"type":"boolean"},"has_terrafund_projects":{"type":"boolean"}}},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"task_uuid":{"type":"string"}}},"SiteReportRead":{"title":"SiteReportRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"title":{"type":"string"},"site":{"title":"SiteLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"project":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"status":{"type":"string"},"readable_status":{"type":"string"},"approved_at":{"type":"string"},"created_by":{"type":"object","properties":{"id":{"type":"integer"},"organisation_id":{"type":"integer"},"organisation_name":{"type":"string"},"my_organisation":{"title":"AdminOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"my_monitoring_organisations":{"type":"array","items":{"title":"V2MonitoringOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"users_status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"email_address_verified_at":{"type":"string","format":"date-time"},"role":{"type":"string"},"last_logged_in_at":{"type":"string","format":"date-time"},"job_role":{"type":"string"},"facebook":{"type":"string"},"twitter":{"type":"string"},"instagram":{"type":"string"},"linkedin":{"type":"string"},"avatar":{"type":"string"},"phone_number":{"type":"string"},"whatsapp_phone":{"type":"string"},"has_ppc_projects":{"type":"boolean"},"has_terrafund_projects":{"type":"boolean"}}},"approved_by":{"type":"object","properties":{"id":{"type":"integer"},"organisation_id":{"type":"integer"},"organisation_name":{"type":"string"},"my_organisation":{"title":"AdminOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"my_monitoring_organisations":{"type":"array","items":{"title":"V2MonitoringOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"users_status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"email_address_verified_at":{"type":"string","format":"date-time"},"role":{"type":"string"},"last_logged_in_at":{"type":"string","format":"date-time"},"job_role":{"type":"string"},"facebook":{"type":"string"},"twitter":{"type":"string"},"instagram":{"type":"string"},"linkedin":{"type":"string"},"avatar":{"type":"string"},"phone_number":{"type":"string"},"whatsapp_phone":{"type":"string"},"has_ppc_projects":{"type":"boolean"},"has_terrafund_projects":{"type":"boolean"}}},"workdays_volunteer":{"type":"integer"},"technical_narrative":{"type":"string"},"public_narrative":{"type":"string"},"shared_drive_link":{"type":"string"},"due_at":{"type":"string"},"se_gender_female":{"type":"number"},"se_gender_male":{"type":"number"},"se_gender_undefined":{"type":"number"},"se_age_youth":{"type":"number"},"se_age_adult":{"type":"number"},"se_age_elder":{"type":"number"},"se_age_undefined":{"type":"number"},"se_ethnicity_indigenous_1":{"type":"number"},"se_ethnicity_indigenous_2":{"type":"number"},"se_ethnicity_other_1":{"type":"number"},"se_ethnicity_other_2":{"type":"number"},"se_ethnicity_other_3":{"type":"number"},"se_ethnicity_undefined":{"type":"number"},"p_gender_female":{"type":"number"},"p_gender_male":{"type":"number"},"p_gender_undefined":{"type":"number"},"p_age_youth":{"type":"number"},"p_age_adult":{"type":"number"},"p_age_elder":{"type":"number"},"p_age_undefined":{"type":"number"},"p_ethnicity_indigenous_1":{"type":"number"},"p_ethnicity_indigenous_2":{"type":"number"},"p_ethnicity_other_1":{"type":"number"},"p_ethnicity_other_2":{"type":"number"},"p_ethnicity_other_3":{"type":"number"},"p_ethnicity_undefined":{"type":"number"},"sma_gender_female":{"type":"number"},"sma_gender_male":{"type":"number"},"sma_gender_undefined":{"type":"number"},"sma_age_youth":{"type":"number"},"sma_age_adult":{"type":"number"},"sma_age_elder":{"type":"number"},"sma_age_undefined":{"type":"number"},"sma_ethnicity_indigenous_1":{"type":"number"},"sma_ethnicity_indigenous_2":{"type":"number"},"sma_ethnicity_other_1":{"type":"number"},"sma_ethnicity_other_2":{"type":"number"},"sma_ethnicity_other_3":{"type":"number"},"sma_ethnicity_undefined":{"type":"number"},"smo_gender_female":{"type":"number"},"smo_gender_male":{"type":"number"},"smo_gender_undefined":{"type":"number"},"smo_age_youth":{"type":"number"},"smo_age_adult":{"type":"number"},"smo_age_elder":{"type":"number"},"smo_age_undefined":{"type":"number"},"smo_ethnicity_indigenous_1":{"type":"number"},"smo_ethnicity_indigenous_2":{"type":"number"},"smo_ethnicity_other_1":{"type":"number"},"smo_ethnicity_other_2":{"type":"number"},"smo_ethnicity_other_3":{"type":"number"},"smo_ethnicity_undefined":{"type":"number"},"o_gender_female":{"type":"number"},"o_gender_male":{"type":"number"},"o_gender_undefined":{"type":"number"},"o_age_youth":{"type":"number"},"o_age_adult":{"type":"number"},"o_age_elder":{"type":"number"},"o_age_undefined":{"type":"number"},"o_ethnicity_indigenous_1":{"type":"number"},"o_ethnicity_indigenous_2":{"type":"number"},"o_ethnicity_other_1":{"type":"number"},"o_ethnicity_other_2":{"type":"number"},"o_ethnicity_other_3":{"type":"number"},"o_ethnicity_undefined":{"type":"number"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"task_uuid":{"type":"string"}}},"ProjectReportRead":{"title":"ProjectReportRead","type":"object","properties":{"uuid":{"type":"string"},"title":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"workdays_paid":{"type":"integer"},"workdays_volunteer":{"type":"integer"},"technical_narrative":{"type":"string"},"public_narrative":{"type":"string"},"landscape_community_contribution":{"type":"string"},"top_three_successes":{"type":"string"},"challenges_faced":{"type":"string"},"lessons_learned":{"type":"string"},"maintenance_and_monitoring_activities":{"type":"string"},"significant_change":{"type":"string"},"pct_survival_to_date":{"type":"number"},"survival_calculation":{"type":"string"},"survival_comparison":{"type":"string"},"ft_women":{"type":"integer"},"ft_men":{"type":"integer"},"ft_youth":{"type":"integer"},"ft_smallholder_farmers":{"type":"integer"},"ft_total":{"type":"integer"},"pt_women":{"type":"integer"},"pt_men":{"type":"integer"},"pt_youth":{"type":"integer"},"pt_smallholder_farmers":{"type":"integer"},"pt_total":{"type":"integer"},"seasonal_women":{"type":"integer"},"seasonal_men":{"type":"integer"},"seasonal_youth":{"type":"integer"},"seasonal_smallholder_farmers":{"type":"integer"},"seasonal_total":{"type":"integer"},"volunteer_women":{"type":"integer"},"volunteer_men":{"type":"integer"},"volunteer_youth":{"type":"integer"},"volunteer_smallholder_farmers":{"type":"integer"},"volunteer_total":{"type":"integer"},"shared_drive_link":{"type":"string"},"planted_trees":{"type":"integer"},"new_jobs_created":{"type":"integer"},"new_jobs_description":{"type":"string"},"new_volunteers":{"type":"integer"},"volunteers_work_description":{"type":"string"},"ft_jobs_non_youth":{"type":"integer"},"ft_jobs_youth":{"type":"integer"},"volunteer_non_youth":{"type":"integer"},"beneficiaries":{"type":"integer"},"beneficiaries_description":{"type":"string"},"beneficiaries_women":{"type":"integer"},"beneficiaries_men":{"type":"integer"},"beneficiaries_non_youth":{"type":"integer"},"beneficiaries_youth":{"type":"integer"},"beneficiaries_smallholder":{"type":"integer"},"beneficiaries_large_scale":{"type":"integer"},"beneficiaries_income_increase":{"type":"integer"},"beneficiaries_income_increase_description":{"type":"string"},"beneficiaries_skills_knowledge_increase":{"type":"integer"},"beneficiaries_skills_knowledge_increase_description":{"type":"string"},"ethnic_indigenous_1":{"type":"integer"},"ethnic_indigenous_2":{"type":"integer"},"ethnic_indigenous_3":{"type":"integer"},"ethnic_indigenous_4":{"type":"integer"},"ethnic_indigenous_5":{"type":"integer"},"ethnic_other_1":{"type":"integer"},"ethnic_other_2":{"type":"integer"},"ethnic_other_3":{"type":"integer"},"ethnic_other_4":{"type":"integer"},"ethnic_other_5":{"type":"integer"},"pe_gender_female":{"type":"number"},"pe_gender_male":{"type":"number"},"pe_gender_undefined":{"type":"number"},"pe_age_youth":{"type":"number"},"pe_age_adult":{"type":"number"},"pe_age_elder":{"type":"number"},"pe_age_undefined":{"type":"number"},"pe_ethnicity_indigenous_1":{"type":"number"},"pe_ethnicity_indigenous_2":{"type":"number"},"pe_ethnicity_other_1":{"type":"number"},"pe_ethnicity_other_2":{"type":"number"},"pe_ethnicity_other_3":{"type":"number"},"pe_ethnicity_undefined":{"type":"number"},"no_gender_female":{"type":"number"},"no_gender_male":{"type":"number"},"no_gender_undefined":{"type":"number"},"no_age_youth":{"type":"number"},"no_age_adult":{"type":"number"},"no_age_elder":{"type":"number"},"no_age_undefined":{"type":"number"},"no_ethnicity_indigenous_1":{"type":"number"},"no_ethnicity_indigenous_2":{"type":"number"},"no_ethnicity_other_1":{"type":"number"},"no_ethnicity_other_2":{"type":"number"},"no_ethnicity_other_3":{"type":"number"},"no_ethnicity_undefined":{"type":"number"},"pm_gender_female":{"type":"number"},"pm_gender_male":{"type":"number"},"pm_gender_undefined":{"type":"number"},"pm_age_youth":{"type":"number"},"pm_age_adult":{"type":"number"},"pm_age_elder":{"type":"number"},"pm_age_undefined":{"type":"number"},"pm_ethnicity_indigenous_1":{"type":"number"},"pm_ethnicity_indigenous_2":{"type":"number"},"pm_ethnicity_other_1":{"type":"number"},"pm_ethnicity_other_2":{"type":"number"},"pm_ethnicity_other_3":{"type":"number"},"pm_ethnicity_undefined":{"type":"number"},"sc_gender_female":{"type":"number"},"sc_gender_male":{"type":"number"},"sc_gender_undefined":{"type":"number"},"sc_age_youth":{"type":"number"},"sc_age_adult":{"type":"number"},"sc_age_elder":{"type":"number"},"sc_age_undefined":{"type":"number"},"sc_ethnicity_indigenous_1":{"type":"number"},"sc_ethnicity_indigenous_2":{"type":"number"},"sc_ethnicity_other_1":{"type":"number"},"sc_ethnicity_other_2":{"type":"number"},"sc_ethnicity_other_3":{"type":"number"},"sc_ethnicity_undefined":{"type":"number"},"o_gender_female":{"type":"number"},"o_gender_male":{"type":"number"},"o_gender_undefined":{"type":"number"},"o_age_youth":{"type":"number"},"o_age_adult":{"type":"number"},"o_age_elder":{"type":"number"},"o_age_undefined":{"type":"number"},"o_ethnicity_indigenous_1":{"type":"number"},"o_ethnicity_indigenous_2":{"type":"number"},"o_ethnicity_other_1":{"type":"number"},"o_ethnicity_other_2":{"type":"number"},"o_ethnicity_other_3":{"type":"number"},"o_ethnicity_undefined":{"type":"number"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"task_uuid":{"type":"string"},"submitted_at":{"type":"string"},"created_by":{"type":"object","properties":{"id":{"type":"integer"},"organisation_id":{"type":"integer"},"organisation_name":{"type":"string"},"my_organisation":{"title":"AdminOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"my_monitoring_organisations":{"type":"array","items":{"title":"V2MonitoringOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"users_status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"email_address_verified_at":{"type":"string","format":"date-time"},"role":{"type":"string"},"last_logged_in_at":{"type":"string","format":"date-time"},"job_role":{"type":"string"},"facebook":{"type":"string"},"twitter":{"type":"string"},"instagram":{"type":"string"},"linkedin":{"type":"string"},"avatar":{"type":"string"},"phone_number":{"type":"string"},"whatsapp_phone":{"type":"string"},"has_ppc_projects":{"type":"boolean"},"has_terrafund_projects":{"type":"boolean"}}},"seedlings_grown":{"type":"integer"}}},"UserCreate":{"type":"object","properties":{"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"password":{"type":"string"},"job_role":{"type":"string"},"facebook":{"type":"string"},"twitter":{"type":"string"},"instagram":{"type":"string"},"linkedin":{"type":"string"},"phone_number":{"type":"string"},"whatsapp_phone":{"type":"string"},"callback_url":{"type":"string"}}},"UpdateRequestsPaginated":{"title":"UpdateRequestsPaginated","type":"object","properties":{"data":{"type":"array","items":{"title":"UpdateRequestLiteRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"}}}}},"UpdateRequestRead":{"title":"UpdateRequestRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"content":{"type":"string"},"feedback":{"type":"string"},"feedback_fields":{"type":"array","items":{"type":"string"}},"project":{"type":"object"},"organisation":{"type":"object"},"created_by":{"type":"object"}}},"UpdateRequestLiteRead":{"title":"UpdateRequestLiteRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"ActionRead":{"title":"ActionRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"type":{"type":"string"},"subtype":{"type":"string"},"title":{"type":"string"},"sub_title":{"type":"string"},"text":{"type":"string"},"key":{"type":"string"},"targetable_type":{"type":"string","description":"one of Project|ProjectReport|Site|SiteReport|Nursery|NurseryReport|UpdateRequest"},"targetable_id":{"type":"integer"},"target":{"type":"object","description":"contains the \u201cLite\u201d objects for the model involved with the Action"},"organisation_id":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"V2TaskRead":{"title":"V2TaskRead","type":"object","properties":{"uuid":{"type":"string"},"project":{"type":"object"},"period_key":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"V2TaskActionRead":{"title":"V2TaskActionRead","type":"object","properties":{"uuid":{"type":"integer"},"type":{"type":"string"},"status":{"type":"string"},"due_at":{"type":"string","format":"date-time"},"title":{"type":"string"},"report_title":{"type":"string"},"update_request_status":{"type":"string"},"submitted_at":{"type":"string","format":"date-time"},"parent_name":{"type":"string"}}},"StatusUpdate":{"title":"StatusUpdate","type":"object","properties":{"feedback":{"type":"string"},"feedback_fields":{"type":"array","items":{"type":"string"}}}},"V2ProjectInviteRead":{"title":"V2ProjectInviteRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"project_id":{"type":"integer"},"email_address":{"type":"string"},"accepted_at":{"type":"string","format":"datetime"},"created_at":{"type":"string","format":"datetime"}}},"V2ProjectInviteCreate":{"title":"V2ProjectInviteCreate","type":"object","properties":{"email_address":{"type":"string"}}},"WorkdayDemographic":{"title":"WorkdayDemographic","type":"object","properties":{"type":{"type":"string","enum":["gender","age","ethnicity"]},"subtype":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"}}},"GeoJSON":{"title":"GeoJSON","type":"object","properties":{"type":{"type":"string","enum":["FeatureCollection"]},"features":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["Feature"]},"properties":{"type":"object","properties":{"poly_name":{"type":"string"},"plantstart":{"type":"string","format":"date"},"plantend":{"type":"string","format":"date"},"practice":{"type":"string"},"target_sys":{"type":"string"},"distr":{"type":"string"},"num_trees":{"type":"number"},"site_id":{"type":"string"}}},"geometry":{"type":"object","properties":{"type":{"type":"string","enum":["Polygon","Point"]},"coordinates":{"type":"array"}}}}}}}},"GeometryPost":{"title":"SiteGeometryPost","type":"object","properties":{"polygon_uuids":{"type":"array","items":{"type":"string"},"description":"The UUIDs generated by the system for the uploaded polygons. They are in the same order as the polygons in the request payload."},"errors":{"type":"object","description":"Mapping of geometry UUID to the errors associated with the geometry. The geometry was saved in the DB and must be updated instead of created once the issues are resolved.","additionalProperties":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","enum":["OVERLAPPING_POLYGON","SELF_INTERSECTION","COORDINATE_SYSTEM","SIZE_LIMIT","WITHIN_COUNTRY","SPIKE","GEOMETRY_TYPE","TOTAL_AREA_EXPECTED","TABLE_SCHEMA","DATA_COMPLETED"]},"message":{"type":"string","description":"Human readable string in English to describe the error."}}}}}}},"V2TerrafundCriteriaData":{"type":"object","properties":{"polygon_id":{"type":"string","description":"The ID of the polygon"},"criteria_list":{"type":"array","description":"List of validation criteria","items":{"type":"object","properties":{"criteria_id":{"type":"integer","description":"The ID of the criteria"},"latest_created_at":{"type":"string","format":"date-time","description":"The latest created at timestamp of the criteria"},"valid":{"type":"integer","description":"Indicates if the criteria is valid or not (1 for valid, 0 for invalid)"}}}}}},"V2TerrafundCriteriaSite":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","description":"The UUID of the polygon."},"valid":{"type":"boolean","description":"Indicates if the polygon is valid or not."},"checked":{"type":"boolean","description":"Indicates if the polygon has been checked before or not."}}}},"SitePolygon":{"title":"SitePolygon","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"project_id":{"type":"string"},"proj_name":{"type":"string"},"org_name":{"type":"string"},"poly_id":{"type":"string"},"poly_name":{"type":"string"},"site_id":{"type":"string"},"site_name":{"type":"string"},"plantstart":{"type":"string","format":"date"},"plantend":{"type":"string","format":"date"},"practice":{"type":"string"},"target_sys":{"type":"string"},"distr":{"type":"string"},"num_trees":{"type":"integer"},"calc_area":{"type":"number","format":"float"},"created_by":{"type":"string"},"last_modified_by":{"type":"string"},"deleted_at":{"type":"string","format":"date-time"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"status":{"type":"string"},"country":{"type":"string"}}},"GeometryString":{"type":"object","properties":{"geometry":{"type":"string"}}},"SitePolygonsDataResponse":{"title":"SitePolygonsDataResponse","type":"array","items":{"title":"SitePolygon","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"project_id":{"type":"string"},"proj_name":{"type":"string"},"org_name":{"type":"string"},"poly_id":{"type":"string"},"poly_name":{"type":"string"},"site_id":{"type":"string"},"site_name":{"type":"string"},"plantstart":{"type":"string","format":"date"},"plantend":{"type":"string","format":"date"},"practice":{"type":"string"},"target_sys":{"type":"string"},"distr":{"type":"string"},"num_trees":{"type":"integer"},"calc_area":{"type":"number","format":"float"},"created_by":{"type":"string"},"last_modified_by":{"type":"string"},"deleted_at":{"type":"string","format":"date-time"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"status":{"type":"string"},"country":{"type":"string"}}}},"SitePolygonsBboxResponse":{"title":"SitePolygonsBboxResponse","type":"object","properties":{"bbox":{"type":"array","items":{"type":"number"}}}},"SitePolygonResponse":{"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"poly_name":{"type":"string"},"plantstart":{"type":"string","format":"date"},"plantend":{"type":"string","format":"date"},"practice":{"type":"string"},"target_sys":{"type":"string"},"distr":{"type":"string"},"num_trees":{"type":"integer"},"calc_area":{"type":"number","format":"float"},"status":{"type":"string"}}},"SitePolygonCreateResponse":{"type":"object","properties":{"message":{"type":"string","example":"Site polygon created successfully"},"uuid":{"type":"string","description":"UUID of the created site polygon"},"area":{"type":"number","format":"double","description":"Calculated area in hectares"}}},"GeoJSONResponse":{"type":"object","properties":{"type":{"type":"string"},"features":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"geometry":{"type":"object","properties":{"type":{"type":"string"},"coordinates":{"type":"array"}}},"properties":{"type":"object","properties":{"poly_name":{"type":"string"},"plantstart":{"type":"string"},"plantend":{"type":"string"},"practice":{"type":"string"},"target_sys":{"type":"string"},"distr":{"type":"string"},"num_trees":{"type":"integer"}}}}}}}},"DashboardJobsCreatedResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"totalJobsCreated":{"type":"integer"},"forProfitJobsCreated":{"type":"integer"},"nonProfitJobsCreated":{"type":"integer"},"total_ft":{"type":"integer"},"total_pt":{"type":"integer"},"total_men":{"type":"integer"},"total_pt_men":{"type":"integer"},"total_ft_men":{"type":"integer"},"total_women":{"type":"integer"},"total_pt_women":{"type":"integer"},"total_ft_women":{"type":"integer"},"total_youth":{"type":"integer"},"total_pt_youth":{"type":"integer"},"total_ft_youth":{"type":"integer"},"total_non_youth":{"type":"integer"},"total_pt_non_youth":{"type":"integer"},"total_ft_non_youth":{"type":"integer"}}}}},"DashboardJobsCreatedData":{"type":"object","properties":{"totalJobsCreated":{"type":"integer"},"forProfitJobsCreated":{"type":"integer"},"nonProfitJobsCreated":{"type":"integer"},"total_ft":{"type":"integer"},"total_pt":{"type":"integer"},"total_men":{"type":"integer"},"total_pt_men":{"type":"integer"},"total_ft_men":{"type":"integer"},"total_women":{"type":"integer"},"total_pt_women":{"type":"integer"},"total_ft_women":{"type":"integer"},"total_youth":{"type":"integer"},"total_pt_youth":{"type":"integer"},"total_ft_youth":{"type":"integer"},"total_non_youth":{"type":"integer"},"total_pt_non_youth":{"type":"integer"},"total_ft_non_youth":{"type":"integer"}}},"DashboardRestorationStrategyResponse":{"type":"object","properties":{"restorationStrategies":{"type":"object","properties":{"direct-seeding":{"type":"integer"},"tree-planting":{"type":"integer"},"assisted-natural-regeneration":{"type":"integer"}}},"landUseTypes":{"type":"object","properties":{"agroforest":{"type":"integer"},"open-natural-ecosystem":{"type":"integer"},"mangrove":{"type":"integer"},"natural-forest":{"type":"integer"},"peatland":{"type":"integer"},"riparian-area-or-wetland":{"type":"integer"},"silvopasture":{"type":"integer"},"urban-forest":{"type":"integer"},"woodlot-or-plantation":{"type":"integer"}}},"landTenures":{"type":"object","properties":{"communal":{"type":"integer"},"indigenous":{"type":"integer"},"national_protected_area":{"type":"integer"},"other":{"type":"integer"},"private":{"type":"integer"},"public":{"type":"integer"}}}}},"DashboardTreeRestorationGoalResponse":{"type":"object","properties":{"forProfitTreeCount":{"type":"integer"},"nonProfitTreeCount":{"type":"integer"},"totalTreesGrownGoal":{"type":"integer"},"treesUnderRestorationActualTotal":{"type":"array","items":{"type":"object","properties":{"dueDate":{"type":"string","format":"date"},"treeSpeciesAmount":{"type":"integer"},"treeSpeciesPercentage":{"type":"number"}}}},"treesUnderRestorationActualForProfit":{"type":"array","items":{"type":"object","properties":{"dueDate":{"type":"string","format":"date"},"treeSpeciesAmount":{"type":"integer"},"treeSpeciesPercentage":{"type":"number"}}}},"treesUnderRestorationActualNonProfit":{"type":"array","items":{"type":"object","properties":{"dueDate":{"type":"string","format":"date"},"treeSpeciesAmount":{"type":"integer"},"treeSpeciesPercentage":{"type":"number"}}}},"averageSurvivalRateTotal":{"type":"number"},"averageSurvivalRateForProfit":{"type":"number"},"averageSurvivalRateNonProfit":{"type":"number"}}},"DashboardTreesUnderRestorationActual":{"type":"object","properties":{"dueDate":{"type":"string","format":"date"},"treeSpeciesAmount":{"type":"integer"},"treeSpeciesPercentage":{"type":"number"}}},"DashboardGetProjectsResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"lat":{"type":"number","format":"double"},"long":{"type":"number","format":"double"}}}}}},"DashboardGetProjectsData":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"lat":{"type":"number","format":"double"},"long":{"type":"number","format":"double"}}},"DashboardGetPolygonStatusResponse":{"properties":{"data":{"type":"array","properties":{"NeedsMoreInfo":{"type":"array","description":"Ids of polygons that need more information"},"Submitted":{"type":"array","description":"Ids of submitted polygons"},"Approved":{"type":"array","description":"Ids of approved polygons"}}}}},"DashboardBBOXProject":{"type":"object","properties":{"bbox":{"type":"array","items":{"type":"number"}}}},"DashboardBBOXCountry":{"type":"object","properties":{"bbox":{"type":"array","items":{"type":"number"}}}},"DashboardPolygonData":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Title of the data field"},"value":{"type":"string","description":"Value of the data field"},"key":{"type":"string","description":"Key of the data field"}}}}}},"EntityTypeResponse":{"type":"object","properties":{"type":{"type":"string","description":"Type of the entity ('project', 'site', 'unknown')"},"uuid":{"type":"string","format":"uuid","description":"UUID of the entity"},"polygonsData":{"type":"array","items":{"title":"SitePolygon","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"project_id":{"type":"string"},"proj_name":{"type":"string"},"org_name":{"type":"string"},"poly_id":{"type":"string"},"poly_name":{"type":"string"},"site_id":{"type":"string"},"site_name":{"type":"string"},"plantstart":{"type":"string","format":"date"},"plantend":{"type":"string","format":"date"},"practice":{"type":"string"},"target_sys":{"type":"string"},"distr":{"type":"string"},"num_trees":{"type":"integer"},"calc_area":{"type":"number","format":"float"},"created_by":{"type":"string"},"last_modified_by":{"type":"string"},"deleted_at":{"type":"string","format":"date-time"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"status":{"type":"string"},"country":{"type":"string"}}}},"bbox":{"type":"array","items":{"type":"number"},"description":"Bounding box of the entity"}}}},"paths":{"\/v2\/tree-species\/{entity}\/{UUID}":{"get":{"operationId":"get-v2-tree-species-entity-uuid","summary":"View all tree species for a given entity","tags":["V2 Tree Species"],"parameters":[{"type":"string","name":"entity","in":"path","required":true,"description":"allowed values project\/site\/nursery\/project-reports\/site-reports\/nursery-reports"},{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"},"unfiltered_total":{"type":"integer"}}}}}}}}},"\/v2\/admin\/projects\/multi":{"get":{"summary":"Get multiple projects as an admin","tags":["V2 Projects"],"parameters":[{"type":"string","in":"query","name":"ids","description":"comma separated list of values. eg ?ids=uuid1,uuid2","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}}}}},"operationId":"get-v2-admin-projects-multi"}},"\/v2\/admin\/nurseries\/multi":{"get":{"summary":"Get multiple nurseries as an admin","tags":["V2 Nurseries"],"parameters":[{"type":"string","in":"query","name":"ids","description":"comma separated list of values. eg ?ids=uuid1,uuid2","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"title":"NurseryLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"project":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}}}}},"operationId":"get-v2-admin-nurseries-multi"}},"\/v2\/admin\/sites\/multi":{"get":{"summary":"Get multiple sites as an admin","tags":["V2 Sites"],"parameters":[{"type":"string","in":"query","name":"ids","description":"comma separated list of values. eg ?ids=uuid1,uuid2","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"title":"SiteLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"project":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}}}}},"operationId":"get-v2-admin-sites-multi"}},"\/users":{"post":{"summary":"Create a user","tags":["Users"],"security":[],"consumes":["application\/json"],"produces":["application\/json"],"parameters":[{"name":"Body","in":"body","required":true,"schema":{"type":"object","properties":{"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"password":{"type":"string"},"job_role":{"type":"string"},"facebook":{"type":"string"},"twitter":{"type":"string"},"instagram":{"type":"string"},"linkedin":{"type":"string"},"phone_number":{"type":"string"},"whatsapp_phone":{"type":"string"},"callback_url":{"type":"string"}}}}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"id":{"type":"integer"},"organisation_id":{"type":"integer"},"organisation_name":{"type":"string"},"my_organisation":{"title":"AdminOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"my_monitoring_organisations":{"type":"array","items":{"title":"V2MonitoringOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"users_status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"email_address_verified_at":{"type":"string","format":"date-time"},"role":{"type":"string"},"last_logged_in_at":{"type":"string","format":"date-time"},"job_role":{"type":"string"},"facebook":{"type":"string"},"twitter":{"type":"string"},"instagram":{"type":"string"},"linkedin":{"type":"string"},"avatar":{"type":"string"},"phone_number":{"type":"string"},"whatsapp_phone":{"type":"string"},"has_ppc_projects":{"type":"boolean"},"has_terrafund_projects":{"type":"boolean"}}}}},"operationId":"post-users"}},"\/v2\/projects\/{UUID}\/partners":{"get":{"summary":"Get a project's monitoring partners","tags":["V2 Projects"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"user_type":{"type":"string"},"job_role":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"status":{"type":"string","description":"allowed values Pending|Accepted"}}}}}},"operationId":"get-v2-projects-uuid-partners"}},"\/v2\/my\/projects":{"get":{"summary":"Get the current user's projects","tags":["Users"],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}}}}},"operationId":"get-v2-my-projects"}},"\/v2\/my\/actions":{"get":{"summary":"Get the current user's actions","operationId":"get-v2-my-actions","tags":["Users"],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"ActionRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"type":{"type":"string"},"subtype":{"type":"string"},"title":{"type":"string"},"sub_title":{"type":"string"},"text":{"type":"string"},"key":{"type":"string"},"targetable_type":{"type":"string","description":"one of Project|ProjectReport|Site|SiteReport|Nursery|NurseryReport|UpdateRequest"},"targetable_id":{"type":"integer"},"target":{"type":"object","description":"contains the \u201cLite\u201d objects for the model involved with the Action"},"organisation_id":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}}}}}}},"\/v2\/my\/actions\/{UUID}\/complete":{"put":{"summary":"Complete an action","tags":["Users"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"ActionRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"type":{"type":"string"},"subtype":{"type":"string"},"title":{"type":"string"},"sub_title":{"type":"string"},"text":{"type":"string"},"key":{"type":"string"},"targetable_type":{"type":"string","description":"one of Project|ProjectReport|Site|SiteReport|Nursery|NurseryReport|UpdateRequest"},"targetable_id":{"type":"integer"},"target":{"type":"object","description":"contains the \u201cLite\u201d objects for the model involved with the Action"},"organisation_id":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"operationId":"put-v2-my-action-uuid-complete"}},"\/v2\/{ENTITY}\/{UUID}\/nothing-to-report":{"put":{"summary":"Submit that you have nothing to report for a nursery","operationId":"put-v2-entity-nothing-to-report","tags":["V2 Project Reports","V2 Site Reports","V2 Nursery Reports"],"parameters":[{"type":"string","name":"ENTITY","in":"path","required":true,"description":"allowed values are project-reports, site-reports, nursery-reports"},{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}}}},"\/v2\/{ENTITY}\/{UUID}\/reports":{"get":{"summary":"Get the reports of a specific project\/site\/nursery","operationId":"get-v2-entity-uuid-reports","tags":["V2 Projects","V2 Sites","V2 Nurseries"],"description":"Available Filters : status | Available Searches: name | Available Sort Options: name, status, created_at, updated_at","produces":["application\/json"],"parameters":[{"type":"string","name":"ENTITY","in":"path","required":true,"description":"allowed values are projects, sites, nurserys"},{"type":"string","name":"UUID","in":"path","required":true},{"name":"filter","type":"string","in":"query","description":"multiple filters can be applied. syntax is ?filter[foo]=value1,value2$filter[bar]=value3"},{"name":"sort","type":"string","in":"query","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-name"},{"name":"search","type":"string","in":"query","description":"search term to use on the collection"},{"name":"per_page","type":"integer","in":"query","description":"number of results (per page) to return"},{"name":"page","type":"integer","in":"query","description":"page number you want results from"}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object"}},"links":{"title":"V2PaginationLinks","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"title":"V2PaginationMeta","properties":{"from":{"type":"integer"},"to":{"type":"integer"},"current_page":{"type":"integer"},"last_page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"path":{"type":"string"},"links":{"type":"array","items":{"title":"V2PaginationCurrentLinks","properties":{"url":{"type":"string"},"label":{"type":"string"},"active":{"type":"boolean"}}}}}}}}}}}},"\/v2\/admin\/nursery-reports":{"get":{"summary":"View all nursery reports as an admin","tags":["V2 Nursery Reports"],"parameters":[{"in":"body","name":"body","schema":{"title":"V2SearchFilterSort","type":"object","properties":{"search":{"type":"string","description":"search term to use on the collection"},"filter":{"type":"string","description":"multiple filters can be applied. syntax is ?filter[foo]=value1,value2$filter[bar]=value3"},"sort":{"type":"string","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-name"},"per_page":{"type":"integer","description":"number of results (per page) to return"},"page":{"type":"integer","description":"page number you want results from"}}}}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"NurseryReportLiteRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"integer"},"readable_status":{"type":"string"},"title":{"type":"string"},"due_at":{"type":"string"},"date_submitted":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"project":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"nursery":{"title":"NurseryLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"project":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"}}}}}}},"operationId":"get-v2-admin-nursery-reports"}},"\/v2\/admin\/site-reports":{"get":{"summary":"View all site reports as an admin","tags":["V2 Site Reports"],"parameters":[{"in":"body","name":"body","schema":{"title":"V2SearchFilterSort","type":"object","properties":{"search":{"type":"string","description":"search term to use on the collection"},"filter":{"type":"string","description":"multiple filters can be applied. syntax is ?filter[foo]=value1,value2$filter[bar]=value3"},"sort":{"type":"string","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-name"},"per_page":{"type":"integer","description":"number of results (per page) to return"},"page":{"type":"integer","description":"page number you want results from"}}}}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"SiteReportLiteRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"integer"},"readable_status":{"type":"string"},"title":{"type":"string"},"due_at":{"type":"string"},"date_submitted":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"project":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"site":{"title":"SiteLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"project":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"}}}}}}},"operationId":"get-v2-admin-site-reports"}},"\/v2\/admin\/project-reports":{"get":{"summary":"View all project reports as an admin","tags":["V2 Project Reports"],"parameters":[{"in":"body","name":"body","schema":{"title":"V2SearchFilterSort","type":"object","properties":{"search":{"type":"string","description":"search term to use on the collection"},"filter":{"type":"string","description":"multiple filters can be applied. syntax is ?filter[foo]=value1,value2$filter[bar]=value3"},"sort":{"type":"string","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-name"},"per_page":{"type":"integer","description":"number of results (per page) to return"},"page":{"type":"integer","description":"page number you want results from"}}}}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"ProjectReportLiteRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"integer"},"readable_status":{"type":"string"},"title":{"type":"string"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"}}}}}}},"operationId":"get-v2-admin-project-reports"}},"\/v2\/admin\/tasks":{"get":{"summary":"View all tasks as an admin","tags":["V2 Tasks"],"parameters":[{"in":"body","name":"body","schema":{"title":"V2SearchFilterSort","type":"object","properties":{"search":{"type":"string","description":"search term to use on the collection"},"filter":{"type":"string","description":"multiple filters can be applied. syntax is ?filter[foo]=value1,value2$filter[bar]=value3"},"sort":{"type":"string","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-name"},"per_page":{"type":"integer","description":"number of results (per page) to return"},"page":{"type":"integer","description":"page number you want results from"}}}}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2TaskRead","type":"object","properties":{"uuid":{"type":"string"},"project":{"type":"object"},"period_key":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"}}}}}}},"operationId":"get-v2-admin-tasks"}},"\/v2\/admin\/nurseries":{"get":{"summary":"View all nurseries as an admin","tags":["V2 Nurseries"],"parameters":[{"in":"body","name":"body","schema":{"title":"V2SearchFilterSort","type":"object","properties":{"search":{"type":"string","description":"search term to use on the collection"},"filter":{"type":"string","description":"multiple filters can be applied. syntax is ?filter[foo]=value1,value2$filter[bar]=value3"},"sort":{"type":"string","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-name"},"per_page":{"type":"integer","description":"number of results (per page) to return"},"page":{"type":"integer","description":"page number you want results from"}}}}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"NurseryRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"integer"},"readable_status":{"type":"string"},"type":{"type":"string"},"establishment_date":{"type":"string"},"start_date":{"type":"string"},"seedling_grown":{"type":"integer"},"planting_contribution":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"}}}}}}},"operationId":"get-v2-admin-nurseries"}},"\/v2\/admin\/forms":{"post":{"summary":"Create a form","operationId":"post-v2-admin-forms","responses":{"201":{"description":"Created","schema":{"title":"FormCreate","type":"object","properties":{"type":{"type":"string"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"duration":{"type":"string"},"stage_id":{"type":"integer"},"options_other":{"type":"boolean"},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"form_sections":{"type":"array","items":{"title":"FormSectionCreate","x-stoplight":{"id":"97clxg83l8q3f"},"type":"object","properties":{"order":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"form_questions":{"type":"array","items":{"title":"FormQuestionCreate","type":"object","properties":{"additional_props":{"type":"array","items":{"type":"object"}},"child_form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"linked_field_key":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"label":{"type":"string"},"placeholder":{"type":"string"},"description":{"type":"string"},"validation":{"type":"object"},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options_list":{"type":"string"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}}}}}}}}},"tags":["Forms"]},"get":{"summary":"View all forms as an admin","tags":["Forms"],"parameters":[{"in":"body","name":"body","schema":{"title":"V2SearchFilterSort","type":"object","properties":{"search":{"type":"string","description":"search term to use on the collection"},"filter":{"type":"string","description":"multiple filters can be applied. syntax is ?filter[foo]=value1,value2$filter[bar]=value3"},"sort":{"type":"string","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-name"},"per_page":{"type":"integer","description":"number of results (per page) to return"},"page":{"type":"integer","description":"page number you want results from"}}}}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"}}}}}}},"operationId":"get-v2-admin-forms"}},"\/v2\/admin\/reporting-frameworks":{"get":{"summary":"View all reporting frameworks","operationId":"get-v2-admin-reporting-frameworks","tags":["Funding Programmes"],"responses":{"201":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"ReportingFrameworkRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"},"access_code":{"type":"string"},"project_form_uuid":{"type":"string"},"project_report_form_uuid":{"type":"string"},"site_form_uuid":{"type":"string"},"site_report_form_uuid":{"type":"string"},"nursery_form_uuid":{"type":"string"},"nursery_report_form_uuid":{"type":"string"}}}}}}}}},"post":{"summary":"Create a specific reporting frameworks","operationId":"post-v2-admin-reporting-frameworks","tags":["Funding Programmes"],"parameters":[{"in":"body","name":"body","schema":{"title":"ReportingFrameworkCreate","type":"object","properties":{"name":{"type":"string"},"access_code":{"type":"string"},"project_form_uuid":{"type":"string"},"project_report_form_uuid":{"type":"string"},"site_form_uuid":{"type":"string"},"site_report_form_uuid":{"type":"string"},"nursery_form_uuid":{"type":"string"},"nursery_report_form_uuid":{"type":"string"}}}}],"responses":{"201":{"description":"OK","schema":{"title":"ReportingFrameworkRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"},"access_code":{"type":"string"},"project_form_uuid":{"type":"string"},"project_report_form_uuid":{"type":"string"},"site_form_uuid":{"type":"string"},"site_report_form_uuid":{"type":"string"},"nursery_form_uuid":{"type":"string"},"nursery_report_form_uuid":{"type":"string"}}}}}}},"\/v2\/admin\/reporting-frameworks\/{UUID}":{"put":{"summary":"Update a specific reporting frameworks","operationId":"put-v2-admin-reporting-frameworks-uuid","tags":["Funding Programmes"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"in":"body","name":"body","schema":{"title":"ReportingFrameworkUpdate","type":"object","properties":{"name":{"type":"string"},"access_code":{"type":"string"},"project_form_uuid":{"type":"string"},"project_report_form_uuid":{"type":"string"},"site_form_uuid":{"type":"string"},"site_report_form_uuid":{"type":"string"},"nursery_form_uuid":{"type":"string"},"nursery_report_form_uuid":{"type":"string"}}}}],"responses":{"201":{"description":"OK","schema":{"title":"ReportingFrameworkRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"},"access_code":{"type":"string"},"project_form_uuid":{"type":"string"},"project_report_form_uuid":{"type":"string"},"site_form_uuid":{"type":"string"},"site_report_form_uuid":{"type":"string"},"nursery_form_uuid":{"type":"string"},"nursery_report_form_uuid":{"type":"string"}}}}}},"delete":{"summary":"Delete a specific reporting frameworks","operationId":"delete-v2-admin-reporting-frameworks-uuid","tags":["Funding Programmes"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"201":{"description":"OK","schema":{"title":"ReportingFrameworkRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"},"access_code":{"type":"string"},"project_form_uuid":{"type":"string"},"project_report_form_uuid":{"type":"string"},"site_form_uuid":{"type":"string"},"site_report_form_uuid":{"type":"string"},"nursery_form_uuid":{"type":"string"},"nursery_report_form_uuid":{"type":"string"}}}}}}},"\/v2\/reporting-frameworks\/access-code\/{ACCESS_CODE}":{"get":{"summary":"View a specific reporting framework using an access code","operationId":"get-v2-reporting-frameworks-access-code","tags":["Funding Programmes"],"parameters":[{"type":"string","name":"ACCESS_CODE","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"ReportingFrameworkRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"},"access_code":{"type":"string"},"project_form_uuid":{"type":"string"},"project_report_form_uuid":{"type":"string"},"site_form_uuid":{"type":"string"},"site_report_form_uuid":{"type":"string"},"nursery_form_uuid":{"type":"string"},"nursery_report_form_uuid":{"type":"string"}}}}}}},"\/v2\/reporting-frameworks\/{UUID}":{"get":{"summary":"View a specific reporting framework using an access code","operationId":"get-v2-reporting-frameworks-uuid","tags":["Funding Programmes"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"ReportingFrameworkRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"},"access_code":{"type":"string"},"project_form_uuid":{"type":"string"},"project_report_form_uuid":{"type":"string"},"site_form_uuid":{"type":"string"},"site_report_form_uuid":{"type":"string"},"nursery_form_uuid":{"type":"string"},"nursery_report_form_uuid":{"type":"string"}}}}}}},"\/v2\/forms\/{ENTITY}\/{UUID}":{"get":{"operationId":"get-v2-forms-entity-form-uuid","summary":"View a specific entity as answers with form schema","tags":["V2 Projects","V2 Sites","V2 Nurseries","V2 Project Reports","V2 Site Reports","V2 Nursery Reports","Forms"],"parameters":[{"type":"string","name":"ENTITY","in":"path","required":true,"description":"allowed values projects\/sites\/nurseries\/project-reports\/site-reports\/nursery-reports"},{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"EntityFormRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"form":{"type":"object"},"answers":{"type":"object"},"form_title":{"type":"string"},"feedback":{"type":"string"},"feedback_fields":{"type":"array","items":{"type":"string"}},"update_request":{"title":"UpdateRequestRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"content":{"type":"string"},"feedback":{"type":"string"},"feedback_fields":{"type":"array","items":{"type":"string"}},"project":{"type":"object"},"organisation":{"type":"object"},"created_by":{"type":"object"}}}}}}}},"put":{"operationId":"put-v2-forms-entity-form-uuid","summary":"Update a specific entity using a form schema","description":"there is no need to provide which schema as it will use the current published one for this entity and framework","tags":["V2 Projects","V2 Sites","V2 Nurseries","V2 Project Reports","V2 Site Reports","V2 Nursery Reports","Forms"],"parameters":[{"type":"string","name":"ENTITY","in":"path","required":true,"description":"allowed values projects\/sites\/nurseries\/project-reports\/site-reports\/nursery-reports"},{"type":"string","name":"UUID","in":"path","required":true},{"in":"body","name":"body","schema":{"title":"EntityFormCreate","type":"object","properties":{"name":{"type":"string"},"status":{"type":"string"},"answers":{"type":"object"}}}}],"responses":{"200":{"description":"OK","schema":{"title":"EntityFormRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"form":{"type":"object"},"answers":{"type":"object"},"form_title":{"type":"string"},"feedback":{"type":"string"},"feedback_fields":{"type":"array","items":{"type":"string"}},"update_request":{"title":"UpdateRequestRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"content":{"type":"string"},"feedback":{"type":"string"},"feedback_fields":{"type":"array","items":{"type":"string"}},"project":{"type":"object"},"organisation":{"type":"object"},"created_by":{"type":"object"}}}}}}}}},"\/v2\/forms\/{ENTITY}\/{UUID}\/submit":{"put":{"operationId":"put-v2-forms-entity-form-uuid-submit","summary":"Submit a specific entity using a form schema","tags":["V2 Projects","V2 Sites","V2 Nurseries","V2 Project Reports","V2 Site Reports","V2 Nursery Reports","Forms"],"parameters":[{"type":"string","name":"ENTITY","in":"path","required":true,"description":"allowed values projects\/sites\/nurseries\/project-reports\/site-reports\/nursery-reports"},{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"EntityFormRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"form":{"type":"object"},"answers":{"type":"object"},"form_title":{"type":"string"},"feedback":{"type":"string"},"feedback_fields":{"type":"array","items":{"type":"string"}},"update_request":{"title":"UpdateRequestRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"content":{"type":"string"},"feedback":{"type":"string"},"feedback_fields":{"type":"array","items":{"type":"string"}},"project":{"type":"object"},"organisation":{"type":"object"},"created_by":{"type":"object"}}}}}}}}},"\/v2\/forms\/{ENTITY}":{"post":{"summary":"Create an entity with a custom form","operationId":"post-v2-forms-entity-form-uuid","tags":["V2 Projects","V2 Sites","V2 Nurseries","V2 Project Reports","V2 Site Reports","V2 Nursery Reports","Forms"],"parameters":[{"type":"string","name":"ENTITY","in":"path","required":true,"description":"allowed values projects\/sites\/nurseries"},{"type":"string","name":"UUID","in":"path","required":true,"description":"this is the uuid of the form"},{"in":"body","name":"body","schema":{"title":"EntityFormCreate","type":"object","properties":{"parent_entity":{"type":"string","description":"allowed values projects\/sites\/nurseries\/project-reports\/site-reports\/nursery-reports"},"parent_uuid":{"type":"string"},"form_uuid":{"type":"string"}}}}],"responses":{"200":{"description":"OK","schema":{"title":"EntityFormRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"form":{"type":"object"},"answers":{"type":"object"},"form_title":{"type":"string"},"feedback":{"type":"string"},"feedback_fields":{"type":"array","items":{"type":"string"}},"update_request":{"title":"UpdateRequestRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"content":{"type":"string"},"feedback":{"type":"string"},"feedback_fields":{"type":"array","items":{"type":"string"}},"project":{"type":"object"},"organisation":{"type":"object"},"created_by":{"type":"object"}}}}}}}}},"\/v2\/forms\/projects\/{UUID}":{"post":{"summary":"Create a project with a custom form","operationId":"post-v2-forms-projects-form-uuid","tags":["V2 Projects","Forms"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true,"description":"this is the uuid of the form"},{"in":"body","name":"body","schema":{"title":"EntityFormCreate","type":"object","properties":{"parent_entity":{"type":"string","description":"allowed values projects\/sites\/nurseries\/project-reports\/site-reports\/nursery-reports"},"parent_uuid":{"type":"string"},"form_uuid":{"type":"string"}}}}],"responses":{"200":{"description":"OK","schema":{"title":"EntityFormRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"form":{"type":"object"},"answers":{"type":"object"},"form_title":{"type":"string"},"feedback":{"type":"string"},"feedback_fields":{"type":"array","items":{"type":"string"}},"update_request":{"title":"UpdateRequestRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"content":{"type":"string"},"feedback":{"type":"string"},"feedback_fields":{"type":"array","items":{"type":"string"}},"project":{"type":"object"},"organisation":{"type":"object"},"created_by":{"type":"object"}}}}}}}}},"\/v2\/projects\/{UUID}\/site-polygons":{"get":{"summary":"Get the polygons (geojson) from all sites belonging to a specific project","operationId":"get-v2-projects-uuid-site-polygons","tags":["V2 Projects","V2 Sites"],"produces":["application\/json"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"name":"sort","type":"string","in":"query","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-name"},{"name":"per_page","type":"integer","in":"query","description":"number of results (per page) to return"},{"name":"page","type":"integer","in":"query","description":"page number you want results from"}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2TaskRead","type":"object","properties":{"uuid":{"type":"string"},"project":{"type":"object"},"period_key":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}}},"links":{"title":"V2PaginationLinks","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"title":"V2PaginationMeta","properties":{"from":{"type":"integer"},"to":{"type":"integer"},"current_page":{"type":"integer"},"last_page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"path":{"type":"string"},"links":{"type":"array","items":{"title":"V2PaginationCurrentLinks","properties":{"url":{"type":"string"},"label":{"type":"string"},"active":{"type":"boolean"}}}}}}}}}}}},"\/v2\/admin\/update-requests\/":{"get":{"summary":"View a list of UpdateRequests","operationId":"get-v2-admin-update-requests","tags":["V2 Update requests"],"parameters":[{"in":"body","name":"body","schema":{"title":"V2SearchFilterSort","type":"object","properties":{"search":{"type":"string","description":"search term to use on the collection"},"filter":{"type":"string","description":"multiple filters can be applied. syntax is ?filter[foo]=value1,value2$filter[bar]=value3"},"sort":{"type":"string","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-name"},"per_page":{"type":"integer","description":"number of results (per page) to return"},"page":{"type":"integer","description":"page number you want results from"}}}}],"responses":{"200":{"description":"OK","schema":{"title":"UpdateRequestsPaginated","type":"object","properties":{"data":{"type":"array","items":{"title":"UpdateRequestLiteRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"}}}}}}}}},"\/v2\/admin\/update-requests\/{UUID}":{"delete":{"summary":"Soft delete an Update Request","operationId":"delete-v2-admin-update-requests-uuid","tags":["V2 Update Requests"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}}}},"\/v2\/admin\/update-requests\/{UUID}\/{STATUS}":{"put":{"summary":"Update status of a UpdateRequests","operationId":"put-v2-admin-update-requests-uuid-status","tags":["V2 Update requests"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"type":"string","name":"STATUS","in":"path","required":true,"description":"allowed values are approve, moreinfo"},{"in":"body","name":"body","schema":{"title":"StatusUpdate","type":"object","properties":{"feedback":{"type":"string"},"feedback_fields":{"type":"array","items":{"type":"string"}}}}}],"responses":{"200":{"description":"OK","schema":{"title":"UpdateRequestRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"content":{"type":"string"},"feedback":{"type":"string"},"feedback_fields":{"type":"array","items":{"type":"string"}},"project":{"type":"object"},"organisation":{"type":"object"},"created_by":{"type":"object"}}}}}}},"\/v2\/admin\/{ENTITY}\/{UUID}\/{STATUS}":{"put":{"summary":"Update status of an project\/site\/nurser or their reports","operationId":"put-v2-admin-entity-uuid-status","tags":["V2 Projects","V2 Sites","V2 Nurseries","V2 Project Reports","V2 Site Reports","V2 Nursery Reports","V2 Update requests"],"parameters":[{"type":"string","name":"ENTITY","in":"path","required":true,"description":"allowed values are projects, project-reports, site, site-reports, nurseries, nursery-reports"},{"type":"string","name":"UUID","in":"path","required":true},{"type":"string","name":"STATUS","in":"path","required":true,"description":"allowed values are approve, moreinfo"},{"in":"body","name":"body","schema":{"title":"StatusUpdate","type":"object","properties":{"feedback":{"type":"string"},"feedback_fields":{"type":"array","items":{"type":"string"}}}}}],"responses":{"200":{"description":"OK"}}}},"\/v2\/update-requests\/{UUID}":{"get":{"summary":"View a specific Update Request","operationId":"get-v2-update-requests-uuid","tags":["V2 Update Request"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"UpdateRequestRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"content":{"type":"string"},"feedback":{"type":"string"},"feedback_fields":{"type":"array","items":{"type":"string"}},"project":{"type":"object"},"organisation":{"type":"object"},"created_by":{"type":"object"}}}}}},"delete":{"summary":"Soft delete an Update Request","operationId":"delete-v2-update-requests-uuid","tags":["V2 Update Requests"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}}}},"\/v2\/update-requests\/{ENTITY}\/{UUID}":{"get":{"summary":"View a specific Update Request","operationId":"get-v2-update-requests-entity-uuid","tags":["V2 Update Request"],"parameters":[{"type":"string","name":"ENTITY","in":"path","required":true,"description":"available options are project, site, nursery, project-report, site-report, nursery-report"},{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"UpdateRequestRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"content":{"type":"string"},"feedback":{"type":"string"},"feedback_fields":{"type":"array","items":{"type":"string"}},"project":{"type":"object"},"organisation":{"type":"object"},"created_by":{"type":"object"}}}}}}},"\/v2\/workdays\/{ENTITY}\/{UUID}":{"get":{"operationId":"get-v2-workdays-entity-uuid","summary":"View all workdays for a given entity","tags":["V2 Workdays"],"parameters":[{"type":"string","name":"ENTITY","in":"path","required":true,"description":"allowed values project-report\/site-report"},{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2WorkdayRead","type":"object","properties":{"uuid":{"type":"string"},"collection":{"type":"string"},"readable_collection":{"type":"string"},"demographics":{"type":"array","items":{"title":"WorkdayDemographic","type":"object","properties":{"type":{"type":"string","enum":["gender","age","ethnicity"]},"subtype":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"}}}}}}}}}}}}},"\/v2\/stratas":{"post":{"operationId":"post-v2-stratas","summary":"Crates a strata","tags":["V2 Strata"],"responses":{"201":{"description":"Created","schema":{"title":"V2StrataRead","type":"object","properties":{"uuid":{"type":"string"},"description":{"type":"string"},"extent":{"type":"integer"}}}}},"parameters":[{"in":"body","name":"body","schema":{"title":"V2StrataCreate","type":"object","properties":{"model_type":{"type":"string"},"model_uuid":{"type":"string"},"description":{"type":"string"},"extent":{"type":"integer"}}}}]}},"\/v2\/stratas\/{UUID}":{"patch":{"operationId":"patch-v2-stratas-uuid","summary":"Updata a strata","tags":["V2 Strata"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2StrataRead","type":"object","properties":{"uuid":{"type":"string"},"description":{"type":"string"},"extent":{"type":"integer"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"},"unfiltered_total":{"type":"integer"}}}}}}}},"delete":{"operationId":"delete-v2-stratas-uuid","summary":"Delete a strata","tags":["V2 Strata"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}}}},"\/v2\/stratas\/{ENTITY}\/{UUID}":{"get":{"operationId":"get-v2-stratas-entity-uuid","summary":"View all stratas for a given entity","tags":["V2 Strata"],"parameters":[{"type":"string","name":"ENTITY","in":"path","required":true,"description":"allowed values project\/site\/nursery\/project-reports\/site-reports\/nursery-reports"},{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2StrataRead","type":"object","properties":{"uuid":{"type":"string"},"description":{"type":"string"},"extent":{"type":"integer"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"},"unfiltered_total":{"type":"integer"}}}}}}}}},"\/v2\/seedings":{"post":{"operationId":"post-v2-seedings","summary":"Crates a seeding","tags":["V2 Seedings"],"responses":{"201":{"description":"Created","schema":{"title":"V2SeedingRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"weight_of_sample":{"type":"integer"},"seeds_in_sample":{"type":"integer"},"amount":{"type":"integer"}}}}},"parameters":[{"in":"body","name":"body","schema":{"title":"V2SeedingCreate","type":"object","properties":{"model_type":{"type":"string"},"model_uuid":{"type":"string"},"name":{"type":"string"},"weight_of_sample":{"type":"integer"},"seeds_in_sample":{"type":"integer"},"amount":{"type":"integer"}}}}]}},"\/v2\/seedings\/{UUID}":{"patch":{"operationId":"patch-v2-seedings-uuid","summary":"Update a seeding","tags":["V2 Seedings"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"V2SeedingPaginated","type":"object","properties":{"data":{"type":"array","items":{"title":"V2SeedingRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"weight_of_sample":{"type":"integer"},"seeds_in_sample":{"type":"integer"},"amount":{"type":"integer"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"},"unfiltered_total":{"type":"integer"}}}}}}}},"delete":{"operationId":"delete-v2-seedings-uuid","summary":"Delete a seeding","tags":["V2 Seedings"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}}}},"\/v2\/seedings\/{ENTITY}\/{UUID}":{"get":{"operationId":"get-v2-seedings-entity-uuid","summary":"View all seedings for a given entity","tags":["V2 Seedings"],"parameters":[{"type":"string","name":"ENTITY","in":"path","required":true,"description":"allowed values site\/site-reports"},{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"V2SeedingPaginated","type":"object","properties":{"data":{"type":"array","items":{"title":"V2SeedingRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"weight_of_sample":{"type":"integer"},"seeds_in_sample":{"type":"integer"},"amount":{"type":"integer"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"},"unfiltered_total":{"type":"integer"}}}}}}}}},"\/v2\/disturbances":{"post":{"operationId":"post-v2-disturbances","summary":"Crates a disturbance","tags":["V2 Disturbance"],"responses":{"201":{"description":"Created","schema":{"title":"V2DisturbanceRead","type":"object","properties":{"uuid":{"type":"string"},"description":{"type":"string"},"intensity":{"type":"string"},"extent":{"type":"string"}}}}},"parameters":[{"in":"body","name":"body","schema":{"title":"V2DisturbanceCreate","type":"object","properties":{"model_type":{"type":"string"},"model_uuid":{"type":"integer"},"description":{"type":"string"},"intensity":{"type":"string"},"extent":{"type":"string"},"collection":{"type":"string"}}}}]}},"\/v2\/disturbances\/{UUID}":{"patch":{"operationId":"patch-v2-disturbances-uuid","summary":"Update a disturbance","tags":["V2 Disturbance"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2DisturbanceRead","type":"object","properties":{"uuid":{"type":"string"},"description":{"type":"string"},"intensity":{"type":"string"},"extent":{"type":"string"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"},"unfiltered_total":{"type":"integer"}}}}}}}},"delete":{"operationId":"delete-v2-disturbances-uuid","summary":"Delete a Disturbance","tags":["V2 Disturbance"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}}}},"\/v2\/disturbances\/{ENTITY}\/{UUID}":{"get":{"operationId":"get-v2-disturbances-entity-uuid","summary":"View all disturbances for a given entity","tags":["V2 Disturbance"],"parameters":[{"type":"string","name":"ENTITY","in":"path","required":true,"description":"allowed values project\/site\/nursery\/project-reports\/site-reports\/nursery-reports"},{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2DisturbanceRead","type":"object","properties":{"uuid":{"type":"string"},"description":{"type":"string"},"intensity":{"type":"string"},"extent":{"type":"string"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"},"unfiltered_total":{"type":"integer"}}}}}}}}},"\/v2\/invasives":{"post":{"operationId":"post-v2-invasives","summary":"Crates a Invasive","tags":["V2 Invasive"],"responses":{"201":{"description":"Created","schema":{"title":"V2InvasiveRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"type":{"type":"integer"}}}}},"parameters":[{"in":"body","name":"body","schema":{"title":"V2InvasiveCreate","type":"object","properties":{"model_type":{"type":"string"},"model_uuid":{"type":"integer"},"name":{"type":"string"},"type":{"type":"string"},"collection":{"type":"string"}}}}]}},"\/v2\/invasives\/{UUID}":{"patch":{"operationId":"patch-v2-invasives-uuid","summary":"Update a Invasive","tags":["V2 Invasive"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2InvasiveRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"type":{"type":"integer"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"},"unfiltered_total":{"type":"integer"}}}}}}}},"delete":{"operationId":"delete-v2-invasives-uuid","summary":"Delete a Invasive","tags":["V2 Invasive"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}}}},"\/v2\/invasives\/{ENTITY}\/{UUID}":{"get":{"operationId":"get-v2-invasives-entity-uuid","summary":"View all invasives for a given entity","tags":["V2 Invasive"],"parameters":[{"type":"string","name":"ENTITY","in":"path","required":true,"description":"allowed values project\/site\/nursery\/project-reports\/site-reports\/nursery-reports"},{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2InvasiveRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"type":{"type":"integer"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"},"unfiltered_total":{"type":"integer"}}}}}}}}},"\/v2\/forms":{"get":{"summary":"View all forms as a user","tags":["Forms"],"parameters":[{"in":"body","name":"body","schema":{"title":"V2SearchFilterSort","type":"object","properties":{"search":{"type":"string","description":"search term to use on the collection"},"filter":{"type":"string","description":"multiple filters can be applied. syntax is ?filter[foo]=value1,value2$filter[bar]=value3"},"sort":{"type":"string","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-name"},"per_page":{"type":"integer","description":"number of results (per page) to return"},"page":{"type":"integer","description":"page number you want results from"}}}}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"}}}}}}},"operationId":"get-v2-user-forms"}},"\/v2\/admin\/forms\/{UUID}\/publish":{"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"patch":{"summary":"Publish a form","operationId":"patch-v2-admin-forms-UUID-publish","responses":{"200":{"description":"OK","schema":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"tags":["Forms"]}},"\/v2\/admin\/forms\/section":{"parameters":[],"post":{"summary":"Create a form section","operationId":"post-v2-admin-forms-section","responses":{"201":{"description":"Created","schema":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}}},"parameters":[{"in":"body","name":"body","schema":{"title":"FormSectionCreate","x-stoplight":{"id":"97clxg83l8q3f"},"type":"object","properties":{"order":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"form_questions":{"type":"array","items":{"title":"FormQuestionCreate","type":"object","properties":{"additional_props":{"type":"array","items":{"type":"object"}},"child_form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"linked_field_key":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"label":{"type":"string"},"placeholder":{"type":"string"},"description":{"type":"string"},"validation":{"type":"object"},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options_list":{"type":"string"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}}}}}],"tags":["Forms"]}},"\/v2\/admin\/forms\/question\/{UUID}":{"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"delete":{"summary":"Delete a form question","operationId":"delete-v2-admin-form-question-UUID","responses":{"200":{"description":"OK","schema":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}}},"tags":["Forms"]}},"\/v2\/admin\/forms\/section\/{UUID}":{"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"delete":{"summary":"Delete a form section","operationId":"delete-v2-admin-form-section-UUID","responses":{"200":{"description":"OK","schema":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}}},"tags":["Forms"]},"patch":{"summary":"Update a form section","operationId":"patch-v2-admin-form-section-UUID","responses":{"200":{"description":"OK","schema":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}}},"parameters":[{"in":"body","name":"body","schema":{"title":"FormSectionUpdate","x-stoplight":{"id":"tlqkri2rdwi5w"},"type":"object","properties":{"order":{"type":"integer"}}}}],"tags":["Forms"]}},"\/v2\/admin\/forms\/{UUID}":{"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"delete":{"summary":"Delete an unpublished form","operationId":"v2-admin-delete-form-by-uuid","tags":["Forms"],"responses":{"200":{"description":"Accepted"}}},"patch":{"summary":"Update a form","operationId":"patch-v2-admin-form-UUID","responses":{"200":{"description":"OK","schema":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"tags":["Forms"],"parameters":[{"in":"body","name":"body","schema":{"title":"FormUpdate","x-stoplight":{"id":"m4lcpf2li93rf"},"type":"object","properties":{"type":{"type":"string"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"duration":{"type":"string"},"options_other":{"type":"boolean"}}}}]}},"\/v2\/forms\/linked-field-listing":{"get":{"summary":"Get a list of available linked fields","operationId":"get-v2-form-linked-field-listing","parameters":[{"name":"form_types","type":"array","items":{"type":"string"},"in":"query","description":"array of form types"}],"responses":{"200":{"description":"OK","schema":{"title":"V2GenericList","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"input_type":{"type":"string"},"model_key":{"type":"string"},"option_list_key":{"type":"string"},"options":{"type":"array","items":{"type":"string"}}}}}},"tags":["Forms"]}},"\/v2\/admin\/forms\/common-options\/{BUCKET}":{"get":{"summary":"Search for common options on a bucket","operationId":"get-v2-admin-form-common-options-bucket","parameters":[{"type":"string","name":"BUCKET","in":"path","required":true,"description":"name of the bucket\/collection of common options"},{"name":"search","type":"string","in":"query","description":"search term to use on the collection"}],"responses":{"200":{"description":"OK","schema":{"title":"V2CommonOptions","type":"object","properties":{"uuid":{"type":"string"},"slug":{"type":"string"},"alt_value":{"type":"string"},"label":{"type":"string"}}}}},"tags":["Forms"]}},"\/v2\/admin\/organisations":{"get":{"summary":"Get a collection of organisations","operationId":"v2-admin-get-organisations","description":"Currently available sort is status, type, trees_grown_total, name, fin_budget_1year, created_at","parameters":[{"name":"search","type":"string","in":"query","description":"search term to use on the collection"},{"name":"filter","type":"string","in":"query","description":"multiple filters can be applied. syntax is ?filter[foo]=value1,value2$filter[bar]=value3"},{"name":"sort","type":"string","in":"query","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-last_name"},{"name":"per_page","type":"integer","in":"query","description":"number of results (per page) to return"},{"name":"page","type":"integer","in":"query","description":"page number you want results from"}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"AdminOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"links":{"type":"object","title":"V2PaginationLinks","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","title":"V2PaginationMeta","properties":{"from":{"type":"integer"},"to":{"type":"integer"},"current_page":{"type":"integer"},"last_page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"path":{"type":"string"},"links":{"type":"array","items":{"title":"V2PaginationCurrentLinks","properties":{"url":{"type":"string"},"label":{"type":"string"},"active":{"type":"boolean"}}}}}}}}}},"tags":["V2 Admin","V2 Organisations"]}},"\/v2\/admin\/organisations\/multi":{"get":{"summary":"Get a collection of organisation by uuids","operationId":"v2-admin-get-organisation-multi-by-uuid","tags":["V2 Admin","V2 Organisations"],"parameters":[{"type":"string","in":"query","name":"ids","description":"comma separated list of values. eg ?ids=uuid1,uuid2","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"AdminOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}}}},"\/v2\/admin\/organisations\/{UUID}":{"get":{"summary":"Get a organisation by uuid","operationId":"v2-admin-get-organisation-by-uuid","tags":["V2 Admin","V2 Organisations"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"AdminOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}}},"put":{"summary":"Updates a specific organisation","operationId":"v2-admin-put-organisation-by-uuid","tags":["V2 Admin","V2 Organisations"],"parameters":[{"in":"body","name":"body","schema":{"title":"AdminOrganisationUpdate","type":"object","properties":{"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","items":{"type":"string"}}}}},{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"AdminOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}}},"delete":{"summary":"Delete a specific organisation","operationId":"v2-admin-delete-organisation-by-uuid","tags":["V2 Admin","V2 Organisations"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"202":{"description":"Accepted"}}}},"\/v2\/admin\/organisations\/approve":{"put":{"summary":"Approve a specific organisation","operationId":"v2-admin-organisation-approve","tags":["V2 Admin","V2 Organisations"],"parameters":[{"in":"body","name":"body","schema":{"type":"object","properties":{"uuid":{"type":"string"}},"required":["uuid"]}}],"responses":{"200":{"description":"OK","schema":{"title":"AdminOrganisationUpdate","type":"object","properties":{"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","items":{"type":"string"}}}}}}}},"\/v2\/admin\/organisations\/reject":{"put":{"summary":"Reject a specific organisation","operationId":"v2-admin-organisation-reject","tags":["V2 Admin","V2 Organisations"],"parameters":[{"in":"body","name":"body","schema":{"type":"object","properties":{"uuid":{"type":"string"}},"required":["uuid"]}}],"responses":{"200":{"description":"OK","schema":{"title":"AdminOrganisationUpdate","type":"object","properties":{"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","items":{"type":"string"}}}}}}}},"\/v2\/admin\/organisations\/export":{"get":{"summary":"Export CSV document of all time organaisations","tags":["V2 Admin","Export"],"produces":["text\/plain"],"responses":{"200":{"description":"OK","schema":{"type":"file"}}}}},"\/v2\/organisations":{"post":{"summary":"Create an organisation","operationId":"v2-post-organisations","tags":["V2 Project Developer","V2 Organisations"],"parameters":[{"in":"body","name":"body","schema":{"title":"OrganisationUpdate","type":"object","properties":{"type":{"type":"string","description":"Available type are for-profit-organization, non-profit-organization, government-agency"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"community_members_engaged_3yr":{"type":"number"},"community_members_engaged_3yr_women":{"type":"number"},"community_members_engaged_3yr_men":{"type":"number"},"community_members_engaged_3yr_youth":{"type":"number"},"community_members_engaged_3yr_non_youth":{"type":"number"},"community_members_engaged_3yr_smallholder":{"type":"number"},"community_members_engaged_3yr_backward_class":{"type":"number"},"total_board_members":{"type":"number"},"pct_board_women":{"type":"number"},"pct_board_men":{"type":"number"},"pct_board_youth":{"type":"number"},"pct_board_non_youth":{"type":"number"},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"languages":{"type":"array","items":{"type":"string"}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","items":{"type":"string"}}}}}],"responses":{"200":{"description":"OK"}}}},"\/v2\/organisations\/{UUID}":{"get":{"summary":"Get a specific organisation","operationId":"v2-get-organisations-uuid","tags":["V2 Project Developer","V2 Organisations"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}}}}},"put":{"summary":"Update an organisation","operationId":"v2-put-organisations-uuid","tags":["V2 Project Developer","V2 Organisations"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"in":"body","name":"body","schema":{"title":"OrganisationUpdate","type":"object","properties":{"type":{"type":"string","description":"Available type are for-profit-organization, non-profit-organization, government-agency"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"community_members_engaged_3yr":{"type":"number"},"community_members_engaged_3yr_women":{"type":"number"},"community_members_engaged_3yr_men":{"type":"number"},"community_members_engaged_3yr_youth":{"type":"number"},"community_members_engaged_3yr_non_youth":{"type":"number"},"community_members_engaged_3yr_smallholder":{"type":"number"},"community_members_engaged_3yr_backward_class":{"type":"number"},"total_board_members":{"type":"number"},"pct_board_women":{"type":"number"},"pct_board_men":{"type":"number"},"pct_board_youth":{"type":"number"},"pct_board_non_youth":{"type":"number"},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"languages":{"type":"array","items":{"type":"string"}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","items":{"type":"string"}}}}}],"responses":{"200":{"description":"OK"}}}},"\/v2\/organisations\/listing":{"get":{"summary":"Get a list of organisations names and uuid","operationId":"v2-get-organisations-listing","tags":["V2 Project Developer","V2 Organisations"],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2GenericList","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"input_type":{"type":"string"},"model_key":{"type":"string"},"option_list_key":{"type":"string"},"options":{"type":"array","items":{"type":"string"}}}}}}}}},"parameters":[{"type":"string","in":"query","name":"search","description":"search term to use on the collection"}]}},"\/v2\/organisations\/join-existing":{"post":{"summary":"Post a request to join an existing organisation","operationId":"v2-post-organisations-join-existing","tags":["V2 Project Developer","V2 Organisations"],"parameters":[{"in":"body","name":"body","schema":{"type":"object","properties":{"organisation_uuid":{"type":"string"}},"required":["organisation_uuid"]}}],"responses":{"200":{"description":"OK","schema":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}}}}}},"\/v2\/organisations\/user-requests\/{UUID}":{"get":{"summary":"Get a collection of users that have requested to join a specific organisation","operationId":"v2-get-organisations-user-requests-uuid","tags":["V2 Project Developer","V2 Organisations"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"organisation_id":{"type":"integer"},"organisation_name":{"type":"string"},"my_organisation":{"title":"AdminOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"my_monitoring_organisations":{"type":"array","items":{"title":"V2MonitoringOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"users_status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"email_address_verified_at":{"type":"string","format":"date-time"},"role":{"type":"string"},"last_logged_in_at":{"type":"string","format":"date-time"},"job_role":{"type":"string"},"facebook":{"type":"string"},"twitter":{"type":"string"},"instagram":{"type":"string"},"linkedin":{"type":"string"},"avatar":{"type":"string"},"phone_number":{"type":"string"},"whatsapp_phone":{"type":"string"},"has_ppc_projects":{"type":"boolean"},"has_terrafund_projects":{"type":"boolean"}}}}}}}},"\/v2\/organisations\/approved-users\/{UUID}":{"get":{"summary":"Get a collection of users that have been approved for a specific organisation","operationId":"v2-get-organisations-approved-users-uuid","tags":["V2 Project Developer","V2 Organisations"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"organisation_id":{"type":"integer"},"organisation_name":{"type":"string"},"my_organisation":{"title":"AdminOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"my_monitoring_organisations":{"type":"array","items":{"title":"V2MonitoringOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"users_status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"email_address_verified_at":{"type":"string","format":"date-time"},"role":{"type":"string"},"last_logged_in_at":{"type":"string","format":"date-time"},"job_role":{"type":"string"},"facebook":{"type":"string"},"twitter":{"type":"string"},"instagram":{"type":"string"},"linkedin":{"type":"string"},"avatar":{"type":"string"},"phone_number":{"type":"string"},"whatsapp_phone":{"type":"string"},"has_ppc_projects":{"type":"boolean"},"has_terrafund_projects":{"type":"boolean"}}}}}}}},"\/v2\/organisations\/approve-user":{"put":{"summary":"Approve a users request to join an existing organisation","operationId":"v2-post-organisations-approve-user","tags":["V2 Project Developer","V2 Organisations"],"parameters":[{"in":"body","name":"body","schema":{"title":"OrganisationApproveRejectUser","type":"object","properties":{"organisation_uuid":{"type":"string"},"user_uuid":{"type":"string"}},"required":["organisation_uuid","user_uuid"]}}],"responses":{"200":{"description":"OK"}}}},"\/v2\/organisations\/reject-user":{"put":{"summary":"Reject a users request to join an existing organisation","operationId":"v2-post-organisations-reject-user","tags":["V2 Project Developer","V2 Organisations"],"parameters":[{"in":"body","name":"body","schema":{"title":"OrganisationApproveRejectUser","type":"object","properties":{"organisation_uuid":{"type":"string"},"user_uuid":{"type":"string"}},"required":["organisation_uuid","user_uuid"]}}],"responses":{"200":{"description":"OK"}}}},"\/v2\/organisations\/submit\/{UUID}":{"put":{"summary":"Submit an organisation for approval","operationId":"v2-put-organisations-submit","tags":["V2 Project Developer","V2 Organisations"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}}}},"\/v2\/organisations\/retract-my-draft":{"delete":{"summary":"Retracts (delets) a users draft organisation","operationId":"v2-delete-organisations-retract-my-draft","tags":["V2 Project Developer","V2 Organisations"],"responses":{"200":{"description":"OK"}}}},"\/v2\/admin\/users":{"get":{"summary":"Get a collection of users","operationId":"v2-admin-get-users","description":"Currently available sort is last_logged_in_at, created_at, first_name, last_name, email_address, organisation_name","tags":["V2 Admin","V2 Users"],"parameters":[{"name":"search","type":"string","in":"query","description":"search term to use on the collection"},{"name":"filter","type":"string","in":"query","description":"multiple filters can be applied. syntax is ?filter[verified]=true"},{"name":"sort","type":"string","in":"query","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-last_name"},{"name":"per_page","type":"integer","in":"query","description":"number of results (per page) to return"},{"name":"page","type":"integer","in":"query","description":"page number you want results from"}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"AdminUserRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"job_role":{"type":"string"},"facebook":{"type":"string"},"instagram":{"type":"string"},"linkedin":{"type":"string"},"twitter":{"type":"string"},"whatsapp_phone":{"type":"string"},"date_added":{"type":"string"}}}},"links":{"type":"object","title":"V2PaginationLinks","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","title":"V2PaginationMeta","properties":{"from":{"type":"integer"},"to":{"type":"integer"},"current_page":{"type":"integer"},"last_page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"path":{"type":"string"},"links":{"type":"array","items":{"title":"V2PaginationCurrentLinks","properties":{"url":{"type":"string"},"label":{"type":"string"},"active":{"type":"boolean"}}}}}}}}}}}},"\/v2\/admin\/users\/{UUID}":{"get":{"summary":"Get a user by uuid","operationId":"v2-admin-get-user-by-uuid","tags":["V2 Admin","V2 Users"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"AdminUserRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"job_role":{"type":"string"},"facebook":{"type":"string"},"instagram":{"type":"string"},"linkedin":{"type":"string"},"twitter":{"type":"string"},"whatsapp_phone":{"type":"string"},"date_added":{"type":"string"}}}}}},"put":{"summary":"Updates a specific user","operationId":"v2-admin-put-user-by-uuid","tags":["V2 Admin","V2 Users"],"parameters":[{"in":"body","name":"body","schema":{"title":"AdminUserUpdate","type":"object","properties":{"type":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"password":{"type":"string"},"job_role":{"type":"string"},"facebook":{"type":"string"},"instagram":{"type":"string"},"linkedin":{"type":"string"},"twitter":{"type":"string"},"whatsapp_phone":{"type":"string"},"organisation":{"type":"string"},"monitoring_organisations":{"type":"array","items":{"title":"V2MonitoringOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"users_status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}}}},{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"AdminUserRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"job_role":{"type":"string"},"facebook":{"type":"string"},"instagram":{"type":"string"},"linkedin":{"type":"string"},"twitter":{"type":"string"},"whatsapp_phone":{"type":"string"},"date_added":{"type":"string"}}}}}},"delete":{"summary":"Delete a specific user","operationId":"v2-admin-delete-user-by-uuid","tags":["V2 Admin","V2 Users"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"202":{"description":"Accepted"}}}},"\/v2\/admin\/users\/multi":{"get":{"summary":"Get a a collection of users by uuid","operationId":"v2-admin-get-multi-user-by-uuid","tags":["V2 Admin","V2 Users"],"parameters":[{"name":"ids","in":"query","required":false,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"title":"AdminUserRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"job_role":{"type":"string"},"facebook":{"type":"string"},"instagram":{"type":"string"},"linkedin":{"type":"string"},"twitter":{"type":"string"},"whatsapp_phone":{"type":"string"},"date_added":{"type":"string"}}}}}}},"\/v2\/admin\/users\/export":{"get":{"summary":"Export CSV document of all users","operationId":"v2-admin-users-export","tags":["V2 Admin","V2 Users","Export"],"produces":["text\/plain"],"responses":{"200":{"description":"OK","schema":{"type":"file"}}}}},"\/v2\/admin\/users\/reset-password\/{UUID}":{"put":{"summary":"Update a specific users password","operationId":"v2-admin-users-reset-password-uuid","tags":["V2 Admin","V2 Users"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"type":"string","name":"password","in":"formData","required":true},{"type":"string","name":"password_confirmation","in":"formData","required":true}],"responses":{"200":{"description":"OK"}}}},"\/v2\/admin\/users\/verify\/{UUID}":{"patch":{"summary":"Force verify a user","operationId":"v2-admin-users-verify-uuid","tags":["V2 Admin","V2 Users"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}}}},"\/v2\/{MODEL}\/{UUID}\/files":{"get":{"summary":"Retrieve files for a specific entity","operationId":"get-v2-model-uuid-files","description":"Available Filters : file_type","tags":["Files"],"produces":["application\/json"],"parameters":[{"type":"string","name":"MODEL","in":"path","required":true,"description":"Currently only projects, sites, nurseries, project-reports, nursery-reports, site-reports, project-monitorings and site-monitorings are set up"},{"type":"string","name":"UUID","in":"path","required":true},{"name":"filter","type":"string","in":"query","description":"multiple filters can be applied. syntax is ?filter[foo]=value1,value2$filter[bar]=value3"},{"name":"per_page","type":"integer","in":"query","description":"number of results (per page) to return"},{"name":"model_name","type":"string","in":"query","description":"dependent on model available options are projects, project-reports, sites, site-reports, nurseries, nursery-reports"},{"name":"page","type":"integer","in":"query","description":"page number you want results from"}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2FileGallery","type":"object","properties":{"uuid":{"type":"string"},"file_url":{"type":"string"},"thumb_url":{"type":"string"},"file_name":{"type":"string"},"created_date":{"type":"string"},"model_name":{"type":"string"},"is_public":{"type":"boolean"},"location":{"type":"object","properties":{"lat":{"type":"number"},"lng":{"type":"number"}}},"mime_type":{"type":"string"},"file_size":{"type":"integer"},"collection_name":{"type":"string"}}}},"links":{"title":"V2PaginationLinks","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"title":"V2PaginationMeta","properties":{"from":{"type":"integer"},"to":{"type":"integer"},"current_page":{"type":"integer"},"last_page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"path":{"type":"string"},"links":{"type":"array","items":{"title":"V2PaginationCurrentLinks","properties":{"url":{"type":"string"},"label":{"type":"string"},"active":{"type":"boolean"}}}}}}}}}}}},"\/v2\/{MODEL}\/{UUID}\/image\/locations":{"get":{"summary":"Retrieve all images for a specific entity","operationId":"get-v2-model-uuid-image-locations","tags":["Files"],"produces":["application\/json"],"parameters":[{"type":"string","name":"MODEL","in":"path","required":true,"description":"Currently only projects, sites, nurseries, project-reports, nursery-reports and site-reports are set up"},{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2FileGallery","type":"object","properties":{"uuid":{"type":"string"},"thumb_url":{"type":"string"},"location":{"type":"object","properties":{"lat":{"type":"number"},"lng":{"type":"number"}}}}}}}}}}}},"\/v2\/file\/upload\/{MODEL}\/{COLLECTION}\/{UUID}":{"post":{"summary":"Upload a file to a specific entities collection","operationId":"v2-post-upload-file-model-collection-uuid","tags":["Files"],"consumes":["multipart\/form-data"],"produces":["application\/json"],"parameters":[{"type":"string","name":"MODEL","in":"path","required":true,"description":"Currently only organisation, funding-programme, project-pitch, project, site, nursery, project-report, site-report, nursery-report, project-monitoring and site-monitoring are set up"},{"type":"string","name":"COLLECTION","in":"path","required":true},{"type":"string","name":"UUID","in":"path","required":true},{"type":"string","name":"title","in":"formData"},{"type":"file","name":"upload_file","in":"formData"},{"type":"integer","name":"lat","in":"formData"},{"type":"integer","name":"lng","in":"formData"},{"type":"boolean","name":"is_public","default":true,"in":"formData"}],"responses":{"200":{"description":"OK","schema":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}}}}},"\/v2\/file\/upload\/site\/photos\/{UUID}\/bulk_url":{"post":{"summary":"Upload a batch of photos to a specific site","operationId":"v2-post-upload-file-site-photos-uuid-bulk","tags":["Files"],"consumes":["application\/json"],"produces":["application\/json"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"description":"Batch of photos to upload","in":"body","name":"body","required":true,"schema":{"type":"array","items":{"type":"object","properties":{"download_url":{"type":"string"},"title":{"type":"string","default":"Name of image"},"lat":{"type":"integer","default":null},"lng":{"type":"integer","default":null},"is_public":{"type":"boolean","default":true}}}}}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}}}}}},"\/v2\/media":{"delete":{"summary":"Bulk delete a set of media by UUID","operationId":"v2-bulk-delete-media","tags":["Media"],"parameters":[{"type":"array","name":"uuids[]","in":"query","required":true,"items":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"\/v2\/files\/{UUID}":{"put":{"summary":"Update properties of a specific file","operationId":"v2-put-file-uuid","tags":["Files"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"in":"body","name":"body","schema":{"type":"object","properties":{"title":{"type":"string"},"is_public":{"type":"boolean"}},"required":["title"]}}],"responses":{"200":{"description":"OK","schema":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}}}},"delete":{"summary":"Delete a specific file","operationId":"v2-delete-file-uuid","tags":["Files"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}}}},"\/v2\/funding-type":{"post":{"summary":"Create a funding type entry","operationId":"post-v2-funding-type","responses":{"201":{"description":"Created","schema":{"title":"V2FundingTypeRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"organisation_id":{"type":"string"},"amount":{"type":"integer"},"year":{"type":"integer"},"type":{"type":"string"}}}}},"parameters":[{"in":"body","name":"body","schema":{"title":"V2FundingTypeCreate","type":"object","properties":{"organisation_id":{"type":"string"},"amount":{"type":"integer"},"year":{"type":"integer"},"type":{"type":"string"}}}}],"tags":["V2 Funding Type"]}},"\/v2\/funding-type\/{UUID}":{"patch":{"summary":"Update a funding type","operationId":"patch-v2-funding-type-UUID","responses":{"200":{"description":"OK","schema":{"title":"V2FundingTypeRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"organisation_id":{"type":"string"},"amount":{"type":"integer"},"year":{"type":"integer"},"type":{"type":"string"}}}}},"tags":["V2 Funding Type"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"in":"body","name":"body","schema":{"title":"V2FundingTypeUpdate","type":"object","properties":{"amount":{"type":"integer"},"year":{"type":"integer"},"type":{"type":"string"}}}}]},"delete":{"summary":"Delete a funding type entry","operationId":"delete-v2-funding-type-UUID","parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"V2FundingTypeRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"organisation_id":{"type":"string"},"amount":{"type":"integer"},"year":{"type":"integer"},"type":{"type":"string"}}}}},"tags":["V2 Funding Type"]}},"\/v2\/core-team-leader":{"post":{"summary":"Create a core team leader","operationId":"post-v2-core-team-leader","responses":{"201":{"description":"Created","schema":{"title":"V2CoreTeamLeaderRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"organisation_id":{"type":"string"},"position":{"type":"string"},"gender":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"role":{"type":"string"},"age":{"type":"integer"}}}}},"parameters":[{"in":"body","name":"body","schema":{"title":"V2CoreTeamLeaderCreate","type":"object","properties":{"organisation_id":{"type":"string"},"position":{"type":"string"},"gender":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"role":{"type":"string"},"age":{"type":"integer"}}}}],"tags":["V2 Core Team Leader"]}},"\/v2\/core-team-leader\/{UUID}":{"patch":{"summary":"Update a core team leader","operationId":"patch-v2-core-team-leader-UUID","responses":{"200":{"description":"OK","schema":{"title":"V2CoreTeamLeaderRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"organisation_id":{"type":"string"},"position":{"type":"string"},"gender":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"role":{"type":"string"},"age":{"type":"integer"}}}}},"tags":["V2 Core Team Leader"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"in":"body","name":"body","schema":{"title":"V2CoreTeamLeaderUpdate","type":"object","properties":{"position":{"type":"string"},"gender":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"role":{"type":"string"},"age":{"type":"integer"}}}}]},"delete":{"summary":"Delete a core team leader","operationId":"delete-v2-core-team-leader-UUID","parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"V2CoreTeamLeaderRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"organisation_id":{"type":"string"},"position":{"type":"string"},"gender":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"role":{"type":"string"},"age":{"type":"integer"}}}}},"tags":["V2 Core Team Leader"]}},"\/v2\/leadership-team":{"post":{"summary":"Create a leadership team","operationId":"post-v2-leadership-team","responses":{"201":{"description":"Created","schema":{"title":"V2LeadershipTeamRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"organisation_id":{"type":"string"},"position":{"type":"string"},"gender":{"type":"string"},"age":{"type":"integer"}}}}},"parameters":[{"in":"body","name":"body","schema":{"title":"V2LeadershipTeamCreate","type":"object","properties":{"organisation_id":{"type":"string"},"position":{"type":"string"},"gender":{"type":"string"},"age":{"type":"integer"}}}}],"tags":["V2 Leadership Team"]}},"\/v2\/leadership-team\/{UUID}":{"patch":{"summary":"Update a leadership team","operationId":"patch-v2-leadership-team-UUID","responses":{"200":{"description":"OK","schema":{"title":"V2LeadershipTeamRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"organisation_id":{"type":"string"},"position":{"type":"string"},"gender":{"type":"string"},"age":{"type":"integer"}}}}},"tags":["V2 Leadership Team"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"in":"body","name":"body","schema":{"title":"V2LeadershipTeamUpdate","type":"object","properties":{"position":{"type":"string"},"gender":{"type":"string"},"age":{"type":"integer"}}}}]},"delete":{"summary":"Delete a leadership team","operationId":"delete-v2-leadership-team-UUID","parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"V2LeadershipTeamRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"organisation_id":{"type":"string"},"position":{"type":"string"},"gender":{"type":"string"},"age":{"type":"integer"}}}}},"tags":["V2 Leadership Team"]}},"\/v2\/ownership-stake":{"post":{"summary":"Create a ownership stake","operationId":"post-v2-ownership-stake","responses":{"201":{"description":"Created","schema":{"title":"V2OwnershipStakeRead","type":"object","properties":{"uuid":{"type":"string"},"organisation_id":{"type":"string"},"position":{"type":"string"},"gender":{"type":"string"},"age":{"type":"integer"},"percent_ownership":{"type":"integer"}}}}},"parameters":[{"in":"body","name":"body","schema":{"title":"V2OwnershipStakeCreate","type":"object","properties":{"organisation_id":{"type":"string"},"position":{"type":"string"},"gender":{"type":"string"},"age":{"type":"integer"},"percent_ownership":{"type":"integer"}}}}],"tags":["V2 Ownership Stake"]}},"\/v2\/ownership-stake\/{UUID}":{"patch":{"summary":"Update a ownership stake","operationId":"patch-v2-ownership-stake-UUID","responses":{"200":{"description":"OK","schema":{"title":"V2OwnershipStakeRead","type":"object","properties":{"uuid":{"type":"string"},"organisation_id":{"type":"string"},"position":{"type":"string"},"gender":{"type":"string"},"age":{"type":"integer"},"percent_ownership":{"type":"integer"}}}}},"tags":["V2 Ownership Stake"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"in":"body","name":"body","schema":{"title":"V2OwnershipStakeUpdate","type":"object","properties":{"position":{"type":"string"},"gender":{"type":"string"},"age":{"type":"integer"},"percent_ownership":{"type":"integer"}}}}]},"delete":{"summary":"Delete a ownership stake","operationId":"delete-v2-ownership-stake-UUID","parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"V2OwnershipStakeRead","type":"object","properties":{"uuid":{"type":"string"},"organisation_id":{"type":"string"},"position":{"type":"string"},"gender":{"type":"string"},"age":{"type":"integer"},"percent_ownership":{"type":"integer"}}}}},"tags":["V2 Ownership Stake"]}},"\/v2\/admin\/sites":{"get":{"summary":"View all sites as an admin","tags":["V2 Sites"],"parameters":[{"name":"search","type":"string","in":"query","description":"search term to use on the collection"},{"name":"filter","type":"string","in":"query","description":"multiple filters can be applied. syntax is ?filter[foo]=value1,value2$filter[bar]=value3"},{"name":"sort","type":"string","in":"query","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-last_name"},{"name":"per_page","type":"integer","in":"query","description":"number of results (per page) to return"},{"name":"page","type":"integer","in":"query","description":"page number you want results from"}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"site_id":{"type":"integer"},"terrafund_site_id":{"type":"integer"},"programme_id":{"type":"integer"},"terrafund_programme_id":{"type":"integer"},"control_site":{"type":"boolean"},"name":{"type":"string"},"country":{"type":"string"},"project_country":{"type":"string"},"continent":{"type":"string"},"description":{"type":"string"},"planting_pattern":{"type":"string"},"stratification_for_heterogeneity":{"type":"string"},"history":{"type":"string"},"workdays_paid":{"type":"integer"},"workdays_volunteer":{"type":"integer"},"total_workdays":{"type":"integer"},"establishment_date":{"type":"string","format":"date"},"start_date":{"type":"string","format":"date"},"end_date":{"type":"string","format":"date"},"technical_narrative":{"type":"string"},"public_narrative":{"type":"string"},"aim_survival_rate":{"type":"number"},"aim_year_five_crown_cover":{"type":"number"},"aim_direct_seeding_survival_rate":{"type":"number"},"aim_natural_regeneration_trees_per_hectare":{"type":"number"},"aim_natural_regeneration_hectares":{"type":"number"},"aim_soil_condition":{"type":"string"},"aim_number_of_mature_trees":{"type":"integer"},"hectares_to_restore":{"type":"number"},"landscape_community_contribution":{"type":"string"},"disturbances":{"type":"string"},"boundary_geojson":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"}}}}}}},"operationId":"get-v2-admin-sites"}},"\/v2\/admin\/project-pitches":{"get":{"summary":"View project pitches as an admin","tags":["Project Pitches"],"parameters":[{"name":"search","type":"string","in":"query","description":"search term to use on the collection"},{"name":"filter","type":"string","in":"query","description":"multiple filters can be applied. syntax is ?filter[foo]=value1,value2$filter[bar]=value3"},{"name":"sort","type":"string","in":"query","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-last_name"},{"name":"per_page","type":"integer","in":"query","description":"number of results (per page) to return"},{"name":"page","type":"integer","in":"query","description":"page number you want results from"}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"}}}}}}},"operationId":"get-v2-admin-project-pitches","description":""}},"\/v2\/admin\/projects":{"get":{"summary":"View projects as an admin","tags":["V2 Projects"],"parameters":[{"name":"search","type":"string","in":"query","description":"search term to use on the collection"},{"name":"filter","type":"string","in":"query","description":"multiple filters can be applied. syntax is ?filter[foo]=value1,value2$filter[bar]=value3"},{"name":"sort","type":"string","in":"query","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-last_name"},{"name":"per_page","type":"integer","in":"query","description":"number of results (per page) to return"},{"name":"page","type":"integer","in":"query","description":"page number you want results from"}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"}}}}}}},"operationId":"get-v2-admin-projects","description":""}},"\/v2\/projects\/{UUID}":{"get":{"summary":"View a specific project","tags":["V2 Projects"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"application":{"title":"ApplicationLiteRead","type":"object","properties":{"uuid":{"type":"string"},"form_submissions":{"type":"array","items":{"type":"object","title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"current_submission":{"type":"object","title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"funding_programme":{"type":"object","title":"FundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"location":{"type":"string"},"read_more_url":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"stages":{"type":"array","items":{"title":"StageRead","x-stoplight":{"id":"qtkhrj889wvwc"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"status":{"type":"string"},"deadline_at":{"type":"string"},"readable_status":{"type":"string"},"funding_programme_id":{"type":"integer"},"name":{"type":"string"},"order":{"type":"integer"},"forms":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"organisations":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"organisation":{"type":"object","title":"AdminOrganisationRead","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}}}}}}}},"delete":{"summary":"Delete a specific project (draft \/ started only)","tags":["V2 Projects"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}}}},"\/v2\/projects\/{UUID}\/sites":{"get":{"summary":"Get the sites of a specific project","operationId":"get-v2-projects-uuid-sites","tags":["V2 Projects"],"description":"Available Filters : status | Available Searches: name | Available Sort Options: name, status, number_of_trees_planted, created_at, updated_at","produces":["application\/json"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"name":"filter","type":"string","in":"query","description":"multiple filters can be applied. syntax is ?filter[foo]=value1,value2$filter[bar]=value3"},{"name":"sort","type":"string","in":"query","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-name"},{"name":"search","type":"string","in":"query","description":"search term to use on the collection"},{"name":"per_page","type":"integer","in":"query","description":"number of results (per page) to return"},{"name":"page","type":"integer","in":"query","description":"page number you want results from"}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2SiteLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"framework_key":{"type":"string"},"description":{"type":"string"},"control_site":{"type":"integer"},"status":{"type":"string"},"readable_status":{"type":"string"},"number_of_trees_planted":{"type":"integer"},"start_date":{"type":"string"},"created_at":{"type":"string"}}}},"links":{"title":"V2PaginationLinks","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"title":"V2PaginationMeta","properties":{"from":{"type":"integer"},"to":{"type":"integer"},"current_page":{"type":"integer"},"last_page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"path":{"type":"string"},"links":{"type":"array","items":{"title":"V2PaginationCurrentLinks","properties":{"url":{"type":"string"},"label":{"type":"string"},"active":{"type":"boolean"}}}}}}}}}}}},"\/v2\/projects\/{UUID}\/nurseries":{"get":{"summary":"Get the nurseries of a specific project","operationId":"get-v2-projects-uuid-nurseries","tags":["V2 Projects"],"description":"Available Filters : status | Available Searches: name | Available Sort Options: name, status, created_at, updated_at","produces":["application\/json"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"name":"filter","type":"string","in":"query","description":"multiple filters can be applied. syntax is ?filter[foo]=value1,value2$filter[bar]=value3"},{"name":"sort","type":"string","in":"query","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-name"},{"name":"search","type":"string","in":"query","description":"search term to use on the collection"},{"name":"per_page","type":"integer","in":"query","description":"number of results (per page) to return"},{"name":"page","type":"integer","in":"query","description":"page number you want results from"}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2NurseryLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"project":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"establishment_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"start_date":{"type":"string"},"created_date":{"type":"string"}}}},"links":{"title":"V2PaginationLinks","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"title":"V2PaginationMeta","properties":{"from":{"type":"integer"},"to":{"type":"integer"},"current_page":{"type":"integer"},"last_page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"path":{"type":"string"},"links":{"type":"array","items":{"title":"V2PaginationCurrentLinks","properties":{"url":{"type":"string"},"label":{"type":"string"},"active":{"type":"boolean"}}}}}}}}}}}},"\/v2\/projects\/{UUID}\/tasks":{"get":{"summary":"Get the tasks of a specific project","operationId":"get-v2-projects-uuid-tasks","tags":["V2 Projects","V2 Tasks"],"description":"Available Sort : period_key (year-month) and status","produces":["application\/json"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"name":"sort","type":"string","in":"query","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-name"},{"name":"per_page","type":"integer","in":"query","description":"number of results (per page) to return"},{"name":"page","type":"integer","in":"query","description":"page number you want results from"}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2TaskRead","type":"object","properties":{"uuid":{"type":"string"},"project":{"type":"object"},"period_key":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}}},"links":{"title":"V2PaginationLinks","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"title":"V2PaginationMeta","properties":{"from":{"type":"integer"},"to":{"type":"integer"},"current_page":{"type":"integer"},"last_page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"path":{"type":"string"},"links":{"type":"array","items":{"title":"V2PaginationCurrentLinks","properties":{"url":{"type":"string"},"label":{"type":"string"},"active":{"type":"boolean"}}}}}}}}}}}},"\/v2\/organisations\/{UUID}\/tasks":{"get":{"summary":"Get the tasks of a specific organisation","operationId":"get-v2-organisations-uuid-tasks","tags":["V2 Organisations","V2 Tasks"],"description":"Available Sort : period_key (year-month) and status","produces":["application\/json"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"name":"sort","type":"string","in":"query","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-name"},{"name":"per_page","type":"integer","in":"query","description":"number of results (per page) to return"},{"name":"page","type":"integer","in":"query","description":"page number you want results from"}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2TaskRead","type":"object","properties":{"uuid":{"type":"string"},"project":{"type":"object"},"period_key":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}}},"links":{"title":"V2PaginationLinks","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"title":"V2PaginationMeta","properties":{"from":{"type":"integer"},"to":{"type":"integer"},"current_page":{"type":"integer"},"last_page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"path":{"type":"string"},"links":{"type":"array","items":{"title":"V2PaginationCurrentLinks","properties":{"url":{"type":"string"},"label":{"type":"string"},"active":{"type":"boolean"}}}}}}}}}}}},"\/v2\/tasks\/{UUID}":{"get":{"summary":"Get a specific task","operationId":"get-v2-tasks-uuid","tags":["V2 Tasks"],"produces":["application\/json"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2TaskRead","type":"object","properties":{"uuid":{"type":"string"},"project":{"type":"object"},"period_key":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}}}}}}}}},"\/v2\/tasks\/{UUID}\/reports":{"get":{"summary":"Get the reports\/actions via a task","operationId":"get-v2-tasks-uuid-reports","tags":["V2 Projects","V2 Tasks"],"description":"Available Sort : period_key (year-month) and status","produces":["application\/json"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2TaskActionRead","type":"object","properties":{"uuid":{"type":"integer"},"type":{"type":"string"},"status":{"type":"string"},"due_at":{"type":"string","format":"date-time"},"title":{"type":"string"},"report_title":{"type":"string"},"update_request_status":{"type":"string"},"submitted_at":{"type":"string","format":"date-time"},"parent_name":{"type":"string"}}}}}}}}}},"\/v2\/tasks\/{UUID}\/submit":{"put":{"summary":"Submit all task reports via a task","operationId":"put-v2-tasks-uuid-reports","tags":["V2 Tasks"],"produces":["application\/json"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}}}},"\/v2\/{ENTITY}\/{UUID}":{"get":{"summary":"View a specific entity as raw data","tags":["V2 Projects","V2 Sites","V2 Nurseries","V2 Project Reports","V2 Site Reports","V2 Nursery Reports","Forms"],"parameters":[{"type":"string","name":"ENTITY","in":"path","required":true,"description":"allowed values projects\/sites\/nurseries\/project-reports\/site-reports\/nursery-reports"},{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"object"}}}}}}},"\/v2\/forms\/sites\/{UUID}":{"get":{"summary":"View a specific site as answers with form schema","tags":["V2 Sites","Forms"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"SiteWithSchemaRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"answers":{"type":"array","items":{"type":"object","properties":{"question_id":{"type":"integer"},"value":{"type":"string"},"options":{"type":"array","items":{"type":"string"}}}}}}}}}}}}}},"\/v2\/admin\/project-pitches\/export":{"get":{"summary":"Export project pitches as an admin","tags":["Project Pitches"],"responses":{"200":{"description":"OK","schema":{"type":"object"}}},"operationId":"get-v2-project-pitches-export"}},"\/v2\/project-pitches":{"get":{"summary":"Get project pitches","tags":["Project Pitches"],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"}}}}}}},"operationId":"get-v2-project-pitches","parameters":[{"name":"search","type":"string","in":"query","description":"search term to use on the collection"},{"name":"filter","type":"string","in":"query","description":"multiple filters can be applied. syntax is ?filter[foo]=value1,value2$filter[bar]=value3"},{"name":"sort","type":"string","in":"query","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-last_name"},{"name":"per_page","type":"integer","in":"query","description":"number of results (per page) to return"},{"name":"page","type":"integer","in":"query","description":"page number you want results from"}]},"post":{"summary":"Store a project pitch","operationId":"post-v2-project-pitches","responses":{"201":{"description":"Created","schema":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"tags":["Project Pitches"],"parameters":[{"in":"body","name":"body","schema":{"title":"ProjectPitchCreate","x-stoplight":{"id":"xo976uxy5fkzu"},"type":"object","properties":{"organisation_id":{"type":"string"},"project_name":{"type":"string"},"project_objectives":{"type":"string"},"how_discovered":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"total_trees":{"type":"integer"},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"}}}}]}},"\/v2\/project-pitches\/{UUID}":{"get":{"summary":"Get a project pitch","tags":["Project Pitches"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"operationId":"get-v2-project-pitches-UUID"},"patch":{"summary":"Update a project pitch","operationId":"patch-v2-project-pitches-UUID","responses":{"200":{"description":"OK","schema":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"in":"body","name":"body","schema":{"title":"ProjectPitchUpdate","x-stoplight":{"id":"w5u1xed0to2g6"},"type":"object","properties":{"funding_programme_id":{"type":"integer"},"project_name":{"type":"string"},"project_objectives":{"type":"string"},"project_county_district":{"type":"string"},"how_discovered":{"type":"string"},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"project_budget":{"type":"integer"},"project_country":{"type":"array","items":{"type":"string"}},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"total_trees":{"type":"integer"},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"}}}}],"tags":["Project Pitches"]},"delete":{"summary":"Delete a project pitch","operationId":"delete-v2-project-pitches-UUID","parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}},"tags":["Project Pitches"]}},"\/v2\/project-pitches\/submit\/{UUID}":{"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"put":{"summary":"Submits a project pitch making it active","operationId":"put-v2-submit-project-pitches-UUID","responses":{"200":{"description":"OK"}},"tags":["Project Pitches"]}},"\/v2\/project-pitches\/{UUID}\/submissions":{"get":{"summary":"Get form submissions belonging to a project pitch","tags":["Project Pitches"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}}}}},"operationId":"get-v2-project-pitches-UUID-submissions"}},"\/v2\/admin\/forms\/submissions\/{UUID}":{"get":{"summary":"Get a form submission","tags":["Form Submissions"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"operationId":"get-v2-admin-forms-submissions-UUID"},"delete":{"summary":"Delete a form submission","operationId":"delete-v2-admin-forms-submissions-UUID","parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}},"tags":["Form Submissions"],"description":""}},"\/v2\/admin\/forms\/submissions\/{UUID}\/export":{"get":{"summary":"Export form submissions","tags":["Form Submissions"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"object"}}},"operationId":"get-v2-admin-forms-submissions-uuid-export"}},"\/v2\/admin\/forms\/submissions":{"get":{"summary":"Get form submissions","tags":["Form Submissions"],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"links":{"title":"V2PaginationLinks","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"title":"V2PaginationMeta","properties":{"from":{"type":"integer"},"to":{"type":"integer"},"current_page":{"type":"integer"},"last_page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"path":{"type":"string"},"links":{"type":"array","items":{"title":"V2PaginationCurrentLinks","properties":{"url":{"type":"string"},"label":{"type":"string"},"active":{"type":"boolean"}}}}}}}}}},"operationId":"get-v2-admin-forms-submissions","parameters":[{"name":"search","type":"string","in":"query","description":"search term to use on the collection"},{"name":"filter","type":"string","in":"query","description":"multiple filters can be applied. syntax is ?filter[foo]=value1,value2$filter[bar]=value3"},{"name":"sort","type":"string","in":"query","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-last_name"},{"name":"per_page","type":"integer","in":"query","description":"number of results (per page) to return"},{"name":"page","type":"integer","in":"query","description":"page number you want results from"}]}},"\/v2\/forms\/my\/submissions":{"get":{"summary":"Get the authenticated users form submissions","tags":["Form Submissions"],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"links":{"title":"V2PaginationLinks","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"title":"V2PaginationMeta","properties":{"from":{"type":"integer"},"to":{"type":"integer"},"current_page":{"type":"integer"},"last_page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"path":{"type":"string"},"links":{"type":"array","items":{"title":"V2PaginationCurrentLinks","properties":{"url":{"type":"string"},"label":{"type":"string"},"active":{"type":"boolean"}}}}}}}}}},"operationId":"get-v2-my-forms-submissions","parameters":[{"name":"per_page","type":"integer","in":"query","description":"number of results (per page) to return"},{"name":"page","type":"integer","in":"query","description":"page number you want results from"}]}},"\/v2\/forms\/{UUID}":{"get":{"summary":"Get a form","tags":["Forms"],"responses":{"200":{"description":"OK","schema":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"operationId":"get-v2-forms","parameters":[{"type":"string","name":"UUID","in":"path","required":true}]}},"\/v2\/admin\/funding-programme\/stage":{"post":{"summary":"Create a stage","operationId":"post-v2-admin-funding-programme-stage","responses":{"201":{"description":"Created","schema":{"title":"StageRead","x-stoplight":{"id":"qtkhrj889wvwc"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"status":{"type":"string"},"deadline_at":{"type":"string"},"readable_status":{"type":"string"},"funding_programme_id":{"type":"integer"},"name":{"type":"string"},"order":{"type":"integer"},"forms":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"parameters":[{"in":"body","name":"body","schema":{"title":"StageCreate","x-stoplight":{"id":"q1bwtmu9aj98a"},"type":"object","properties":{"name":{"type":"string"},"funding_programme_id":{"type":"integer"},"form_id":{"type":"string"},"deadline_at":{"type":"string"},"order":{"type":"integer"}}}}],"tags":["Stages"]}},"\/v2\/admin\/funding-programme\/stage\/{UUID}":{"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"delete":{"summary":"Delete a stage","operationId":"delete-v2-admin-funding-programme-stage-UUID","responses":{"200":{"description":"OK","schema":{"title":"StageRead","x-stoplight":{"id":"qtkhrj889wvwc"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"status":{"type":"string"},"deadline_at":{"type":"string"},"readable_status":{"type":"string"},"funding_programme_id":{"type":"integer"},"name":{"type":"string"},"order":{"type":"integer"},"forms":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"tags":["Stages"]},"patch":{"summary":"Update a stage","operationId":"patch-v2-admin-funding-programme-stage-UUID","responses":{"200":{"description":"OK","schema":{"title":"StageRead","x-stoplight":{"id":"qtkhrj889wvwc"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"status":{"type":"string"},"deadline_at":{"type":"string"},"readable_status":{"type":"string"},"funding_programme_id":{"type":"integer"},"name":{"type":"string"},"order":{"type":"integer"},"forms":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"parameters":[{"in":"body","name":"body","schema":{"title":"StageCreate","x-stoplight":{"id":"q1bwtmu9aj98a"},"type":"object","properties":{"name":{"type":"string"},"funding_programme_id":{"type":"integer"},"form_id":{"type":"string"},"deadline_at":{"type":"string"},"order":{"type":"integer"}}}}],"tags":["Stages"]}},"\/v2\/funding-programme":{"get":{"summary":"Get all funding programmes","tags":["Funding Programmes"],"parameters":[{"type":"integer","in":"query","name":"page","description":"page number you want results from"}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"FundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"location":{"type":"string"},"read_more_url":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"stages":{"type":"array","items":{"title":"StageRead","x-stoplight":{"id":"qtkhrj889wvwc"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"status":{"type":"string"},"deadline_at":{"type":"string"},"readable_status":{"type":"string"},"funding_programme_id":{"type":"integer"},"name":{"type":"string"},"order":{"type":"integer"},"forms":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"organisations":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"links":{"type":"object","title":"V2PaginationLinks","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","title":"V2PaginationMeta","properties":{"from":{"type":"integer"},"to":{"type":"integer"},"current_page":{"type":"integer"},"last_page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"path":{"type":"string"},"links":{"type":"array","items":{"title":"V2PaginationCurrentLinks","properties":{"url":{"type":"string"},"label":{"type":"string"},"active":{"type":"boolean"}}}}}}}}}},"operationId":"get-v2-funding-programme"}},"\/v2\/admin\/funding-programme":{"get":{"summary":"Get all funding programmes","tags":["Funding Programmes"],"parameters":[{"type":"integer","in":"query","name":"page","description":"page number you want results from"},{"name":"per_page","type":"integer","in":"query","description":"number of results (per page) to return"}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"FundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"location":{"type":"string"},"read_more_url":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"stages":{"type":"array","items":{"title":"StageRead","x-stoplight":{"id":"qtkhrj889wvwc"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"status":{"type":"string"},"deadline_at":{"type":"string"},"readable_status":{"type":"string"},"funding_programme_id":{"type":"integer"},"name":{"type":"string"},"order":{"type":"integer"},"forms":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"organisations":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"links":{"type":"object","title":"V2PaginationLinks","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","title":"V2PaginationMeta","properties":{"from":{"type":"integer"},"to":{"type":"integer"},"current_page":{"type":"integer"},"last_page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"path":{"type":"string"},"links":{"type":"array","items":{"title":"V2PaginationCurrentLinks","properties":{"url":{"type":"string"},"label":{"type":"string"},"active":{"type":"boolean"}}}}}}}}}},"operationId":"get-v2-admin-funding-programme"},"post":{"summary":"Create a funding programme","operationId":"post-v2-funding-programme","tags":["Funding Programmes"],"responses":{"201":{"description":"Created","schema":{"title":"FundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"location":{"type":"string"},"read_more_url":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"stages":{"type":"array","items":{"title":"StageRead","x-stoplight":{"id":"qtkhrj889wvwc"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"status":{"type":"string"},"deadline_at":{"type":"string"},"readable_status":{"type":"string"},"funding_programme_id":{"type":"integer"},"name":{"type":"string"},"order":{"type":"integer"},"forms":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"organisations":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"parameters":[{"in":"body","name":"body","schema":{"title":"FundingProgrammeCreate","x-stoplight":{"id":"uoxj0qcvij0sr"},"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"location":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"status":{"type":"string"}}}}]},"parameters":[]},"\/v2\/funding-programme\/{UUID}":{"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"get":{"summary":"Get a funding programme","tags":["Funding Programmes"],"responses":{"200":{"description":"OK","schema":{"title":"FundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"location":{"type":"string"},"read_more_url":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"stages":{"type":"array","items":{"title":"StageRead","x-stoplight":{"id":"qtkhrj889wvwc"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"status":{"type":"string"},"deadline_at":{"type":"string"},"readable_status":{"type":"string"},"funding_programme_id":{"type":"integer"},"name":{"type":"string"},"order":{"type":"integer"},"forms":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"organisations":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"operationId":"get-v2-funding-programme-ID","parameters":[{"in":"body","name":"body","schema":{"title":"FundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"location":{"type":"string"},"read_more_url":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"stages":{"type":"array","items":{"title":"StageRead","x-stoplight":{"id":"qtkhrj889wvwc"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"status":{"type":"string"},"deadline_at":{"type":"string"},"readable_status":{"type":"string"},"funding_programme_id":{"type":"integer"},"name":{"type":"string"},"order":{"type":"integer"},"forms":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"organisations":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}]}},"\/v2\/admin\/funding-programme\/{UUID}":{"get":{"summary":"Get a funding programme","tags":["Funding Programmes"],"responses":{"200":{"description":"OK","schema":{"title":"FundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"location":{"type":"string"},"read_more_url":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"stages":{"type":"array","items":{"title":"StageRead","x-stoplight":{"id":"qtkhrj889wvwc"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"status":{"type":"string"},"deadline_at":{"type":"string"},"readable_status":{"type":"string"},"funding_programme_id":{"type":"integer"},"name":{"type":"string"},"order":{"type":"integer"},"forms":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"organisations":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"operationId":"get-v2-admin-funding-programme-ID","parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"in":"body","name":"body","schema":{"title":"FundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"location":{"type":"string"},"read_more_url":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"stages":{"type":"array","items":{"title":"StageRead","x-stoplight":{"id":"qtkhrj889wvwc"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"status":{"type":"string"},"deadline_at":{"type":"string"},"readable_status":{"type":"string"},"funding_programme_id":{"type":"integer"},"name":{"type":"string"},"order":{"type":"integer"},"forms":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"organisations":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}]},"put":{"summary":"Update a funding programme","operationId":"put-v2-funding-programme-ID","tags":["Funding Programmes"],"responses":{"200":{"description":"OK","schema":{"title":"FundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"location":{"type":"string"},"read_more_url":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"stages":{"type":"array","items":{"title":"StageRead","x-stoplight":{"id":"qtkhrj889wvwc"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"status":{"type":"string"},"deadline_at":{"type":"string"},"readable_status":{"type":"string"},"funding_programme_id":{"type":"integer"},"name":{"type":"string"},"order":{"type":"integer"},"forms":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"organisations":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"in":"body","name":"body","schema":{"title":"FundingProgrammeCreate","x-stoplight":{"id":"uoxj0qcvij0sr"},"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"location":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"status":{"type":"string"}}}}]},"delete":{"summary":"Delete a funding programme","operationId":"delete-v2-funding-programme-ID","tags":["Funding Programmes"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"202":{"description":"Accepted"}}}},"\/v2\/admin\/funding-programme\/{UUID}\/status":{"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"patch":{"summary":"Update a funding programme status","operationId":"patch-v2-funding-programme-ID-status","tags":["Funding Programmes"],"responses":{"200":{"description":"OK","schema":{"title":"FundingProgrammeStatus","type":"object","properties":{"status":{"type":"string"}}}}}}},"\/v2\/funding-programme\/stage":{"get":{"summary":"Get all stages","tags":["Stages"],"parameters":[{"name":"search","type":"string","in":"query","description":"search term to use on the collection"},{"name":"filter","type":"string","in":"query","description":"multiple filters can be applied. syntax is ?filter[foo]=value1,value2$filter[bar]=value3"},{"name":"sort","type":"string","in":"query","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-last_name"},{"name":"per_page","type":"integer","in":"query","description":"number of results (per page) to return"},{"name":"page","type":"integer","in":"query","description":"page number you want results from"}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"title":"StageRead","x-stoplight":{"id":"qtkhrj889wvwc"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"status":{"type":"string"},"deadline_at":{"type":"string"},"readable_status":{"type":"string"},"funding_programme_id":{"type":"integer"},"name":{"type":"string"},"order":{"type":"integer"},"forms":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"}}}}}}},"operationId":"get-v2-funding-programme-stage"}},"\/v2\/admin\/funding-programme\/stage\/{UUID}\/status":{"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"patch":{"summary":"Update a funding programme stage status","operationId":"patch-v2-funding-programme-stage-ID-status","tags":["Stages"],"responses":{"200":{"description":"OK","schema":{"title":"StageRead","x-stoplight":{"id":"qtkhrj889wvwc"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"status":{"type":"string"},"deadline_at":{"type":"string"},"readable_status":{"type":"string"},"funding_programme_id":{"type":"integer"},"name":{"type":"string"},"order":{"type":"integer"},"forms":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}}}},"\/v2\/funding-programme\/stage\/{UUID}":{"get":{"summary":"Get a stage","parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"tags":["Stages"],"responses":{"200":{"description":"OK","schema":{"title":"StageRead","x-stoplight":{"id":"qtkhrj889wvwc"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"status":{"type":"string"},"deadline_at":{"type":"string"},"readable_status":{"type":"string"},"funding_programme_id":{"type":"integer"},"name":{"type":"string"},"order":{"type":"integer"},"forms":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"operationId":"get-v2-funding-programme-stage-UUID"}},"\/v2\/admin\/forms\/submissions\/{UUID}\/status":{"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"patch":{"summary":"Update the status of a form submission","operationId":"patch-v2-admin-forms-submissions-UUID-status","tags":["Forms"],"responses":{"200":{"description":"OK","schema":{"title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"parameters":[{"in":"body","name":"body","schema":{"type":"object","properties":{"feedback":{"type":"string"},"status":{"type":"string","enum":["started","awaiting-approval","approved","requires-more-information","rejected"]}}}}]}},"\/v2\/forms\/submissions":{"post":{"summary":"Create a form submission","operationId":"post-v2-forms-submissions","responses":{"201":{"description":"Created","schema":{"title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"tags":["Forms"],"description":"","parameters":[{"in":"body","name":"body","schema":{"title":"FormSubmissionCreate","x-stoplight":{"id":"yuvkg8bgvnerq"},"type":"object","properties":{"form_uuid":{"type":"string"},"project_pitch_uuid":{"type":"string"}}}}]}},"\/v2\/forms\/submissions\/{UUID}":{"get":{"summary":"Get a form submission","tags":["Form Submissions"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"operationId":"get-v2-forms-submissions-UUID"},"patch":{"summary":"Update a form submission","operationId":"patch-v2-forms-submissions-UUID","tags":["Forms"],"responses":{"200":{"description":"OK","schema":{"title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"in":"body","name":"body","schema":{"title":"FormSubmissionUpdate","type":"object","properties":{"status":{"type":"string"},"answers":{"type":"array","items":{"type":"object","properties":{"question_id":{"type":"integer"},"value":{"type":"string"},"options":{"type":"array","items":{"type":"string"}}}}}}}}]},"delete":{"summary":"Deletes a specific form submission","operationId":"delete-v2-form-submission-UUID","tags":["Forms"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}}}},"\/v2\/forms\/submissions\/{UUID}\/next-stage":{"post":{"operationId":"post-v2-forms-submissions-UUID-next-stage","summary":"Create the next stage form submission","tags":["Form Submissions"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}}}},"\/v2\/forms\/submissions\/submit\/{UUID}":{"put":{"summary":"Submit a form submission for approval","tags":["Form Submissions"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"operationId":"get-v2-submit-forms-submissions-UUID"}},"\/v2\/my\/banners":{"patch":{"summary":"Update the authenticated user's banners","operationId":"patch-v2-my-banners","responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"id":{"type":"integer"},"organisation_id":{"type":"integer"},"organisation_name":{"type":"string"},"my_organisation":{"title":"AdminOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"my_monitoring_organisations":{"type":"array","items":{"title":"V2MonitoringOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"users_status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"email_address_verified_at":{"type":"string","format":"date-time"},"role":{"type":"string"},"last_logged_in_at":{"type":"string","format":"date-time"},"job_role":{"type":"string"},"facebook":{"type":"string"},"twitter":{"type":"string"},"instagram":{"type":"string"},"linkedin":{"type":"string"},"avatar":{"type":"string"},"phone_number":{"type":"string"},"whatsapp_phone":{"type":"string"},"has_ppc_projects":{"type":"boolean"},"has_terrafund_projects":{"type":"boolean"}}}}},"parameters":[{"in":"body","name":"body","schema":{"type":"object","properties":{"banners":{"type":"array","items":{"type":"object"}}}}}],"tags":["V2 Users"]}},"\/v2\/admin\/forms\/applications":{"get":{"summary":"Get all applications","operationId":"get-v2-admin-applications","description":"Available Filters : funding_programme_uuid,current_stage, current_submission_status (Current stage is the stage uuid) Available Sorts : created_at, updated_at, organisation_name, funding_programme_name, organisation_name (Prefix with a '-' for descending","tags":["V2 Application"],"parameters":[{"name":"search","type":"string","in":"query","description":"search term to use on the collection"},{"name":"filter","type":"string","in":"query","description":"multiple filters can be applied. syntax is ?filter[foo]=value1,value2$filter[bar]=value3"},{"name":"sort","type":"string","in":"query","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-last_name"},{"name":"per_page","type":"integer","in":"query","description":"number of results (per page) to return"},{"name":"page","type":"integer","in":"query","description":"page number you want results from"}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"ApplicationLiteRead","type":"object","properties":{"uuid":{"type":"string"},"form_submissions":{"items":{"title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"current_submission":{"title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"funding_programme_name":{"type":"integer"},"funding_programme_uuid":{"type":"string"},"funding_programme_status":{"type":"string"},"organisation_name":{"type":"string"},"organisation_uuid":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}},"links":{"title":"V2PaginationLinks","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"title":"V2PaginationMeta","properties":{"from":{"type":"integer"},"to":{"type":"integer"},"current_page":{"type":"integer"},"last_page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"path":{"type":"string"},"links":{"type":"array","items":{"title":"V2PaginationCurrentLinks","properties":{"url":{"type":"string"},"label":{"type":"string"},"active":{"type":"boolean"}}}}}}}}}}}},"\/v2\/admin\/forms\/applications\/{UUID}":{"get":{"summary":"Get a specific application","operationId":"get-v2-admin-applications-UUID","tags":["V2 Application"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"ApplicationLiteRead","type":"object","properties":{"uuid":{"type":"string"},"form_submissions":{"type":"array","items":{"type":"object","title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"current_submission":{"type":"object","title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"funding_programme":{"type":"object","title":"FundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"location":{"type":"string"},"read_more_url":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"stages":{"type":"array","items":{"title":"StageRead","x-stoplight":{"id":"qtkhrj889wvwc"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"status":{"type":"string"},"deadline_at":{"type":"string"},"readable_status":{"type":"string"},"funding_programme_id":{"type":"integer"},"name":{"type":"string"},"order":{"type":"integer"},"forms":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"organisations":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"organisation":{"type":"object","title":"AdminOrganisationRead","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}}}},"delete":{"summary":"Deletes a specific and it's dependant form submissions","operationId":"delete-v2-admin-applications-UUID","tags":["Application"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}}}},"\/v2\/admin\/forms\/applications\/{UUID}\/export":{"get":{"summary":"Export CSV document of applications belonging to a funding programme","description":"The UUID provided is the Funding Programme ID that the applications are for","operationId":"get-v2-admin-forms-applications-UUID-export","tags":["Export","V2 Application"],"produces":["text\/plain"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"file"}}}}},"\/v2\/my\/applications":{"get":{"summary":"Get the current users applications","operationId":"get-v2-my-applications","tags":["V2 Application"],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"ApplicationLiteRead","type":"object","properties":{"uuid":{"type":"string"},"form_submissions":{"items":{"title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"current_submission":{"title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"funding_programme_name":{"type":"integer"},"funding_programme_uuid":{"type":"string"},"funding_programme_status":{"type":"string"},"organisation_name":{"type":"string"},"organisation_uuid":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}},"links":{"type":"object","title":"V2PaginationLinks","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","title":"V2PaginationMeta","properties":{"from":{"type":"integer"},"to":{"type":"integer"},"current_page":{"type":"integer"},"last_page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"path":{"type":"string"},"links":{"type":"array","items":{"title":"V2PaginationCurrentLinks","properties":{"url":{"type":"string"},"label":{"type":"string"},"active":{"type":"boolean"}}}}}}}}}}}},"\/v2\/applications\/{UUID}":{"get":{"summary":"Get a specific application","operationId":"get-v2-applications-UUID","tags":["V2 Application"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"ApplicationLiteRead","type":"object","properties":{"uuid":{"type":"string"},"form_submissions":{"type":"array","items":{"type":"object","title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"current_submission":{"type":"object","title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"funding_programme":{"type":"object","title":"FundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"location":{"type":"string"},"read_more_url":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"stages":{"type":"array","items":{"title":"StageRead","x-stoplight":{"id":"qtkhrj889wvwc"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"status":{"type":"string"},"deadline_at":{"type":"string"},"readable_status":{"type":"string"},"funding_programme_id":{"type":"integer"},"name":{"type":"string"},"order":{"type":"integer"},"forms":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"organisations":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"organisation":{"type":"object","title":"AdminOrganisationRead","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}}}}},"\/v2\/applications\/{UUID}\/export":{"get":{"summary":"Export CSV document of an application","operationId":"get-v2-applications-UUID-export","tags":["Export","V2 Application"],"produces":["text\/plain"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"file"}}}}},"\/v2\/admin\/nurseries\/{UUID}":{"delete":{"summary":"Delete a nursery","operationId":"delete-v2-admin-nurseries-UUID","tags":["V2 Nurseries"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}}}},"\/v2\/admin\/nursery-reports\/{UUID}":{"delete":{"summary":"Delete a nursery report","operationId":"delete-v2-admin-nursery-reports-UUID","tags":["V2 Nursery Reports"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}}}},"\/v2\/admin\/sites\/{UUID}":{"delete":{"summary":"Delete a site","operationId":"delete-v2-admin-site-UUID","tags":["V2 Sites"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}}}},"\/v2\/admin\/site-reports\/{UUID}":{"delete":{"summary":"Delete a site","operationId":"delete-v2-admin-site-reports-UUID","tags":["V2 Site Reports"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}}}},"\/v2\/admin\/site-monitorings":{"post":{"summary":"Create a site monitoring as an admin","operationId":"post-v2-admin-site-monitorings","tags":["V2 Site Monitorings"],"consumes":["application\/json"],"produces":["application\/json"],"parameters":[{"name":"Body","in":"body","required":true,"schema":{"title":"V2SiteMonitoringCreate","type":"object","properties":{"site_uuid":{"type":"string"},"tree_count":{"type":"integer"},"tree_cover":{"type":"integer"},"field_tree_count":{"type":"integer"},"measurement_date":{"type":"string","format":"date"}}}}],"responses":{"201":{"description":"OK","schema":{"title":"V2SiteMonitoringRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"tree_count":{"type":"integer"},"tree_cover":{"type":"integer"},"field_tree_count":{"type":"integer"},"measurement_date":{"type":"string","format":"date"},"last_updated":{"type":"string","format":"date-time"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}}}}},"\/v2\/admin\/site-monitorings\/{UUID}":{"put":{"summary":"Update a site monitoring as an admin","operationId":"put-v2-admin-site-monitorings-uuid","tags":["V2 Site Monitorings"],"consumes":["application\/json"],"produces":["application\/json"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"name":"Body","in":"body","required":true,"schema":{"title":"V2SiteMonitoringUpdate","type":"object","properties":{"status":{"type":"string"},"tree_count":{"type":"integer"},"tree_cover":{"type":"integer"},"field_tree_count":{"type":"integer"},"measurement_date":{"type":"string","format":"date"}}}}],"responses":{"200":{"description":"OK","schema":{"title":"V2SiteMonitoringRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"tree_count":{"type":"integer"},"tree_cover":{"type":"integer"},"field_tree_count":{"type":"integer"},"measurement_date":{"type":"string","format":"date"},"last_updated":{"type":"string","format":"date-time"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}}}},"delete":{"summary":"Delete a site monitoring as an admin","operationId":"delete-v2-admin-site-monitorings-uuid","tags":["V2 Site Monitorings"],"produces":["application\/json"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}}}},"\/v2\/admin\/projects\/{UUID}":{"delete":{"summary":"Delete a project","operationId":"delete-v2-admin-projects-UUID","tags":["V2 Projects"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}}}},"\/v2\/admin\/project-reports\/{UUID}":{"delete":{"summary":"Delete a project report","operationId":"delete-v2-admin-project-reports-UUID","tags":["V2 Project Reports"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}}}},"\/v2\/admin\/project-monitorings":{"post":{"summary":"Create a project monitoring as an admin","operationId":"post-v2-admin-project-monitorings","tags":["V2 Project Monitorings"],"consumes":["application\/json"],"produces":["application\/json"],"parameters":[{"name":"Body","in":"body","required":true,"schema":{"title":"V2ProjectMonitoringCreate","type":"object","properties":{"project_uuid":{"type":"string"},"total_hectares":{"type":"integer"},"ha_mangrove":{"type":"integer"},"ha_assisted":{"type":"integer"},"ha_agroforestry":{"type":"integer"},"ha_reforestation":{"type":"integer"},"ha_peatland":{"type":"integer"},"ha_riparian":{"type":"integer"},"ha_enrichment":{"type":"integer"},"ha_nucleation":{"type":"integer"},"ha_silvopasture":{"type":"integer"},"ha_direct":{"type":"integer"},"tree_count":{"type":"integer"},"tree_cover":{"type":"integer"},"field_tree_count":{"type":"integer"},"tree_cover_loss":{"type":"integer"},"carbon_benefits":{"type":"integer"},"number_of_esrp":{"type":"integer"},"field_tree_regenerated":{"type":"integer"},"field_tree_survival_percent":{"type":"integer"},"start_date":{"type":"string","format":"date"},"end_date":{"type":"string","format":"date"}}}}],"responses":{"201":{"description":"OK","schema":{"title":"V2ProjectMonitoringRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"total_hectares":{"type":"integer"},"ha_mangrove":{"type":"integer"},"ha_assisted":{"type":"integer"},"ha_agroforestry":{"type":"integer"},"ha_reforestation":{"type":"integer"},"ha_peatland":{"type":"integer"},"ha_riparian":{"type":"integer"},"ha_enrichment":{"type":"integer"},"ha_nucleation":{"type":"integer"},"ha_silvopasture":{"type":"integer"},"ha_direct":{"type":"integer"},"tree_count":{"type":"integer"},"tree_cover":{"type":"integer"},"field_tree_count":{"type":"integer"},"tree_cover_loss":{"type":"integer"},"carbon_benefits":{"type":"integer"},"number_of_esrp":{"type":"integer"},"field_tree_regenerated":{"type":"integer"},"field_tree_survival_percent":{"type":"integer"},"start_date":{"type":"string","format":"date"},"end_date":{"type":"string","format":"date"},"last_updated":{"type":"string","format":"date-time"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}}}}},"\/v2\/admin\/project-monitorings\/{UUID}":{"put":{"summary":"Update a project monitoring as an admin","operationId":"put-v2-admin-project-monitorings-uuid","tags":["V2 Project Monitorings"],"consumes":["application\/json"],"produces":["application\/json"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"name":"Body","in":"body","required":true,"schema":{"title":"V2ProjectMonitoringUpdate","type":"object","properties":{"status":{"type":"string"},"total_hectares":{"type":"integer"},"ha_mangrove":{"type":"integer"},"ha_assisted":{"type":"integer"},"ha_agroforestry":{"type":"integer"},"ha_reforestation":{"type":"integer"},"ha_peatland":{"type":"integer"},"ha_riparian":{"type":"integer"},"ha_enrichment":{"type":"integer"},"ha_nucleation":{"type":"integer"},"ha_silvopasture":{"type":"integer"},"ha_direct":{"type":"integer"},"tree_count":{"type":"integer"},"tree_cover":{"type":"integer"},"field_tree_count":{"type":"integer"},"tree_cover_loss":{"type":"integer"},"carbon_benefits":{"type":"integer"},"number_of_esrp":{"type":"integer"},"field_tree_regenerated":{"type":"integer"},"field_tree_survival_percent":{"type":"integer"},"start_date":{"type":"string","format":"date"},"end_date":{"type":"string","format":"date"}}}}],"responses":{"200":{"description":"OK","schema":{"title":"V2ProjectMonitoringRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"total_hectares":{"type":"integer"},"ha_mangrove":{"type":"integer"},"ha_assisted":{"type":"integer"},"ha_agroforestry":{"type":"integer"},"ha_reforestation":{"type":"integer"},"ha_peatland":{"type":"integer"},"ha_riparian":{"type":"integer"},"ha_enrichment":{"type":"integer"},"ha_nucleation":{"type":"integer"},"ha_silvopasture":{"type":"integer"},"ha_direct":{"type":"integer"},"tree_count":{"type":"integer"},"tree_cover":{"type":"integer"},"field_tree_count":{"type":"integer"},"tree_cover_loss":{"type":"integer"},"carbon_benefits":{"type":"integer"},"number_of_esrp":{"type":"integer"},"field_tree_regenerated":{"type":"integer"},"field_tree_survival_percent":{"type":"integer"},"start_date":{"type":"string","format":"date"},"end_date":{"type":"string","format":"date"},"last_updated":{"type":"string","format":"date-time"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}}}},"delete":{"summary":"Delete a project monitoring as an admin","operationId":"delete-v2-admin-project-monitorings-uuid","tags":["V2 Project Monitorings"],"produces":["application\/json"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}}}},"\/auth\/logout":{"get":{"operationId":"get-user-logout","summary":"Log the logged in user or admin out","tags":["Auth"],"produces":["application\/json"],"responses":{"200":{"description":"OK","schema":{"type":"object"}}}}},"\/auth\/me":{"get":{"summary":"Read the logged in user or admin","tags":["Auth"],"produces":["application\/json"],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"id":{"type":"integer"},"organisation_id":{"type":"integer"},"organisation_name":{"type":"string"},"my_organisation":{"title":"AdminOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"my_monitoring_organisations":{"type":"array","items":{"title":"V2MonitoringOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"users_status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"email_address_verified_at":{"type":"string","format":"date-time"},"role":{"type":"string"},"last_logged_in_at":{"type":"string","format":"date-time"},"job_role":{"type":"string"},"facebook":{"type":"string"},"twitter":{"type":"string"},"instagram":{"type":"string"},"linkedin":{"type":"string"},"avatar":{"type":"string"},"phone_number":{"type":"string"},"whatsapp_phone":{"type":"string"},"has_ppc_projects":{"type":"boolean"},"has_terrafund_projects":{"type":"boolean"}}}}},"operationId":"get-logged-user-details"}},"\/auth\/login":{"post":{"operationId":"post-auth-login","summary":"Log a user or admin in","tags":["Auth"],"security":[],"consumes":["application\/json"],"produces":["application\/json"],"parameters":[{"name":"Body","in":"body","required":true,"schema":{"type":"object","properties":{"email_address":{"type":"string","format":"email"},"password":{"type":"string"}}}}],"responses":{"201":{"description":"Created","schema":{"type":"object","properties":{"token":{"type":"string"}}}}}}},"\/v2\/admin\/forms\/submissions\/export":{"get":{"summary":"Export form submissions","tags":["Form Submissions"],"responses":{"200":{"description":"OK","schema":{"type":"object"}}},"operationId":"get-v2-admin-forms-submissions-export"}},"\/v2\/forms\/option-labels":{"get":{"summary":"Get a the labels for options","operationId":"get-v2-form-option-labels-listing","parameters":[{"name":"keys","type":"string","in":"query","description":"the option keys you want to retrieve"},{"name":"lang","type":"string","in":"query","description":"the language to use for the label translation"}],"responses":{"200":{"description":"OK","schema":{"title":"V2GenericList","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"input_type":{"type":"string"},"model_key":{"type":"string"},"option_list_key":{"type":"string"},"options":{"type":"array","items":{"type":"string"}}}}}},"tags":["Forms"]}},"\/auth\/change":{"patch":{"operationId":"patch-auth-change","summary":"Reset a user's or admin's password","tags":["Auth"],"security":[],"consumes":["application\/json"],"produces":["application\/json"],"parameters":[{"name":"Body","in":"body","required":true,"schema":{"type":"object","properties":{"token":{"type":"string"},"password":{"type":"string"}}}}],"responses":{"200":{"description":"OK","schema":{"type":"object"}}}}},"\/auth\/reset":{"post":{"operationId":"post-auth-reset","summary":"Send a password reset email to a user or admin","tags":["Auth"],"security":[],"consumes":["application\/json"],"produces":["application\/json"],"parameters":[{"name":"Body","in":"body","required":true,"schema":{"type":"object","properties":{"email_address":{"type":"string"},"callback_url":{"type":"string"}}}}],"responses":{"200":{"description":"OK","schema":{"type":"object"}}}}},"\/v2\/auth\/verify":{"patch":{"operationId":"patch-v2-auth-verify","summary":"Verify a user by token","tags":["Auth"],"consumes":["application\/json"],"produces":["application\/json"],"parameters":[{"name":"Body","in":"body","required":true,"schema":{"type":"object","properties":{"token":{"type":"string"}}}}],"responses":{"200":{"description":"OK","schema":{"type":"object"}}}}},"\/auth\/verify":{"patch":{"operationId":"patch-auth-verify","summary":"Verify the logged in user's or admin's email address","tags":["Auth"],"consumes":["application\/json"],"produces":["application\/json"],"parameters":[{"name":"Body","in":"body","required":true,"schema":{"type":"object","properties":{"token":{"type":"string"}}}}],"responses":{"200":{"description":"OK","schema":{"type":"object"}}}}},"\/v2\/users\/resend":{"post":{"operationId":"post-v2-users-resend","summary":"Send a verification email to an email, if it exists","tags":["Auth"],"produces":["application\/json"],"parameters":[{"name":"Body","in":"body","required":true,"schema":{"type":"object","properties":{"callback_url":{"type":"string"},"email_address":{"type":"string"}}}}],"responses":{"200":{"description":"OK","schema":{"type":"object"}}}}},"\/v2\/sites\/{UUID}":{"delete":{"summary":"Delete a site","operationId":"delete-v2-sites-uuid","parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}},"tags":["V2 Sites"],"description":""},"get":{"summary":"View a specific site","operationId":"get-v2-sites-uuid","tags":["V2 Sites"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"SiteLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}}}}}}}}}}},"\/v2\/sites\/{UUID}\/geometry":{"post":{"summary":"Upload bulk geometry to a specific site.","operationId":"post-v2-sites-uuid-geometry","tags":["V2 Sites"],"deprecated":true,"description":"Use POST \/api\/v2\/geometry instead (and include the site ID in the polygon properties)","parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"in":"body","name":"body","schema":{"type":"object","properties":{"geometries":{"type":"array","items":{"title":"GeoJSON","type":"object","properties":{"type":{"type":"string","enum":["FeatureCollection"]},"features":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["Feature"]},"properties":{"type":"object","properties":{"poly_name":{"type":"string"},"plantstart":{"type":"string","format":"date"},"plantend":{"type":"string","format":"date"},"practice":{"type":"string"},"target_sys":{"type":"string"},"distr":{"type":"string"},"num_trees":{"type":"number"},"site_id":{"type":"string"}}},"geometry":{"type":"object","properties":{"type":{"type":"string","enum":["Polygon","Point"]},"coordinates":{"type":"array"}}}}}}}}}}}}],"responses":{"201":{"description":"Created","schema":{"title":"SiteGeometryPost","type":"object","properties":{"polygon_uuids":{"type":"array","items":{"type":"string"},"description":"The UUIDs generated by the system for the uploaded polygons. They are in the same order as the polygons in the request payload."},"errors":{"type":"object","description":"Mapping of geometry UUID to the errors associated with the geometry. The geometry was saved in the DB and must be updated instead of created once the issues are resolved.","additionalProperties":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","enum":["OVERLAPPING_POLYGON","SELF_INTERSECTION","COORDINATE_SYSTEM","SIZE_LIMIT","WITHIN_COUNTRY","SPIKE","GEOMETRY_TYPE","TOTAL_AREA_EXPECTED","TABLE_SCHEMA","DATA_COMPLETED"]},"message":{"type":"string","description":"Human readable string in English to describe the error."}}}}}}}}}}},"\/v2\/site-monitorings\/{UUID}":{"get":{"summary":"View a specific site monitoring","operationId":"get-v2-site-monitorings-uuid","tags":["V2 Site Monitorings"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"produces":["application\/json"],"responses":{"200":{"description":"OK","schema":{"title":"V2SiteMonitoringRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"tree_count":{"type":"integer"},"tree_cover":{"type":"integer"},"field_tree_count":{"type":"integer"},"measurement_date":{"type":"string","format":"date"},"last_updated":{"type":"string","format":"date-time"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}}}}},"\/v2\/sites\/{UUID}\/monitorings":{"get":{"summary":"View all of a sites monitorings","operationId":"get-v2-sites-uuid-monitorings","tags":["V2 Sites","V2 Site Monitorings"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"name":"per_page","type":"integer","in":"query","description":"number of results (per page) to return"},{"name":"page","type":"integer","in":"query","description":"page number you want results from"}],"produces":["application\/json"],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2SiteMonitoringRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"tree_count":{"type":"integer"},"tree_cover":{"type":"integer"},"field_tree_count":{"type":"integer"},"measurement_date":{"type":"string","format":"date"},"last_updated":{"type":"string","format":"date-time"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}},"links":{"title":"V2PaginationLinks","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"title":"V2PaginationMeta","properties":{"from":{"type":"integer"},"to":{"type":"integer"},"current_page":{"type":"integer"},"last_page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"path":{"type":"string"},"links":{"type":"array","items":{"title":"V2PaginationCurrentLinks","properties":{"url":{"type":"string"},"label":{"type":"string"},"active":{"type":"boolean"}}}}}}}}}}}},"\/v2\/projects\/{UUID}\/monitorings":{"get":{"summary":"View all of a projects monitorings","operationId":"get-v2-projects-uuid-monitorings","tags":["V2 Projects","V2 Project Monitorings"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"name":"per_page","type":"integer","in":"query","description":"number of results (per page) to return"},{"name":"page","type":"integer","in":"query","description":"page number you want results from"}],"produces":["application\/json"],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2ProjectMonitoringRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"total_hectares":{"type":"integer"},"ha_mangrove":{"type":"integer"},"ha_assisted":{"type":"integer"},"ha_agroforestry":{"type":"integer"},"ha_reforestation":{"type":"integer"},"ha_peatland":{"type":"integer"},"ha_riparian":{"type":"integer"},"ha_enrichment":{"type":"integer"},"ha_nucleation":{"type":"integer"},"ha_silvopasture":{"type":"integer"},"ha_direct":{"type":"integer"},"tree_count":{"type":"integer"},"tree_cover":{"type":"integer"},"field_tree_count":{"type":"integer"},"tree_cover_loss":{"type":"integer"},"carbon_benefits":{"type":"integer"},"number_of_esrp":{"type":"integer"},"field_tree_regenerated":{"type":"integer"},"field_tree_survival_percent":{"type":"integer"},"start_date":{"type":"string","format":"date"},"end_date":{"type":"string","format":"date"},"last_updated":{"type":"string","format":"date-time"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}},"links":{"title":"V2PaginationLinks","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"title":"V2PaginationMeta","properties":{"from":{"type":"integer"},"to":{"type":"integer"},"current_page":{"type":"integer"},"last_page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"path":{"type":"string"},"links":{"type":"array","items":{"title":"V2PaginationCurrentLinks","properties":{"url":{"type":"string"},"label":{"type":"string"},"active":{"type":"boolean"}}}}}}}}}}}},"\/v2\/projects\/{UUID}\/invite":{"post":{"summary":"Invite a user to a project","operationId":"post-v2-projects-uuid-invite","tags":["V2 Project Invite"],"consumes":["application\/json"],"produces":["application\/json"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"in":"body","name":"body","schema":{"title":"V2ProjectInviteCreate","type":"object","properties":{"email_address":{"type":"string"}}}}],"responses":{"201":{"description":"OK","schema":{"title":"V2ProjectInviteRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"project_id":{"type":"integer"},"email_address":{"type":"string"},"accepted_at":{"type":"string","format":"datetime"},"created_at":{"type":"string","format":"datetime"}}}}}}},"\/v2\/projects\/invite\/accept":{"post":{"summary":"Accept a user invitation to a project","operationId":"get-v2-projects-invite-accept","tags":["V2 Project Invite"],"produces":["application\/json"],"parameters":[{"in":"body","name":"body","schema":{"type":"object","properties":{"token":{"type":"string"}},"required":["token"]}}],"responses":{"201":{"description":"OK","schema":{"title":"V2ProjectInviteRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"project_id":{"type":"integer"},"email_address":{"type":"string"},"accepted_at":{"type":"string","format":"datetime"},"created_at":{"type":"string","format":"datetime"}}}}}}},"\/v2\/nurseries\/{UUID}":{"delete":{"summary":"Delete a nursery","operationId":"delete-v2-nurseries-uuid","parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}},"tags":["V2 Nurseries"],"description":""}},"\/v2\/admin\/audits\/{ENTITY}\/{UUID}":{"get":{"operationId":"get-v2-admin-audits-entity-uuid","summary":"List all audits for an specific entity","tags":["V2 Projects","V2 Sites","V2 Nurseries","V2 Project Reports","V2 Site Reports","V2 Nursery Reports"],"parameters":[{"type":"string","name":"ENTITY","in":"path","required":true,"description":"allowed values project\/site\/nursery\/project-reports\/site-reports\/nursery-reports"},{"type":"string","name":"UUID","in":"path","required":true},{"name":"per_page","type":"integer","in":"query","description":"number of results (per page) to return"},{"name":"page","type":"integer","in":"query","description":"page number you want results from"}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2InvasiveRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"type":{"type":"integer"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"},"unfiltered_total":{"type":"integer"}}}}}}}}},"\/v2\/admin\/{ENTITY}\/export\/{FRAMEWORK}":{"get":{"operationId":"get-v2-admin-entity-export-framework.yml","summary":"Export entities data","tags":["V2 Projects","V2 Sites","V2 Nurseries","V2 Project Reports","V2 Site Reports","V2 Nursery Reports","Exports"],"parameters":[{"type":"string","name":"ENTITY","in":"path","required":true,"description":"allowed values projects\/sites\/nurseries\/project-reports\/site-reports\/nursery-reports"},{"type":"string","name":"FRAMEWORK","in":"path","required":true,"description":"allowed values terrafund\/ppc"}],"responses":{"200":{"description":"OK","schema":{"type":"file"}}}}},"\/v2\/projects\/{UUID}\/{ENTITY}\/export":{"get":{"operationId":"get-v2-projects-uuid-entity-export.yml","summary":"Export entities data as Project Developer","tags":["V2 Sites","V2 Nurseries","Exports"],"parameters":[{"type":"string","name":"ENTITY","in":"path","required":true,"description":"allowed values sites|nurseries|project-reports"},{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"file"}}}}},"\/v2\/{ENTITY}\/{UUID}\/export":{"get":{"operationId":"get-v2-entity-export-uuid.yml","summary":"Export report data as Project Developer","tags":["V2 Project Reports","V2 Site Reports","V2 Nursery Reports","V2 Projects","V2 Sites","V2 Nurseries","Exports"],"parameters":[{"type":"string","name":"ENTITY","in":"path","required":true,"description":"allowed values sites|nurseries|projects|project-reports\/site-reports\/nursery-reports"},{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"file"}}}}},"\/v2\/terrafund\/validation\/polygon":{"get":{"summary":"Get validation results for a polygon","parameters":[{"in":"query","name":"uuid","required":true,"description":"The UUID of the polygon","type":"string"}],"responses":{"200":{"description":"Successful response","schema":{"type":"object","properties":{"polygon_id":{"type":"string","description":"The ID of the polygon"},"criteria_list":{"type":"array","description":"List of validation criteria","items":{"type":"object","properties":{"criteria_id":{"type":"integer","description":"The ID of the criteria"},"latest_created_at":{"type":"string","format":"date-time","description":"The latest created at timestamp of the criteria"},"valid":{"type":"integer","description":"Indicates if the criteria is valid or not (1 for valid, 0 for invalid)"}}}}}}}}}},"\/v2\/terrafund\/validation\/criteria-data":{"get":{"summary":"Get criteria data validation results for a polygon","parameters":[{"in":"query","name":"uuid","required":true,"description":"The UUID of the polygon","type":"string"}],"responses":{"200":{"description":"Successful response","schema":{"type":"object","properties":{"polygon_id":{"type":"string","description":"The ID of the polygon"},"criteria_list":{"type":"array","description":"List of validation criteria","items":{"type":"object","properties":{"criteria_id":{"type":"integer","description":"The ID of the criteria"},"latest_created_at":{"type":"string","format":"date-time","description":"The latest created at timestamp of the criteria"},"valid":{"type":"integer","description":"Indicates if the criteria is valid or not (1 for valid, 0 for invalid)"}}}}}}}}}},"\/v2\/terrafund\/validation\/sitePolygons":{"get":{"summary":"Run validation for all polygons in a site","parameters":[{"in":"query","name":"uuid","required":true,"description":"The UUID of the polygon","type":"string"}],"responses":{"200":{"description":"Successful response","schema":{"type":"object","properties":{"message":{"type":"string","description":"A message indicating the completion of validation for all site polygons."}}}}}}},"\/v2\/terrafund\/validation\/site":{"get":{"summary":"Get criteria data validation results for all polygons in a site","parameters":[{"in":"query","name":"uuid","required":true,"description":"The UUID of the polygon","type":"string"}],"responses":{"200":{"description":"Successful response","schema":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","description":"The UUID of the polygon."},"valid":{"type":"boolean","description":"Indicates if the polygon is valid or not."},"checked":{"type":"boolean","description":"Indicates if the polygon has been checked before or not."}}}}}}}},"\/v2\/geometry\/validate":{"post":{"summary":"Test a set of geometries for validity","operationId":"post-v2-geometry-validate","tags":["V2 Geometry"],"parameters":[{"in":"body","name":"body","schema":{"type":"object","properties":{"geometries":{"type":"array","items":{"title":"GeoJSON","type":"object","properties":{"type":{"type":"string","enum":["FeatureCollection"]},"features":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["Feature"]},"properties":{"type":"object","properties":{"poly_name":{"type":"string"},"plantstart":{"type":"string","format":"date"},"plantend":{"type":"string","format":"date"},"practice":{"type":"string"},"target_sys":{"type":"string"},"distr":{"type":"string"},"num_trees":{"type":"number"},"site_id":{"type":"string"}}},"geometry":{"type":"object","properties":{"type":{"type":"string","enum":["Polygon","Point"]},"coordinates":{"type":"array"}}}}}}}}}}}}],"responses":{"200":{"description":"OK: No validation errors occurred with the supplied geometries","schema":{"type":"object","properties":{"errors":{"type":"array","items":null,"description":"An empty array on the OK response is included for ease of parsing on the client side."}}}},"422":{"description":"One or more errors was found with the supplied geometries","schema":{"type":"object","properties":{"errors":{"type":"array","description":"This array is ordered in the same order as the original geometries. If a given geometry had no errors, an empty array is included in its spot.","items":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","enum":["SELF_INTERSECTION","COORDINATE_SYSTEM","SIZE_LIMIT","SPIKE","GEOMETRY_TYPE","TABLE_SCHEMA","DATA_COMPLETED"]},"message":{"type":"string","description":"Human readable string in English to describe the error."},"field":{"type":"string","description":"A path string indicating where the error occurred."}}}}}}}}}}},"\/v2\/geometry":{"post":{"summary":"Upload bulk geometry","operationId":"post-v2-geometry","tags":["V2 Geometry"],"description":"Takes an array of geometries and adds them to the sites indicated. For each geometry, it may either be a \nsingle Polygon (in which case the site_id is required), or it may be a FeatureCollection of Points. If a geometry\nis a collection of points, then the site_id must be present on at least one of the points. If it is present on\nmultiple points, all points within a given collection must have the same site_id. \n\nFor additional properties (plantstart, num_trees, etc) on Point geometries, if the properties are present on \nmultiple Points, the first non-null value for each is used.\n","parameters":[{"in":"body","name":"body","schema":{"type":"object","properties":{"geometries":{"type":"array","items":{"title":"GeoJSON","type":"object","properties":{"type":{"type":"string","enum":["FeatureCollection"]},"features":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["Feature"]},"properties":{"type":"object","properties":{"poly_name":{"type":"string"},"plantstart":{"type":"string","format":"date"},"plantend":{"type":"string","format":"date"},"practice":{"type":"string"},"target_sys":{"type":"string"},"distr":{"type":"string"},"num_trees":{"type":"number"},"site_id":{"type":"string"}}},"geometry":{"type":"object","properties":{"type":{"type":"string","enum":["Polygon","Point"]},"coordinates":{"type":"array"}}}}}}}}}}}}],"responses":{"201":{"description":"Created","schema":{"title":"SiteGeometryPost","type":"object","properties":{"polygon_uuids":{"type":"array","items":{"type":"string"},"description":"The UUIDs generated by the system for the uploaded polygons. They are in the same order as the polygons in the request payload."},"errors":{"type":"object","description":"Mapping of geometry UUID to the errors associated with the geometry. The geometry was saved in the DB and must be updated instead of created once the issues are resolved.","additionalProperties":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","enum":["OVERLAPPING_POLYGON","SELF_INTERSECTION","COORDINATE_SYSTEM","SIZE_LIMIT","WITHIN_COUNTRY","SPIKE","GEOMETRY_TYPE","TOTAL_AREA_EXPECTED","TABLE_SCHEMA","DATA_COMPLETED"]},"message":{"type":"string","description":"Human readable string in English to describe the error."}}}}}}}}}},"delete":{"summary":"Bulk delete geometries","operationId":"delete-v2-geometry","tags":["V2 Geometry"],"parameters":[{"type":"array","name":"uuids[]","in":"query","required":true,"items":{"type":"string"}}],"responses":{"200":{"description":"OK"},"403":{"description":"This account does not have permission to delete some of the geometries. Nothing was deleted."},"404":{"description":"Some of the UUIDs were not found. Nothing was deleted"}}}},"\/v2\/geometry\/{UUID}":{"put":{"summary":"Update a geometry","operationId":"put-v2-geometry","tags":["V2 Geometry"],"parameters":[{"in":"path","type":"string","name":"UUID","required":true},{"in":"body","name":"body","schema":{"type":"object","properties":{"geometry":{"title":"GeoJSON","type":"object","properties":{"type":{"type":"string","enum":["FeatureCollection"]},"features":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["Feature"]},"properties":{"type":"object","properties":{"poly_name":{"type":"string"},"plantstart":{"type":"string","format":"date"},"plantend":{"type":"string","format":"date"},"practice":{"type":"string"},"target_sys":{"type":"string"},"distr":{"type":"string"},"num_trees":{"type":"number"},"site_id":{"type":"string"}}},"geometry":{"type":"object","properties":{"type":{"type":"string","enum":["Polygon","Point"]},"coordinates":{"type":"array"}}}}}}}}}}}],"responses":{"200":{"description":"OK: Update was applied.","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","enum":["OVERLAPPING_POLYGON","SELF_INTERSECTION","COORDINATE_SYSTEM","SIZE_LIMIT","WITHIN_COUNTRY","SPIKE","GEOMETRY_TYPE","TOTAL_AREA_EXPECTED","TABLE_SCHEMA","DATA_COMPLETED"]},"message":{"type":"string","description":"Human readable string in English to describe the error."}}}}}}},"403":{"description":"This account does not have permission to update the polygon."},"404":{"description":"Geometry was not found."}}}},"\/v2\/sites\/{site}\/polygon":{"get":{"summary":"Get polygons for a specific site","parameters":[{"in":"path","name":"site","required":true,"type":"string","description":"The ID of the site"}],"responses":{"200":{"description":"Successful response","schema":{"title":"SitePolygonsDataResponse","type":"array","items":{"title":"SitePolygon","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"project_id":{"type":"string"},"proj_name":{"type":"string"},"org_name":{"type":"string"},"poly_id":{"type":"string"},"poly_name":{"type":"string"},"site_id":{"type":"string"},"site_name":{"type":"string"},"plantstart":{"type":"string","format":"date"},"plantend":{"type":"string","format":"date"},"practice":{"type":"string"},"target_sys":{"type":"string"},"distr":{"type":"string"},"num_trees":{"type":"integer"},"calc_area":{"type":"number","format":"float"},"created_by":{"type":"string"},"last_modified_by":{"type":"string"},"deleted_at":{"type":"string","format":"date-time"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"status":{"type":"string"},"country":{"type":"string"}}}}},"400":{"description":"Bad request"},"500":{"description":"Internal server error"}}}},"\/v2\/sites\/{site}\/bbox":{"get":{"summary":"Get bbox for a specific site","parameters":[{"in":"path","name":"site","required":true,"type":"string","description":"The ID of the site"}],"responses":{"200":{"description":"Successful response","schema":{"title":"SitePolygonsBboxResponse","type":"object","properties":{"bbox":{"type":"array","items":{"type":"number"}}}}},"400":{"description":"Bad request"},"500":{"description":"Internal server error"}}}},"\/v2\/terrafund\/site-polygon\/{uuid}\/{siteUuid}":{"post":{"summary":"Create site polygon","parameters":[{"in":"path","name":"uuid","required":true,"type":"string","description":"The UUID of the polygon related"},{"in":"path","name":"siteUuid","required":true,"type":"string","description":"The UUID of the site"},{"in":"body","name":"body","required":true,"schema":{"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"poly_name":{"type":"string"},"plantstart":{"type":"string","format":"date"},"plantend":{"type":"string","format":"date"},"practice":{"type":"string"},"target_sys":{"type":"string"},"distr":{"type":"string"},"num_trees":{"type":"integer"},"calc_area":{"type":"number","format":"float"},"status":{"type":"string"}}}}],"responses":{"201":{"description":"Successful response","schema":{"type":"object","properties":{"message":{"type":"string","example":"Site polygon created successfully"},"uuid":{"type":"string","description":"UUID of the created site polygon"},"area":{"type":"number","format":"double","description":"Calculated area in hectares"}}}},"400":{"description":"Bad request"},"500":{"description":"Internal server error"}}}},"\/v2\/terrafund\/polygon\/bbox\/{uuid}":{"get":{"summary":"Get bbox for a polygon","parameters":[{"in":"path","name":"uuid","required":true,"type":"string","description":"The UUID of the polygon"}],"responses":{"200":{"description":"Successful response","schema":{"title":"SitePolygonsBboxResponse","type":"object","properties":{"bbox":{"type":"array","items":{"type":"number"}}}}},"400":{"description":"Bad request"},"500":{"description":"Internal server error"}}}},"\/v2\/terrafund\/geojson\/complete":{"get":{"summary":"Get Polygon as GeoJSON","description":"Retrieve polygon geometry and properties as GeoJSON.","parameters":[{"in":"query","name":"uuid","type":"string","required":true,"description":"UUID of the polygon geometry."}],"responses":{"200":{"description":"Successful response","schema":{"type":"object","properties":{"type":{"type":"string"},"features":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"geometry":{"type":"object","properties":{"type":{"type":"string"},"coordinates":{"type":"array"}}},"properties":{"type":"object","properties":{"poly_name":{"type":"string"},"plantstart":{"type":"string"},"plantend":{"type":"string"},"practice":{"type":"string"},"target_sys":{"type":"string"},"distr":{"type":"string"},"num_trees":{"type":"integer"}}}}}}}}},"400":{"description":"Bad request"},"500":{"description":"Internal server error"}}}},"\/v2\/terrafund\/polygon\/{uuid}":{"get":{"summary":"Get Site Polygon Data","description":"Retrieve site polygon data for the given UUID.","parameters":[{"in":"path","name":"uuid","type":"string","required":true,"schema":{"type":"string"},"description":"The UUID of the site polygon."}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"type":"object","properties":{"site_polygon":{"type":"object","properties":{"calc_area":{"type":"number"},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string","nullable":true},"deleted_at":{"type":"string","format":"date-time","nullable":true},"distr":{"type":"string","nullable":true},"id":{"type":"integer"},"last_modified_by":{"type":"string","nullable":true},"num_trees":{"type":"integer","nullable":true},"plantend":{"type":"string","format":"date","nullable":true},"plantstart":{"type":"string","format":"date"},"point_id":{"type":"string","nullable":true},"poly_id":{"type":"string"},"poly_name":{"type":"string"},"practice":{"type":"string","nullable":true},"site_id":{"type":"string","nullable":true},"status":{"type":"string"},"target_sys":{"type":"string","nullable":true},"updated_at":{"type":"string","format":"date-time"},"uuid":{"type":"string"}}}}}}}},"404":{"description":"No site polygons found for the given UUID","content":{"application\/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"No site polygons found for the given UUID."}}}}}},"500":{"description":"Internal server error","content":{"application\/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"An error message describing the issue."}}}}}}}},"put":{"summary":"Update geometry for a polygon","parameters":[{"in":"path","name":"uuid","required":true,"type":"string","description":"The UUID of the polygon geometry to update"},{"in":"body","name":"geometry","required":true,"schema":{"type":"object","properties":{"geometry":{"type":"string"}}},"description":"The new geometry data"}],"responses":{"200":{"description":"Geometry updated successfully","content":{"application\/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Geometry updated successfully."},"geometry":{"type":"object","description":"The updated geometry data"},"uuid":{"type":"string"}}}}}},"404":{"description":"No polygon geometry found for the given UUID","content":{"application\/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"No polygon geometry found for the given UUID."}}}}}},"500":{"description":"An error occurred","content":{"application\/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Internal Server Error"}}}}}}}},"delete":{"summary":"Delete polygon records","parameters":[{"in":"path","name":"uuid","required":true,"type":"string","description":"The UUID of the polygon geometry to delete"}],"responses":{"204":{"description":"No Content"}}}},"\/v2\/dashboard\/jobs-created":{"get":{"summary":"view Jobs created for dashboard","parameters":[{"in":"query","name":"country","type":"string","description":"Optional. Filter counts and metrics by country."},{"in":"query","name":"uuid","type":"string","description":"Optional. Filter counts and metrics by UUID."}],"responses":{"200":{"description":"Successful response","schema":{"type":"object","properties":{"data":{"type":"object","properties":{"totalJobsCreated":{"type":"integer"},"forProfitJobsCreated":{"type":"integer"},"nonProfitJobsCreated":{"type":"integer"},"total_ft":{"type":"integer"},"total_pt":{"type":"integer"},"total_men":{"type":"integer"},"total_pt_men":{"type":"integer"},"total_ft_men":{"type":"integer"},"total_women":{"type":"integer"},"total_pt_women":{"type":"integer"},"total_ft_women":{"type":"integer"},"total_youth":{"type":"integer"},"total_pt_youth":{"type":"integer"},"total_ft_youth":{"type":"integer"},"total_non_youth":{"type":"integer"},"total_pt_non_youth":{"type":"integer"},"total_ft_non_youth":{"type":"integer"}}}}}},"400":{"description":"Bad request"},"500":{"description":"Internal server error"}}}},"\/v2\/dashboard\/restoration-strategy":{"get":{"summary":"View Restoration Strategy for dashboard","parameters":[{"in":"query","name":"country","type":"string","description":"Optional. Filter restoration strategy by country."},{"in":"query","name":"uuid","type":"string","description":"Optional. Filter restoration strategy by UUID."}],"responses":{"200":{"description":"Successful response","schema":{"type":"object","properties":{"restorationStrategies":{"type":"object","properties":{"direct-seeding":{"type":"integer"},"tree-planting":{"type":"integer"},"assisted-natural-regeneration":{"type":"integer"}}},"landUseTypes":{"type":"object","properties":{"agroforest":{"type":"integer"},"open-natural-ecosystem":{"type":"integer"},"mangrove":{"type":"integer"},"natural-forest":{"type":"integer"},"peatland":{"type":"integer"},"riparian-area-or-wetland":{"type":"integer"},"silvopasture":{"type":"integer"},"urban-forest":{"type":"integer"},"woodlot-or-plantation":{"type":"integer"}}},"landTenures":{"type":"object","properties":{"communal":{"type":"integer"},"indigenous":{"type":"integer"},"national_protected_area":{"type":"integer"},"other":{"type":"integer"},"private":{"type":"integer"},"public":{"type":"integer"}}}}}},"400":{"description":"Bad request"},"500":{"description":"Internal server error"}}}},"\/v2\/dashboard\/tree-restoration-goal":{"get":{"summary":"View Tree Restoration Goal for dashboard","parameters":[{"in":"query","name":"country","type":"string","description":"Optional. Filter tree restoration goal by country."},{"in":"query","name":"uuid","type":"string","description":"Optional. Filter tree restoration goal by UUID."}],"responses":{"200":{"description":"Successful response","schema":{"type":"object","properties":{"forProfitTreeCount":{"type":"integer"},"nonProfitTreeCount":{"type":"integer"},"totalTreesGrownGoal":{"type":"integer"},"treesUnderRestorationActualTotal":{"type":"array","items":{"type":"object","properties":{"dueDate":{"type":"string","format":"date"},"treeSpeciesAmount":{"type":"integer"},"treeSpeciesPercentage":{"type":"number"}}}},"treesUnderRestorationActualForProfit":{"type":"array","items":{"type":"object","properties":{"dueDate":{"type":"string","format":"date"},"treeSpeciesAmount":{"type":"integer"},"treeSpeciesPercentage":{"type":"number"}}}},"treesUnderRestorationActualNonProfit":{"type":"array","items":{"type":"object","properties":{"dueDate":{"type":"string","format":"date"},"treeSpeciesAmount":{"type":"integer"},"treeSpeciesPercentage":{"type":"number"}}}},"averageSurvivalRateTotal":{"type":"number"},"averageSurvivalRateForProfit":{"type":"number"},"averageSurvivalRateNonProfit":{"type":"number"}}}},"400":{"description":"Bad request"},"500":{"description":"Internal server error"}}}},"\/v2\/dashboard\/project-list-export":{"get":{"summary":"Export CSV document of active projects","tags":["Export"],"produces":["text\/plain"],"responses":{"200":{"description":"OK","schema":{"type":"file"}}}}},"\/v2\/dashboard\/get-polygons":{"get":{"summary":"Retrieve all polygons.","description":"This endpoint returns all polygons by project uuid.\n","parameters":[{"in":"query","name":"uuid","type":"string","description":"uuid for the given project"}],"responses":{"200":{"description":"Successful response","schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"lat":{"type":"number","format":"double"},"long":{"type":"number","format":"double"}}}}}}},"400":{"description":"Bad request"},"500":{"description":"Internal server error"}}}},"\/v2\/dashboard\/get-polygons\/statuses":{"get":{"summary":"Retrieve all polygons.","description":"This endpoint returns all polygons by project uuid.\n","parameters":[{"in":"query","name":"uuid","type":"string","description":"uuid for the given project"}],"responses":{"200":{"description":"Successful response","schema":{"properties":{"data":{"type":"array","properties":{"NeedsMoreInfo":{"type":"array","description":"Ids of polygons that need more information"},"Submitted":{"type":"array","description":"Ids of submitted polygons"},"Approved":{"type":"array","description":"Ids of approved polygons"}}}}}},"400":{"description":"Bad request"},"500":{"description":"Internal server error"}}}},"\/v2\/dashboard\/get-bbox-project":{"get":{"summary":"Get Bbox of all polygons of project","tags":["Projects"],"parameters":[{"in":"query","name":"uuid","type":"string","description":"UUID of the project","required":true}],"responses":{"200":{"description":"Successful response","schema":{"type":"object","properties":{"bbox":{"type":"array","items":{"type":"number"}}}}},"404":{"description":"Project not found"}}}},"\/v2\/dashboard\/bbox\/project":{"get":{"summary":"Get Bbox of all polygons of project","tags":["Projects"],"parameters":[{"in":"query","name":"uuid","type":"string","description":"UUID of the project","required":true}],"responses":{"200":{"description":"Successful response","schema":{"type":"object","properties":{"bbox":{"type":"array","items":{"type":"number"}}}}},"404":{"description":"Project not found"}}}},"\/v2\/dashboard\/country\/{country}":{"get":{"summary":"Get the bounding box of a country","tags":["Country"],"parameters":[{"in":"path","name":"country","type":"string","description":"ISO code of the country","required":true}],"responses":{"200":{"description":"Successful response","schema":{"type":"object","properties":{"bbox":{"type":"array","items":{"type":"number"}}}}},"404":{"description":"Country not found"}}}},"\/v2\/dashboard\/polygon-data\/{uuid}":{"get":{"summary":"Get Get allowed to project","tags":["Get allowed to project"],"parameters":[{"in":"path","name":"uuid","type":"string","description":"UUID of the polygon","required":true}],"responses":{"200":{"description":"Successful response","schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Title of the data field"},"value":{"type":"string","description":"Value of the data field"},"key":{"type":"string","description":"Key of the data field"}}}}}}},"404":{"description":"Polygon not found"}}}},"\/v2\/dashboard\/project-data\/{uuid}":{"get":{"summary":"Get project point data by UUID","tags":["Project point data by UUID"],"parameters":[{"in":"path","name":"uuid","type":"string","description":"UUID of the project point","required":true}],"responses":{"200":{"description":"Successful response","schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Title of the data field"},"value":{"type":"string","description":"Value of the data field"},"key":{"type":"string","description":"Key of the data field"}}}}}}},"500":{"description":"Error in queries"}}}},"\/v2\/type-entity":{"get":{"summary":"Get Entity Type","description":"Determine the type of entity based on UUID.\n","parameters":[{"in":"query","name":"uuid","required":true,"description":"UUID of the entity","type":"string"},{"in":"query","name":"type","required":true,"description":"type of the entity","type":"string"},{"in":"query","name":"status","required":false,"description":"Comma-separated list of status values to filter by","type":"string"},{"in":"query","name":"sort","required":false,"description":"Sort criteria in the format `sort[field]=direction`, e.g. `sort[poly_name]=asc or sort[status]=desc`","type":"string"}],"responses":{"200":{"description":"Successful response","schema":{"type":"object","properties":{"type":{"type":"string","description":"Type of the entity ('project', 'site', 'unknown')"},"uuid":{"type":"string","format":"uuid","description":"UUID of the entity"},"polygonsData":{"type":"array","items":{"title":"SitePolygon","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"project_id":{"type":"string"},"proj_name":{"type":"string"},"org_name":{"type":"string"},"poly_id":{"type":"string"},"poly_name":{"type":"string"},"site_id":{"type":"string"},"site_name":{"type":"string"},"plantstart":{"type":"string","format":"date"},"plantend":{"type":"string","format":"date"},"practice":{"type":"string"},"target_sys":{"type":"string"},"distr":{"type":"string"},"num_trees":{"type":"integer"},"calc_area":{"type":"number","format":"float"},"created_by":{"type":"string"},"last_modified_by":{"type":"string"},"deleted_at":{"type":"string","format":"date-time"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"status":{"type":"string"},"country":{"type":"string"}}}},"bbox":{"type":"array","items":{"type":"number"},"description":"Bounding box of the entity"}}}},"400":{"description":"Bad request, UUID parameter is missing"},"500":{"description":"Internal server error","schema":{"type":"object","properties":{"error":{"type":"string","description":"Error message"}}}}}}}}} \ No newline at end of file From bd147ecfe8f6dbe4909ad9002fd6eeaa074c6fa2 Mon Sep 17 00:00:00 2001 From: JORGE Date: Fri, 7 Jun 2024 11:13:02 -0400 Subject: [PATCH 070/164] [TM-866] Fix endpoints for php lint --- .../get-api-v2-terrafund-polygon-uuid.yml | 38 ++- .../get-v2-terrafund-polygon-geojson-uuid.yml | 22 +- .../put-v2-terrafund-polygon-uuid.yml | 50 ++-- resources/docs/swagger-v2.yml | 224 ++++++++---------- swagger-v2.json | 1 - 5 files changed, 147 insertions(+), 188 deletions(-) delete mode 100644 swagger-v2.json diff --git a/openapi-src/V2/paths/Terrafund/get-api-v2-terrafund-polygon-uuid.yml b/openapi-src/V2/paths/Terrafund/get-api-v2-terrafund-polygon-uuid.yml index 105c476ce..6e8169201 100644 --- a/openapi-src/V2/paths/Terrafund/get-api-v2-terrafund-polygon-uuid.yml +++ b/openapi-src/V2/paths/Terrafund/get-api-v2-terrafund-polygon-uuid.yml @@ -6,17 +6,13 @@ parameters: name: uuid type: string required: true - schema: - type: string description: The UUID of the site polygon. responses: '200': description: Successful response - content: - application/json: - schema: - type: object - properties: + schema: + type: object + properties: site_polygon: type: object properties: @@ -75,21 +71,17 @@ responses: type: string '404': description: No site polygons found for the given UUID - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: No site polygons found for the given UUID. + schema: + type: object + properties: + message: + type: string + example: No site polygons found for the given UUID. '500': description: Internal server error - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: An error message describing the issue. \ No newline at end of file + schema: + type: object + properties: + message: + type: string + example: An error message describing the issue. \ No newline at end of file diff --git a/openapi-src/V2/paths/Terrafund/get-v2-terrafund-polygon-geojson-uuid.yml b/openapi-src/V2/paths/Terrafund/get-v2-terrafund-polygon-geojson-uuid.yml index d082e4c7f..e2aa24b53 100644 --- a/openapi-src/V2/paths/Terrafund/get-v2-terrafund-polygon-geojson-uuid.yml +++ b/openapi-src/V2/paths/Terrafund/get-v2-terrafund-polygon-geojson-uuid.yml @@ -7,22 +7,16 @@ parameters: type: string required: true description: The UUID of the polygon geometry to retrieve. - schema: - type: string responses: '200': description: OK - content: - application/json: - schema: - $ref: '../../definitions/_index.yml#/GeojsonData' + schema: + $ref: '../../definitions/_index.yml#/GeojsonData' '404': description: Not Found - content: - application/json: - schema: - type: object - properties: - message: - type: string - description: Error message indicating that no polygon geometry was found for the provided UUID. \ No newline at end of file + schema: + type: object + properties: + message: + type: string + description: Error message indicating that no polygon geometry was found for the provided UUID. \ No newline at end of file diff --git a/openapi-src/V2/paths/Terrafund/put-v2-terrafund-polygon-uuid.yml b/openapi-src/V2/paths/Terrafund/put-v2-terrafund-polygon-uuid.yml index 1198643fc..93a85b717 100644 --- a/openapi-src/V2/paths/Terrafund/put-v2-terrafund-polygon-uuid.yml +++ b/openapi-src/V2/paths/Terrafund/put-v2-terrafund-polygon-uuid.yml @@ -14,36 +14,30 @@ parameters: responses: '200': description: Geometry updated successfully - content: - application/json: - schema: + schema: + type: object + properties: + message: + type: string + example: Geometry updated successfully. + geometry: type: object - properties: - message: - type: string - example: Geometry updated successfully. - geometry: - type: object - description: The updated geometry data - uuid: - type: string + description: The updated geometry data + uuid: + type: string '404': description: No polygon geometry found for the given UUID - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: No polygon geometry found for the given UUID. + schema: + type: object + properties: + message: + type: string + example: No polygon geometry found for the given UUID. '500': description: An error occurred - content: - application/json: - schema: - type: object - properties: - error: - type: string - example: Internal Server Error \ No newline at end of file + schema: + type: object + properties: + error: + type: string + example: Internal Server Error \ No newline at end of file diff --git a/resources/docs/swagger-v2.yml b/resources/docs/swagger-v2.yml index 3a9325e5d..9aa564506 100644 --- a/resources/docs/swagger-v2.yml +++ b/resources/docs/swagger-v2.yml @@ -94976,93 +94976,85 @@ paths: name: uuid type: string required: true - schema: - type: string description: The UUID of the site polygon. responses: '200': description: Successful response - content: - application/json: - schema: + schema: + type: object + properties: + site_polygon: type: object properties: - site_polygon: - type: object - properties: - calc_area: - type: number - created_at: - type: string - format: date-time - created_by: - type: string - nullable: true - deleted_at: - type: string - format: date-time - nullable: true - distr: - type: string - nullable: true - id: - type: integer - last_modified_by: - type: string - nullable: true - num_trees: - type: integer - nullable: true - plantend: - type: string - format: date - nullable: true - plantstart: - type: string - format: date - point_id: - type: string - nullable: true - poly_id: - type: string - poly_name: - type: string - practice: - type: string - nullable: true - site_id: - type: string - nullable: true - status: - type: string - target_sys: - type: string - nullable: true - updated_at: - type: string - format: date-time - uuid: - type: string + calc_area: + type: number + created_at: + type: string + format: date-time + created_by: + type: string + nullable: true + deleted_at: + type: string + format: date-time + nullable: true + distr: + type: string + nullable: true + id: + type: integer + last_modified_by: + type: string + nullable: true + num_trees: + type: integer + nullable: true + plantend: + type: string + format: date + nullable: true + plantstart: + type: string + format: date + point_id: + type: string + nullable: true + poly_id: + type: string + poly_name: + type: string + practice: + type: string + nullable: true + site_id: + type: string + nullable: true + status: + type: string + target_sys: + type: string + nullable: true + updated_at: + type: string + format: date-time + uuid: + type: string '404': description: No site polygons found for the given UUID - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: No site polygons found for the given UUID. + schema: + type: object + properties: + message: + type: string + example: No site polygons found for the given UUID. '500': description: Internal server error - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: An error message describing the issue. + schema: + type: object + properties: + message: + type: string + example: An error message describing the issue. put: summary: Update geometry for a polygon parameters: @@ -95083,39 +95075,33 @@ paths: responses: '200': description: Geometry updated successfully - content: - application/json: - schema: + schema: + type: object + properties: + message: + type: string + example: Geometry updated successfully. + geometry: type: object - properties: - message: - type: string - example: Geometry updated successfully. - geometry: - type: object - description: The updated geometry data - uuid: - type: string + description: The updated geometry data + uuid: + type: string '404': description: No polygon geometry found for the given UUID - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: No polygon geometry found for the given UUID. + schema: + type: object + properties: + message: + type: string + example: No polygon geometry found for the given UUID. '500': description: An error occurred - content: - application/json: - schema: - type: object - properties: - error: - type: string - example: Internal Server Error + schema: + type: object + properties: + error: + type: string + example: Internal Server Error delete: summary: Delete polygon records parameters: @@ -95547,29 +95533,23 @@ paths: type: string required: true description: The UUID of the polygon geometry to retrieve. - schema: - type: string responses: '200': description: OK - content: - application/json: - schema: + schema: + type: object + properties: + geojson: type: object - properties: - geojson: - type: object - description: The GeoJSON representation of the polygon geometry. + description: The GeoJSON representation of the polygon geometry. '404': description: Not Found - content: - application/json: - schema: - type: object - properties: - message: - type: string - description: Error message indicating that no polygon geometry was found for the provided UUID. + schema: + type: object + properties: + message: + type: string + description: Error message indicating that no polygon geometry was found for the provided UUID. /v2/type-entity: get: summary: Get Entity Type diff --git a/swagger-v2.json b/swagger-v2.json deleted file mode 100644 index a55324811..000000000 --- a/swagger-v2.json +++ /dev/null @@ -1 +0,0 @@ -{"swagger":"2.0","info":{"title":"WRI Restoration Marketplace API","description":"WRI Restoration Marketplace API","version":"1.0.0"},"host":"127.0.0.1:8080","basePath":"\/api","schemes":["http"],"securityDefinitions":{"BearerAuth":{"type":"apiKey","in":"header","name":"Authorization"}},"security":[{"BearerAuth":[]}],"tags":[{"name":"Export"},{"name":"Forms"},{"name":"Files"},{"name":"Funding Programmes"},{"name":"Stages"},{"name":"V2 Admin"},{"name":"V2 Application"},{"name":"V2 Disturbance"},{"name":"V2 Geometry"},{"name":"V2 Invasive"},{"name":"V2 Project Developer"},{"name":"V2 Projects"},{"name":"V2 Nurseries"},{"name":"V2 Nursery Reports"},{"name":"V2 Organisations"},{"name":"V2 Project Reports"},{"name":"V2 Sites"},{"name":"V2 Site Reports"},{"name":"V2 Strata"},{"name":"V2 Tasks"},{"name":"V2 Users"},{"name":"V2 Workdays"}],"definitions":{"TreeSpeciesPaginated":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"},"unfiltered_total":{"type":"integer"}}}}},"TreeSpeciesRead":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}},"TreeSpeciesReadAll":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"MonitoringUserRead":{"type":"object","properties":{"uuid":{"type":"string"},"user_type":{"type":"string"},"job_role":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"status":{"type":"string","description":"allowed values Pending|Accepted"}}},"EntityFormCreate":{"title":"EntityFormCreate","type":"object","properties":{"parent_entity":{"type":"string","description":"allowed values projects\/sites\/nurseries\/project-reports\/site-reports\/nursery-reports"},"parent_uuid":{"type":"string"},"form_uuid":{"type":"string"}}},"EntityFormUpdate":{"title":"EntityFormCreate","type":"object","properties":{"name":{"type":"string"},"status":{"type":"string"},"answers":{"type":"object"}}},"EntityFormRead":{"title":"EntityFormRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"form":{"type":"object"},"answers":{"type":"object"},"form_title":{"type":"string"},"feedback":{"type":"string"},"feedback_fields":{"type":"array","items":{"type":"string"}},"update_request":{"title":"UpdateRequestRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"content":{"type":"string"},"feedback":{"type":"string"},"feedback_fields":{"type":"array","items":{"type":"string"}},"project":{"type":"object"},"organisation":{"type":"object"},"created_by":{"type":"object"}}}}},"UserRead":{"type":"object","properties":{"id":{"type":"integer"},"organisation_id":{"type":"integer"},"organisation_name":{"type":"string"},"my_organisation":{"title":"AdminOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"my_monitoring_organisations":{"type":"array","items":{"title":"V2MonitoringOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"users_status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"email_address_verified_at":{"type":"string","format":"date-time"},"role":{"type":"string"},"last_logged_in_at":{"type":"string","format":"date-time"},"job_role":{"type":"string"},"facebook":{"type":"string"},"twitter":{"type":"string"},"instagram":{"type":"string"},"linkedin":{"type":"string"},"avatar":{"type":"string"},"phone_number":{"type":"string"},"whatsapp_phone":{"type":"string"},"has_ppc_projects":{"type":"boolean"},"has_terrafund_projects":{"type":"boolean"}}},"UserReadAll":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"organisation_id":{"type":"integer"},"organisation_name":{"type":"string"},"my_organisation":{"title":"AdminOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"my_monitoring_organisations":{"type":"array","items":{"title":"V2MonitoringOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"users_status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"email_address_verified_at":{"type":"string","format":"date-time"},"role":{"type":"string"},"last_logged_in_at":{"type":"string","format":"date-time"},"job_role":{"type":"string"},"facebook":{"type":"string"},"twitter":{"type":"string"},"instagram":{"type":"string"},"linkedin":{"type":"string"},"avatar":{"type":"string"},"phone_number":{"type":"string"},"whatsapp_phone":{"type":"string"},"has_ppc_projects":{"type":"boolean"},"has_terrafund_projects":{"type":"boolean"}}}},"FundingProgramme":{"title":"FundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"location":{"type":"string"},"read_more_url":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"stages":{"type":"array","items":{"title":"StageRead","x-stoplight":{"id":"qtkhrj889wvwc"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"status":{"type":"string"},"deadline_at":{"type":"string"},"readable_status":{"type":"string"},"funding_programme_id":{"type":"integer"},"name":{"type":"string"},"order":{"type":"integer"},"forms":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"organisations":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"LimitedFundingProgrammeRead":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"FundingProgrammeStatus":{"title":"FundingProgrammeStatus","type":"object","properties":{"status":{"type":"string"}}},"FundingProgrammeCreate":{"title":"FundingProgrammeCreate","x-stoplight":{"id":"uoxj0qcvij0sr"},"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"location":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"status":{"type":"string"}}},"Form":{"title":"FormSubmit","x-stoplight":{"id":"ge9ckliniez5m"},"type":"object","properties":{"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"stage_id":{"type":"integer"},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}}}},"FormCreate":{"title":"FormCreate","type":"object","properties":{"type":{"type":"string"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"duration":{"type":"string"},"stage_id":{"type":"integer"},"options_other":{"type":"boolean"},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"form_sections":{"type":"array","items":{"title":"FormSectionCreate","x-stoplight":{"id":"97clxg83l8q3f"},"type":"object","properties":{"order":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"form_questions":{"type":"array","items":{"title":"FormQuestionCreate","type":"object","properties":{"additional_props":{"type":"array","items":{"type":"object"}},"child_form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"linked_field_key":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"label":{"type":"string"},"placeholder":{"type":"string"},"description":{"type":"string"},"validation":{"type":"object"},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options_list":{"type":"string"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}}}}}}},"FormRead":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"FormSectionCreate":{"title":"FormSectionCreate","x-stoplight":{"id":"97clxg83l8q3f"},"type":"object","properties":{"order":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"form_questions":{"type":"array","items":{"title":"FormQuestionCreate","type":"object","properties":{"additional_props":{"type":"array","items":{"type":"object"}},"child_form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"linked_field_key":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"label":{"type":"string"},"placeholder":{"type":"string"},"description":{"type":"string"},"validation":{"type":"object"},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options_list":{"type":"string"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}}}},"FormSectionRead":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}},"FormQuestionRead":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}},"FormQuestionCreate":{"title":"FormQuestionCreate","type":"object","properties":{"additional_props":{"type":"array","items":{"type":"object"}},"child_form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"linked_field_key":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"label":{"type":"string"},"placeholder":{"type":"string"},"description":{"type":"string"},"validation":{"type":"object"},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options_list":{"type":"string"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}},"FormSectionUpdate":{"title":"FormSectionUpdate","x-stoplight":{"id":"tlqkri2rdwi5w"},"type":"object","properties":{"order":{"type":"integer"}}},"FormUpdate":{"title":"FormUpdate","x-stoplight":{"id":"m4lcpf2li93rf"},"type":"object","properties":{"type":{"type":"string"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"duration":{"type":"string"},"options_other":{"type":"boolean"}}},"GeojsonRead":{"title":"GeojsonRead","type":"object","properties":{"uuid":{"type":"integer"},"name":{"type":"object"},"geojson":{"type":"string"},"created_at":{"type":"string","format":"date-time"}}},"ReportingFrameworkRead":{"title":"ReportingFrameworkRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"},"access_code":{"type":"string"},"project_form_uuid":{"type":"string"},"project_report_form_uuid":{"type":"string"},"site_form_uuid":{"type":"string"},"site_report_form_uuid":{"type":"string"},"nursery_form_uuid":{"type":"string"},"nursery_report_form_uuid":{"type":"string"}}},"ReportingFrameworkUpdate":{"title":"ReportingFrameworkUpdate","type":"object","properties":{"name":{"type":"string"},"access_code":{"type":"string"},"project_form_uuid":{"type":"string"},"project_report_form_uuid":{"type":"string"},"site_form_uuid":{"type":"string"},"site_report_form_uuid":{"type":"string"},"nursery_form_uuid":{"type":"string"},"nursery_report_form_uuid":{"type":"string"}}},"ReportingFrameworkCreate":{"title":"ReportingFrameworkCreate","type":"object","properties":{"name":{"type":"string"},"access_code":{"type":"string"},"project_form_uuid":{"type":"string"},"project_report_form_uuid":{"type":"string"},"site_form_uuid":{"type":"string"},"site_report_form_uuid":{"type":"string"},"nursery_form_uuid":{"type":"string"},"nursery_report_form_uuid":{"type":"string"}}},"V2PaginationLinks":{"title":"V2PaginationLinks","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"V2PaginationCurrentLinks":{"title":"V2PaginationCurrentLinks","properties":{"url":{"type":"string"},"label":{"type":"string"},"active":{"type":"boolean"}}},"V2PaginationMeta":{"title":"V2PaginationMeta","properties":{"from":{"type":"integer"},"to":{"type":"integer"},"current_page":{"type":"integer"},"last_page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"path":{"type":"string"},"links":{"type":"array","items":{"title":"V2PaginationCurrentLinks","properties":{"url":{"type":"string"},"label":{"type":"string"},"active":{"type":"boolean"}}}}}},"V2SearchFilterSort":{"title":"V2SearchFilterSort","type":"object","properties":{"search":{"type":"string","description":"search term to use on the collection"},"filter":{"type":"string","description":"multiple filters can be applied. syntax is ?filter[foo]=value1,value2$filter[bar]=value3"},"sort":{"type":"string","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-name"},"per_page":{"type":"integer","description":"number of results (per page) to return"},"page":{"type":"integer","description":"page number you want results from"}}},"V2AdminOrganisationRead":{"title":"AdminOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"V2MonitoringOrganisationRead":{"title":"V2MonitoringOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"users_status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"V2AdminOrganisationUpdate":{"title":"AdminOrganisationUpdate","type":"object","properties":{"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","items":{"type":"string"}}}},"V2GenericList":{"title":"V2GenericList","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"input_type":{"type":"string"},"model_key":{"type":"string"},"option_list_key":{"type":"string"},"options":{"type":"array","items":{"type":"string"}}}},"V2CommonOptions":{"title":"V2CommonOptions","type":"object","properties":{"uuid":{"type":"string"},"slug":{"type":"string"},"alt_value":{"type":"string"},"label":{"type":"string"}}},"V2OrganisationApproveRejectUser":{"title":"OrganisationApproveRejectUser","type":"object","properties":{"organisation_uuid":{"type":"string"},"user_uuid":{"type":"string"}},"required":["organisation_uuid","user_uuid"]},"V2OrganisationUpdate":{"title":"OrganisationUpdate","type":"object","properties":{"type":{"type":"string","description":"Available type are for-profit-organization, non-profit-organization, government-agency"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"community_members_engaged_3yr":{"type":"number"},"community_members_engaged_3yr_women":{"type":"number"},"community_members_engaged_3yr_men":{"type":"number"},"community_members_engaged_3yr_youth":{"type":"number"},"community_members_engaged_3yr_non_youth":{"type":"number"},"community_members_engaged_3yr_smallholder":{"type":"number"},"community_members_engaged_3yr_backward_class":{"type":"number"},"total_board_members":{"type":"number"},"pct_board_women":{"type":"number"},"pct_board_men":{"type":"number"},"pct_board_youth":{"type":"number"},"pct_board_non_youth":{"type":"number"},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"languages":{"type":"array","items":{"type":"string"}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","items":{"type":"string"}}}},"V2OrganisationRead":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"ShapefileRead":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}},"V2AdminUserRead":{"title":"AdminUserRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"job_role":{"type":"string"},"facebook":{"type":"string"},"instagram":{"type":"string"},"linkedin":{"type":"string"},"twitter":{"type":"string"},"whatsapp_phone":{"type":"string"},"date_added":{"type":"string"}}},"V2AdminUserUpdate":{"title":"AdminUserUpdate","type":"object","properties":{"type":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"password":{"type":"string"},"job_role":{"type":"string"},"facebook":{"type":"string"},"instagram":{"type":"string"},"linkedin":{"type":"string"},"twitter":{"type":"string"},"whatsapp_phone":{"type":"string"},"organisation":{"type":"string"},"monitoring_organisations":{"type":"array","items":{"title":"V2MonitoringOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"users_status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}}},"V2FileRead":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"V2FileGallery":{"title":"V2FileGallery","type":"object","properties":{"uuid":{"type":"string"},"file_url":{"type":"string"},"thumb_url":{"type":"string"},"file_name":{"type":"string"},"created_date":{"type":"string"},"model_name":{"type":"string"},"is_public":{"type":"boolean"},"location":{"type":"object","properties":{"lat":{"type":"number"},"lng":{"type":"number"}}},"mime_type":{"type":"string"},"file_size":{"type":"integer"},"collection_name":{"type":"string"}}},"V2FileGalleryLite":{"title":"V2FileGallery","type":"object","properties":{"uuid":{"type":"string"},"thumb_url":{"type":"string"},"location":{"type":"object","properties":{"lat":{"type":"number"},"lng":{"type":"number"}}}}},"V2TreeSpeciesRead":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}},"V2CoreTeamLeaderCreate":{"title":"V2CoreTeamLeaderCreate","type":"object","properties":{"organisation_id":{"type":"string"},"position":{"type":"string"},"gender":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"role":{"type":"string"},"age":{"type":"integer"}}},"V2CoreTeamLeaderRead":{"title":"V2CoreTeamLeaderRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"organisation_id":{"type":"string"},"position":{"type":"string"},"gender":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"role":{"type":"string"},"age":{"type":"integer"}}},"V2CoreTeamLeaderUpdate":{"title":"V2CoreTeamLeaderUpdate","type":"object","properties":{"position":{"type":"string"},"gender":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"role":{"type":"string"},"age":{"type":"integer"}}},"V2LeadershipTeamCreate":{"title":"V2LeadershipTeamCreate","type":"object","properties":{"organisation_id":{"type":"string"},"position":{"type":"string"},"gender":{"type":"string"},"age":{"type":"integer"}}},"V2LeadershipTeamRead":{"title":"V2LeadershipTeamRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"organisation_id":{"type":"string"},"position":{"type":"string"},"gender":{"type":"string"},"age":{"type":"integer"}}},"V2LeadershipTeamUpdate":{"title":"V2LeadershipTeamUpdate","type":"object","properties":{"position":{"type":"string"},"gender":{"type":"string"},"age":{"type":"integer"}}},"V2OwnershipStakeCreate":{"title":"V2OwnershipStakeCreate","type":"object","properties":{"organisation_id":{"type":"string"},"position":{"type":"string"},"gender":{"type":"string"},"age":{"type":"integer"},"percent_ownership":{"type":"integer"}}},"V2OwnershipStakeRead":{"title":"V2OwnershipStakeRead","type":"object","properties":{"uuid":{"type":"string"},"organisation_id":{"type":"string"},"position":{"type":"string"},"gender":{"type":"string"},"age":{"type":"integer"},"percent_ownership":{"type":"integer"}}},"V2OwnershipStakeUpdate":{"title":"V2OwnershipStakeUpdate","type":"object","properties":{"position":{"type":"string"},"gender":{"type":"string"},"age":{"type":"integer"},"percent_ownership":{"type":"integer"}}},"V2FundingTypeCreate":{"title":"V2FundingTypeCreate","type":"object","properties":{"organisation_id":{"type":"string"},"amount":{"type":"integer"},"year":{"type":"integer"},"type":{"type":"string"}}},"V2FundingTypeRead":{"title":"V2FundingTypeRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"organisation_id":{"type":"string"},"amount":{"type":"integer"},"year":{"type":"integer"},"type":{"type":"string"}}},"V2FundingTypeUpdate":{"title":"V2FundingTypeUpdate","type":"object","properties":{"amount":{"type":"integer"},"year":{"type":"integer"},"type":{"type":"string"}}},"ProjectPitchCreate":{"title":"ProjectPitchCreate","x-stoplight":{"id":"xo976uxy5fkzu"},"type":"object","properties":{"organisation_id":{"type":"string"},"project_name":{"type":"string"},"project_objectives":{"type":"string"},"how_discovered":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"total_trees":{"type":"integer"},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"}}},"ProjectPitchUpdate":{"title":"ProjectPitchUpdate","x-stoplight":{"id":"w5u1xed0to2g6"},"type":"object","properties":{"funding_programme_id":{"type":"integer"},"project_name":{"type":"string"},"project_objectives":{"type":"string"},"project_county_district":{"type":"string"},"how_discovered":{"type":"string"},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"project_budget":{"type":"integer"},"project_country":{"type":"array","items":{"type":"string"}},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"total_trees":{"type":"integer"},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"}}},"V2SiteRead":{"type":"object","properties":{"id":{"type":"integer"},"site_id":{"type":"integer"},"terrafund_site_id":{"type":"integer"},"programme_id":{"type":"integer"},"terrafund_programme_id":{"type":"integer"},"control_site":{"type":"boolean"},"name":{"type":"string"},"country":{"type":"string"},"project_country":{"type":"string"},"continent":{"type":"string"},"description":{"type":"string"},"planting_pattern":{"type":"string"},"stratification_for_heterogeneity":{"type":"string"},"history":{"type":"string"},"workdays_paid":{"type":"integer"},"workdays_volunteer":{"type":"integer"},"total_workdays":{"type":"integer"},"establishment_date":{"type":"string","format":"date"},"start_date":{"type":"string","format":"date"},"end_date":{"type":"string","format":"date"},"technical_narrative":{"type":"string"},"public_narrative":{"type":"string"},"aim_survival_rate":{"type":"number"},"aim_year_five_crown_cover":{"type":"number"},"aim_direct_seeding_survival_rate":{"type":"number"},"aim_natural_regeneration_trees_per_hectare":{"type":"number"},"aim_natural_regeneration_hectares":{"type":"number"},"aim_soil_condition":{"type":"string"},"aim_number_of_mature_trees":{"type":"integer"},"hectares_to_restore":{"type":"number"},"landscape_community_contribution":{"type":"string"},"disturbances":{"type":"string"},"boundary_geojson":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}},"V2SiteLiteRead":{"title":"V2SiteLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"framework_key":{"type":"string"},"description":{"type":"string"},"control_site":{"type":"integer"},"status":{"type":"string"},"readable_status":{"type":"string"},"number_of_trees_planted":{"type":"integer"},"start_date":{"type":"string"},"created_at":{"type":"string"}}},"V2SiteMonitoringCreate":{"title":"V2SiteMonitoringCreate","type":"object","properties":{"site_uuid":{"type":"string"},"tree_count":{"type":"integer"},"tree_cover":{"type":"integer"},"field_tree_count":{"type":"integer"},"measurement_date":{"type":"string","format":"date"}}},"V2SiteMonitoringUpdate":{"title":"V2SiteMonitoringUpdate","type":"object","properties":{"status":{"type":"string"},"tree_count":{"type":"integer"},"tree_cover":{"type":"integer"},"field_tree_count":{"type":"integer"},"measurement_date":{"type":"string","format":"date"}}},"V2SiteMonitoringRead":{"title":"V2SiteMonitoringRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"tree_count":{"type":"integer"},"tree_cover":{"type":"integer"},"field_tree_count":{"type":"integer"},"measurement_date":{"type":"string","format":"date"},"last_updated":{"type":"string","format":"date-time"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}},"V2ProjectMonitoringCreate":{"title":"V2ProjectMonitoringCreate","type":"object","properties":{"project_uuid":{"type":"string"},"total_hectares":{"type":"integer"},"ha_mangrove":{"type":"integer"},"ha_assisted":{"type":"integer"},"ha_agroforestry":{"type":"integer"},"ha_reforestation":{"type":"integer"},"ha_peatland":{"type":"integer"},"ha_riparian":{"type":"integer"},"ha_enrichment":{"type":"integer"},"ha_nucleation":{"type":"integer"},"ha_silvopasture":{"type":"integer"},"ha_direct":{"type":"integer"},"tree_count":{"type":"integer"},"tree_cover":{"type":"integer"},"field_tree_count":{"type":"integer"},"tree_cover_loss":{"type":"integer"},"carbon_benefits":{"type":"integer"},"number_of_esrp":{"type":"integer"},"field_tree_regenerated":{"type":"integer"},"field_tree_survival_percent":{"type":"integer"},"start_date":{"type":"string","format":"date"},"end_date":{"type":"string","format":"date"}}},"V2ProjectMonitoringUpdate":{"title":"V2ProjectMonitoringUpdate","type":"object","properties":{"status":{"type":"string"},"total_hectares":{"type":"integer"},"ha_mangrove":{"type":"integer"},"ha_assisted":{"type":"integer"},"ha_agroforestry":{"type":"integer"},"ha_reforestation":{"type":"integer"},"ha_peatland":{"type":"integer"},"ha_riparian":{"type":"integer"},"ha_enrichment":{"type":"integer"},"ha_nucleation":{"type":"integer"},"ha_silvopasture":{"type":"integer"},"ha_direct":{"type":"integer"},"tree_count":{"type":"integer"},"tree_cover":{"type":"integer"},"field_tree_count":{"type":"integer"},"tree_cover_loss":{"type":"integer"},"carbon_benefits":{"type":"integer"},"number_of_esrp":{"type":"integer"},"field_tree_regenerated":{"type":"integer"},"field_tree_survival_percent":{"type":"integer"},"start_date":{"type":"string","format":"date"},"end_date":{"type":"string","format":"date"}}},"V2ProjectMonitoringRead":{"title":"V2ProjectMonitoringRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"total_hectares":{"type":"integer"},"ha_mangrove":{"type":"integer"},"ha_assisted":{"type":"integer"},"ha_agroforestry":{"type":"integer"},"ha_reforestation":{"type":"integer"},"ha_peatland":{"type":"integer"},"ha_riparian":{"type":"integer"},"ha_enrichment":{"type":"integer"},"ha_nucleation":{"type":"integer"},"ha_silvopasture":{"type":"integer"},"ha_direct":{"type":"integer"},"tree_count":{"type":"integer"},"tree_cover":{"type":"integer"},"field_tree_count":{"type":"integer"},"tree_cover_loss":{"type":"integer"},"carbon_benefits":{"type":"integer"},"number_of_esrp":{"type":"integer"},"field_tree_regenerated":{"type":"integer"},"field_tree_survival_percent":{"type":"integer"},"start_date":{"type":"string","format":"date"},"end_date":{"type":"string","format":"date"},"last_updated":{"type":"string","format":"date-time"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}},"V2NurseryLiteRead":{"title":"V2NurseryLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"project":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"establishment_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"start_date":{"type":"string"},"created_date":{"type":"string"}}},"V2StrataRead":{"title":"V2StrataRead","type":"object","properties":{"uuid":{"type":"string"},"description":{"type":"string"},"extent":{"type":"integer"}}},"V2StrataCreate":{"title":"V2StrataCreate","type":"object","properties":{"model_type":{"type":"string"},"model_uuid":{"type":"string"},"description":{"type":"string"},"extent":{"type":"integer"}}},"V2StrataUpdate":{"title":"V2StrataUpdate","type":"object","properties":{"description":{"type":"string"},"extent":{"type":"integer"}}},"V2StrataPaginated":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2StrataRead","type":"object","properties":{"uuid":{"type":"string"},"description":{"type":"string"},"extent":{"type":"integer"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"},"unfiltered_total":{"type":"integer"}}}}},"V2SeedingRead":{"title":"V2SeedingRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"weight_of_sample":{"type":"integer"},"seeds_in_sample":{"type":"integer"},"amount":{"type":"integer"}}},"V2SeedingCreate":{"title":"V2SeedingCreate","type":"object","properties":{"model_type":{"type":"string"},"model_uuid":{"type":"string"},"name":{"type":"string"},"weight_of_sample":{"type":"integer"},"seeds_in_sample":{"type":"integer"},"amount":{"type":"integer"}}},"V2SeedingUpdate":{"title":"V2SeedingUpdate","type":"object","properties":{"name":{"type":"string"},"weight_of_sample":{"type":"integer"},"seeds_in_sample":{"type":"integer"},"amount":{"type":"integer"}}},"V2SeedingPaginated":{"title":"V2SeedingPaginated","type":"object","properties":{"data":{"type":"array","items":{"title":"V2SeedingRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"weight_of_sample":{"type":"integer"},"seeds_in_sample":{"type":"integer"},"amount":{"type":"integer"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"},"unfiltered_total":{"type":"integer"}}}}},"V2WorkdayRead":{"title":"V2WorkdayRead","type":"object","properties":{"uuid":{"type":"string"},"collection":{"type":"string"},"readable_collection":{"type":"string"},"demographics":{"type":"array","items":{"title":"WorkdayDemographic","type":"object","properties":{"type":{"type":"string","enum":["gender","age","ethnicity"]},"subtype":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"}}}}}},"V2DisturbanceRead":{"title":"V2DisturbanceRead","type":"object","properties":{"uuid":{"type":"string"},"description":{"type":"string"},"intensity":{"type":"string"},"extent":{"type":"string"}}},"V2DisturbanceCreate":{"title":"V2DisturbanceCreate","type":"object","properties":{"model_type":{"type":"string"},"model_uuid":{"type":"integer"},"description":{"type":"string"},"intensity":{"type":"string"},"extent":{"type":"string"},"collection":{"type":"string"}}},"V2DisturbanceUpdate":{"title":"V2DisturbanceUpdate","type":"object","properties":{"description":{"type":"string"},"intensity":{"type":"integer"},"collection":{"type":"string"}}},"V2DisturbancePaginated":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2DisturbanceRead","type":"object","properties":{"uuid":{"type":"string"},"description":{"type":"string"},"intensity":{"type":"string"},"extent":{"type":"string"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"},"unfiltered_total":{"type":"integer"}}}}},"V2InvasiveRead":{"title":"V2InvasiveRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"type":{"type":"integer"}}},"V2InvasiveCreate":{"title":"V2InvasiveCreate","type":"object","properties":{"model_type":{"type":"string"},"model_uuid":{"type":"integer"},"name":{"type":"string"},"type":{"type":"string"},"collection":{"type":"string"}}},"V2InvasiveUpdate":{"title":"V2InvasiveUpdate","type":"object","properties":{"description":{"type":"string"},"intensity":{"type":"integer"},"collection":{"type":"string"}}},"V2InvasivePaginated":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2InvasiveRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"type":{"type":"integer"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"},"unfiltered_total":{"type":"integer"}}}}},"ProjectLiteRead":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"ProjectFullRead":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"application":{"title":"ApplicationLiteRead","type":"object","properties":{"uuid":{"type":"string"},"form_submissions":{"type":"array","items":{"type":"object","title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"current_submission":{"type":"object","title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"funding_programme":{"type":"object","title":"FundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"location":{"type":"string"},"read_more_url":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"stages":{"type":"array","items":{"title":"StageRead","x-stoplight":{"id":"qtkhrj889wvwc"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"status":{"type":"string"},"deadline_at":{"type":"string"},"readable_status":{"type":"string"},"funding_programme_id":{"type":"integer"},"name":{"type":"string"},"order":{"type":"integer"},"forms":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"organisations":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"organisation":{"type":"object","title":"AdminOrganisationRead","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"ProjectWithSchemaRead":{"title":"ProjectWithSchemaRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"answers":{"type":"array","items":{"type":"object","properties":{"question_id":{"type":"integer"},"value":{"type":"string"},"options":{"type":"array","items":{"type":"string"}}}}}}},"SiteFullRead":{"title":"SiteLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}}}},"SiteWithSchemaRead":{"title":"SiteWithSchemaRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"answers":{"type":"array","items":{"type":"object","properties":{"question_id":{"type":"integer"},"value":{"type":"string"},"options":{"type":"array","items":{"type":"string"}}}}}}},"ProjectPitchRead":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"AuditRead":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"AuditReadAll":{"type":"object","properties":{"data":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}}},"AuditsPaginated":{"type":"object","properties":{"data":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"},"unfiltered_total":{"type":"integer"}}}}},"FormSubmissionRead":{"title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"FormPaginated":{"type":"object","properties":{"data":{"type":"array","items":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"}}}}},"StagePaginated":{"type":"object","properties":{"data":{"title":"StageRead","x-stoplight":{"id":"qtkhrj889wvwc"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"status":{"type":"string"},"deadline_at":{"type":"string"},"readable_status":{"type":"string"},"funding_programme_id":{"type":"integer"},"name":{"type":"string"},"order":{"type":"integer"},"forms":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"}}}}},"StageLiteRead":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"StageRead":{"title":"StageRead","x-stoplight":{"id":"qtkhrj889wvwc"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"status":{"type":"string"},"deadline_at":{"type":"string"},"readable_status":{"type":"string"},"funding_programme_id":{"type":"integer"},"name":{"type":"string"},"order":{"type":"integer"},"forms":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"StageCreate":{"title":"StageCreate","x-stoplight":{"id":"q1bwtmu9aj98a"},"type":"object","properties":{"name":{"type":"string"},"funding_programme_id":{"type":"integer"},"form_id":{"type":"string"},"deadline_at":{"type":"string"},"order":{"type":"integer"}}},"FormQuestionOptionRead":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}},"FormTableHeaderRead":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}},"FormSubmissionCreate":{"title":"FormSubmissionCreate","x-stoplight":{"id":"yuvkg8bgvnerq"},"type":"object","properties":{"form_uuid":{"type":"string"},"project_pitch_uuid":{"type":"string"}}},"FormSubmissionUpdate":{"title":"FormSubmissionUpdate","type":"object","properties":{"status":{"type":"string"},"answers":{"type":"array","items":{"type":"object","properties":{"question_id":{"type":"integer"},"value":{"type":"string"},"options":{"type":"array","items":{"type":"string"}}}}}}},"ApplicationLiteRead":{"title":"ApplicationLiteRead","type":"object","properties":{"uuid":{"type":"string"},"form_submissions":{"items":{"title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"current_submission":{"title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"funding_programme_name":{"type":"integer"},"funding_programme_uuid":{"type":"string"},"funding_programme_status":{"type":"string"},"organisation_name":{"type":"string"},"organisation_uuid":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}},"ApplicationRead":{"title":"ApplicationLiteRead","type":"object","properties":{"uuid":{"type":"string"},"form_submissions":{"type":"array","items":{"type":"object","title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"current_submission":{"type":"object","title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"funding_programme":{"type":"object","title":"FundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"location":{"type":"string"},"read_more_url":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"stages":{"type":"array","items":{"title":"StageRead","x-stoplight":{"id":"qtkhrj889wvwc"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"status":{"type":"string"},"deadline_at":{"type":"string"},"readable_status":{"type":"string"},"funding_programme_id":{"type":"integer"},"name":{"type":"string"},"order":{"type":"integer"},"forms":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"organisations":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"organisation":{"type":"object","title":"AdminOrganisationRead","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}},"ProjectReportLiteRead":{"title":"ProjectReportLiteRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"integer"},"readable_status":{"type":"string"},"title":{"type":"string"}}},"ProjectReportPaginated":{"type":"object","properties":{"data":{"type":"array","items":{"title":"ProjectReportLiteRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"integer"},"readable_status":{"type":"string"},"title":{"type":"string"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"}}}}},"TaskPaginated":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2TaskRead","type":"object","properties":{"uuid":{"type":"string"},"project":{"type":"object"},"period_key":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"}}}}},"SiteReportLiteRead":{"title":"SiteReportLiteRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"integer"},"readable_status":{"type":"string"},"title":{"type":"string"},"due_at":{"type":"string"},"date_submitted":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"project":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"site":{"title":"SiteLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"project":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}}}},"SiteReportPaginated":{"type":"object","properties":{"data":{"type":"array","items":{"title":"SiteReportLiteRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"integer"},"readable_status":{"type":"string"},"title":{"type":"string"},"due_at":{"type":"string"},"date_submitted":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"project":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"site":{"title":"SiteLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"project":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"}}}}},"NurseryReportLiteRead":{"title":"NurseryReportLiteRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"integer"},"readable_status":{"type":"string"},"title":{"type":"string"},"due_at":{"type":"string"},"date_submitted":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"project":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"nursery":{"title":"NurseryLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"project":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}}}},"NurseryReportPaginated":{"type":"object","properties":{"data":{"type":"array","items":{"title":"NurseryReportLiteRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"integer"},"readable_status":{"type":"string"},"title":{"type":"string"},"due_at":{"type":"string"},"date_submitted":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"project":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"nursery":{"title":"NurseryLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"project":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"}}}}},"NurseryPaginated":{"type":"object","properties":{"data":{"type":"array","items":{"title":"NurseryRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"integer"},"readable_status":{"type":"string"},"type":{"type":"string"},"establishment_date":{"type":"string"},"start_date":{"type":"string"},"seedling_grown":{"type":"integer"},"planting_contribution":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"}}}}},"NurseryRead":{"title":"NurseryRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"integer"},"readable_status":{"type":"string"},"type":{"type":"string"},"establishment_date":{"type":"string"},"start_date":{"type":"string"},"seedling_grown":{"type":"integer"},"planting_contribution":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}}}},"Empty":{"type":"object"},"AuthLogIn":{"type":"object","properties":{"email_address":{"type":"string","format":"email"},"password":{"type":"string"}}},"TokenRead":{"type":"object","properties":{"token":{"type":"string"}}},"AuthChange":{"type":"object","properties":{"token":{"type":"string"},"password":{"type":"string"}}},"AuthReset":{"type":"object","properties":{"email_address":{"type":"string"},"callback_url":{"type":"string"}}},"AuthVerify":{"type":"object","properties":{"token":{"type":"string"}}},"NurseryLiteRead":{"title":"NurseryLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"project":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"SiteLiteRead":{"title":"SiteLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"project":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"NurseryReportRead":{"title":"NurseryReportRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"nursery":{"title":"NurseryLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"project":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"due_at":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"title":{"type":"string"},"seedlings_young_trees":{"type":"integer"},"interesting_facts":{"type":"string"},"site_prep":{"type":"string"},"shared_drive_link":{"type":"string"},"created_by":{"type":"object","properties":{"id":{"type":"integer"},"organisation_id":{"type":"integer"},"organisation_name":{"type":"string"},"my_organisation":{"title":"AdminOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"my_monitoring_organisations":{"type":"array","items":{"title":"V2MonitoringOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"users_status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"email_address_verified_at":{"type":"string","format":"date-time"},"role":{"type":"string"},"last_logged_in_at":{"type":"string","format":"date-time"},"job_role":{"type":"string"},"facebook":{"type":"string"},"twitter":{"type":"string"},"instagram":{"type":"string"},"linkedin":{"type":"string"},"avatar":{"type":"string"},"phone_number":{"type":"string"},"whatsapp_phone":{"type":"string"},"has_ppc_projects":{"type":"boolean"},"has_terrafund_projects":{"type":"boolean"}}},"approved_by":{"type":"object","properties":{"id":{"type":"integer"},"organisation_id":{"type":"integer"},"organisation_name":{"type":"string"},"my_organisation":{"title":"AdminOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"my_monitoring_organisations":{"type":"array","items":{"title":"V2MonitoringOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"users_status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"email_address_verified_at":{"type":"string","format":"date-time"},"role":{"type":"string"},"last_logged_in_at":{"type":"string","format":"date-time"},"job_role":{"type":"string"},"facebook":{"type":"string"},"twitter":{"type":"string"},"instagram":{"type":"string"},"linkedin":{"type":"string"},"avatar":{"type":"string"},"phone_number":{"type":"string"},"whatsapp_phone":{"type":"string"},"has_ppc_projects":{"type":"boolean"},"has_terrafund_projects":{"type":"boolean"}}},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"task_uuid":{"type":"string"}}},"SiteReportRead":{"title":"SiteReportRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"title":{"type":"string"},"site":{"title":"SiteLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"project":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"status":{"type":"string"},"readable_status":{"type":"string"},"approved_at":{"type":"string"},"created_by":{"type":"object","properties":{"id":{"type":"integer"},"organisation_id":{"type":"integer"},"organisation_name":{"type":"string"},"my_organisation":{"title":"AdminOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"my_monitoring_organisations":{"type":"array","items":{"title":"V2MonitoringOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"users_status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"email_address_verified_at":{"type":"string","format":"date-time"},"role":{"type":"string"},"last_logged_in_at":{"type":"string","format":"date-time"},"job_role":{"type":"string"},"facebook":{"type":"string"},"twitter":{"type":"string"},"instagram":{"type":"string"},"linkedin":{"type":"string"},"avatar":{"type":"string"},"phone_number":{"type":"string"},"whatsapp_phone":{"type":"string"},"has_ppc_projects":{"type":"boolean"},"has_terrafund_projects":{"type":"boolean"}}},"approved_by":{"type":"object","properties":{"id":{"type":"integer"},"organisation_id":{"type":"integer"},"organisation_name":{"type":"string"},"my_organisation":{"title":"AdminOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"my_monitoring_organisations":{"type":"array","items":{"title":"V2MonitoringOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"users_status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"email_address_verified_at":{"type":"string","format":"date-time"},"role":{"type":"string"},"last_logged_in_at":{"type":"string","format":"date-time"},"job_role":{"type":"string"},"facebook":{"type":"string"},"twitter":{"type":"string"},"instagram":{"type":"string"},"linkedin":{"type":"string"},"avatar":{"type":"string"},"phone_number":{"type":"string"},"whatsapp_phone":{"type":"string"},"has_ppc_projects":{"type":"boolean"},"has_terrafund_projects":{"type":"boolean"}}},"workdays_volunteer":{"type":"integer"},"technical_narrative":{"type":"string"},"public_narrative":{"type":"string"},"shared_drive_link":{"type":"string"},"due_at":{"type":"string"},"se_gender_female":{"type":"number"},"se_gender_male":{"type":"number"},"se_gender_undefined":{"type":"number"},"se_age_youth":{"type":"number"},"se_age_adult":{"type":"number"},"se_age_elder":{"type":"number"},"se_age_undefined":{"type":"number"},"se_ethnicity_indigenous_1":{"type":"number"},"se_ethnicity_indigenous_2":{"type":"number"},"se_ethnicity_other_1":{"type":"number"},"se_ethnicity_other_2":{"type":"number"},"se_ethnicity_other_3":{"type":"number"},"se_ethnicity_undefined":{"type":"number"},"p_gender_female":{"type":"number"},"p_gender_male":{"type":"number"},"p_gender_undefined":{"type":"number"},"p_age_youth":{"type":"number"},"p_age_adult":{"type":"number"},"p_age_elder":{"type":"number"},"p_age_undefined":{"type":"number"},"p_ethnicity_indigenous_1":{"type":"number"},"p_ethnicity_indigenous_2":{"type":"number"},"p_ethnicity_other_1":{"type":"number"},"p_ethnicity_other_2":{"type":"number"},"p_ethnicity_other_3":{"type":"number"},"p_ethnicity_undefined":{"type":"number"},"sma_gender_female":{"type":"number"},"sma_gender_male":{"type":"number"},"sma_gender_undefined":{"type":"number"},"sma_age_youth":{"type":"number"},"sma_age_adult":{"type":"number"},"sma_age_elder":{"type":"number"},"sma_age_undefined":{"type":"number"},"sma_ethnicity_indigenous_1":{"type":"number"},"sma_ethnicity_indigenous_2":{"type":"number"},"sma_ethnicity_other_1":{"type":"number"},"sma_ethnicity_other_2":{"type":"number"},"sma_ethnicity_other_3":{"type":"number"},"sma_ethnicity_undefined":{"type":"number"},"smo_gender_female":{"type":"number"},"smo_gender_male":{"type":"number"},"smo_gender_undefined":{"type":"number"},"smo_age_youth":{"type":"number"},"smo_age_adult":{"type":"number"},"smo_age_elder":{"type":"number"},"smo_age_undefined":{"type":"number"},"smo_ethnicity_indigenous_1":{"type":"number"},"smo_ethnicity_indigenous_2":{"type":"number"},"smo_ethnicity_other_1":{"type":"number"},"smo_ethnicity_other_2":{"type":"number"},"smo_ethnicity_other_3":{"type":"number"},"smo_ethnicity_undefined":{"type":"number"},"o_gender_female":{"type":"number"},"o_gender_male":{"type":"number"},"o_gender_undefined":{"type":"number"},"o_age_youth":{"type":"number"},"o_age_adult":{"type":"number"},"o_age_elder":{"type":"number"},"o_age_undefined":{"type":"number"},"o_ethnicity_indigenous_1":{"type":"number"},"o_ethnicity_indigenous_2":{"type":"number"},"o_ethnicity_other_1":{"type":"number"},"o_ethnicity_other_2":{"type":"number"},"o_ethnicity_other_3":{"type":"number"},"o_ethnicity_undefined":{"type":"number"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"task_uuid":{"type":"string"}}},"ProjectReportRead":{"title":"ProjectReportRead","type":"object","properties":{"uuid":{"type":"string"},"title":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"workdays_paid":{"type":"integer"},"workdays_volunteer":{"type":"integer"},"technical_narrative":{"type":"string"},"public_narrative":{"type":"string"},"landscape_community_contribution":{"type":"string"},"top_three_successes":{"type":"string"},"challenges_faced":{"type":"string"},"lessons_learned":{"type":"string"},"maintenance_and_monitoring_activities":{"type":"string"},"significant_change":{"type":"string"},"pct_survival_to_date":{"type":"number"},"survival_calculation":{"type":"string"},"survival_comparison":{"type":"string"},"ft_women":{"type":"integer"},"ft_men":{"type":"integer"},"ft_youth":{"type":"integer"},"ft_smallholder_farmers":{"type":"integer"},"ft_total":{"type":"integer"},"pt_women":{"type":"integer"},"pt_men":{"type":"integer"},"pt_youth":{"type":"integer"},"pt_smallholder_farmers":{"type":"integer"},"pt_total":{"type":"integer"},"seasonal_women":{"type":"integer"},"seasonal_men":{"type":"integer"},"seasonal_youth":{"type":"integer"},"seasonal_smallholder_farmers":{"type":"integer"},"seasonal_total":{"type":"integer"},"volunteer_women":{"type":"integer"},"volunteer_men":{"type":"integer"},"volunteer_youth":{"type":"integer"},"volunteer_smallholder_farmers":{"type":"integer"},"volunteer_total":{"type":"integer"},"shared_drive_link":{"type":"string"},"planted_trees":{"type":"integer"},"new_jobs_created":{"type":"integer"},"new_jobs_description":{"type":"string"},"new_volunteers":{"type":"integer"},"volunteers_work_description":{"type":"string"},"ft_jobs_non_youth":{"type":"integer"},"ft_jobs_youth":{"type":"integer"},"volunteer_non_youth":{"type":"integer"},"beneficiaries":{"type":"integer"},"beneficiaries_description":{"type":"string"},"beneficiaries_women":{"type":"integer"},"beneficiaries_men":{"type":"integer"},"beneficiaries_non_youth":{"type":"integer"},"beneficiaries_youth":{"type":"integer"},"beneficiaries_smallholder":{"type":"integer"},"beneficiaries_large_scale":{"type":"integer"},"beneficiaries_income_increase":{"type":"integer"},"beneficiaries_income_increase_description":{"type":"string"},"beneficiaries_skills_knowledge_increase":{"type":"integer"},"beneficiaries_skills_knowledge_increase_description":{"type":"string"},"ethnic_indigenous_1":{"type":"integer"},"ethnic_indigenous_2":{"type":"integer"},"ethnic_indigenous_3":{"type":"integer"},"ethnic_indigenous_4":{"type":"integer"},"ethnic_indigenous_5":{"type":"integer"},"ethnic_other_1":{"type":"integer"},"ethnic_other_2":{"type":"integer"},"ethnic_other_3":{"type":"integer"},"ethnic_other_4":{"type":"integer"},"ethnic_other_5":{"type":"integer"},"pe_gender_female":{"type":"number"},"pe_gender_male":{"type":"number"},"pe_gender_undefined":{"type":"number"},"pe_age_youth":{"type":"number"},"pe_age_adult":{"type":"number"},"pe_age_elder":{"type":"number"},"pe_age_undefined":{"type":"number"},"pe_ethnicity_indigenous_1":{"type":"number"},"pe_ethnicity_indigenous_2":{"type":"number"},"pe_ethnicity_other_1":{"type":"number"},"pe_ethnicity_other_2":{"type":"number"},"pe_ethnicity_other_3":{"type":"number"},"pe_ethnicity_undefined":{"type":"number"},"no_gender_female":{"type":"number"},"no_gender_male":{"type":"number"},"no_gender_undefined":{"type":"number"},"no_age_youth":{"type":"number"},"no_age_adult":{"type":"number"},"no_age_elder":{"type":"number"},"no_age_undefined":{"type":"number"},"no_ethnicity_indigenous_1":{"type":"number"},"no_ethnicity_indigenous_2":{"type":"number"},"no_ethnicity_other_1":{"type":"number"},"no_ethnicity_other_2":{"type":"number"},"no_ethnicity_other_3":{"type":"number"},"no_ethnicity_undefined":{"type":"number"},"pm_gender_female":{"type":"number"},"pm_gender_male":{"type":"number"},"pm_gender_undefined":{"type":"number"},"pm_age_youth":{"type":"number"},"pm_age_adult":{"type":"number"},"pm_age_elder":{"type":"number"},"pm_age_undefined":{"type":"number"},"pm_ethnicity_indigenous_1":{"type":"number"},"pm_ethnicity_indigenous_2":{"type":"number"},"pm_ethnicity_other_1":{"type":"number"},"pm_ethnicity_other_2":{"type":"number"},"pm_ethnicity_other_3":{"type":"number"},"pm_ethnicity_undefined":{"type":"number"},"sc_gender_female":{"type":"number"},"sc_gender_male":{"type":"number"},"sc_gender_undefined":{"type":"number"},"sc_age_youth":{"type":"number"},"sc_age_adult":{"type":"number"},"sc_age_elder":{"type":"number"},"sc_age_undefined":{"type":"number"},"sc_ethnicity_indigenous_1":{"type":"number"},"sc_ethnicity_indigenous_2":{"type":"number"},"sc_ethnicity_other_1":{"type":"number"},"sc_ethnicity_other_2":{"type":"number"},"sc_ethnicity_other_3":{"type":"number"},"sc_ethnicity_undefined":{"type":"number"},"o_gender_female":{"type":"number"},"o_gender_male":{"type":"number"},"o_gender_undefined":{"type":"number"},"o_age_youth":{"type":"number"},"o_age_adult":{"type":"number"},"o_age_elder":{"type":"number"},"o_age_undefined":{"type":"number"},"o_ethnicity_indigenous_1":{"type":"number"},"o_ethnicity_indigenous_2":{"type":"number"},"o_ethnicity_other_1":{"type":"number"},"o_ethnicity_other_2":{"type":"number"},"o_ethnicity_other_3":{"type":"number"},"o_ethnicity_undefined":{"type":"number"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"task_uuid":{"type":"string"},"submitted_at":{"type":"string"},"created_by":{"type":"object","properties":{"id":{"type":"integer"},"organisation_id":{"type":"integer"},"organisation_name":{"type":"string"},"my_organisation":{"title":"AdminOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"my_monitoring_organisations":{"type":"array","items":{"title":"V2MonitoringOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"users_status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"email_address_verified_at":{"type":"string","format":"date-time"},"role":{"type":"string"},"last_logged_in_at":{"type":"string","format":"date-time"},"job_role":{"type":"string"},"facebook":{"type":"string"},"twitter":{"type":"string"},"instagram":{"type":"string"},"linkedin":{"type":"string"},"avatar":{"type":"string"},"phone_number":{"type":"string"},"whatsapp_phone":{"type":"string"},"has_ppc_projects":{"type":"boolean"},"has_terrafund_projects":{"type":"boolean"}}},"seedlings_grown":{"type":"integer"}}},"UserCreate":{"type":"object","properties":{"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"password":{"type":"string"},"job_role":{"type":"string"},"facebook":{"type":"string"},"twitter":{"type":"string"},"instagram":{"type":"string"},"linkedin":{"type":"string"},"phone_number":{"type":"string"},"whatsapp_phone":{"type":"string"},"callback_url":{"type":"string"}}},"UpdateRequestsPaginated":{"title":"UpdateRequestsPaginated","type":"object","properties":{"data":{"type":"array","items":{"title":"UpdateRequestLiteRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"}}}}},"UpdateRequestRead":{"title":"UpdateRequestRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"content":{"type":"string"},"feedback":{"type":"string"},"feedback_fields":{"type":"array","items":{"type":"string"}},"project":{"type":"object"},"organisation":{"type":"object"},"created_by":{"type":"object"}}},"UpdateRequestLiteRead":{"title":"UpdateRequestLiteRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"ActionRead":{"title":"ActionRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"type":{"type":"string"},"subtype":{"type":"string"},"title":{"type":"string"},"sub_title":{"type":"string"},"text":{"type":"string"},"key":{"type":"string"},"targetable_type":{"type":"string","description":"one of Project|ProjectReport|Site|SiteReport|Nursery|NurseryReport|UpdateRequest"},"targetable_id":{"type":"integer"},"target":{"type":"object","description":"contains the \u201cLite\u201d objects for the model involved with the Action"},"organisation_id":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"V2TaskRead":{"title":"V2TaskRead","type":"object","properties":{"uuid":{"type":"string"},"project":{"type":"object"},"period_key":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"V2TaskActionRead":{"title":"V2TaskActionRead","type":"object","properties":{"uuid":{"type":"integer"},"type":{"type":"string"},"status":{"type":"string"},"due_at":{"type":"string","format":"date-time"},"title":{"type":"string"},"report_title":{"type":"string"},"update_request_status":{"type":"string"},"submitted_at":{"type":"string","format":"date-time"},"parent_name":{"type":"string"}}},"StatusUpdate":{"title":"StatusUpdate","type":"object","properties":{"feedback":{"type":"string"},"feedback_fields":{"type":"array","items":{"type":"string"}}}},"V2ProjectInviteRead":{"title":"V2ProjectInviteRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"project_id":{"type":"integer"},"email_address":{"type":"string"},"accepted_at":{"type":"string","format":"datetime"},"created_at":{"type":"string","format":"datetime"}}},"V2ProjectInviteCreate":{"title":"V2ProjectInviteCreate","type":"object","properties":{"email_address":{"type":"string"}}},"WorkdayDemographic":{"title":"WorkdayDemographic","type":"object","properties":{"type":{"type":"string","enum":["gender","age","ethnicity"]},"subtype":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"}}},"GeoJSON":{"title":"GeoJSON","type":"object","properties":{"type":{"type":"string","enum":["FeatureCollection"]},"features":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["Feature"]},"properties":{"type":"object","properties":{"poly_name":{"type":"string"},"plantstart":{"type":"string","format":"date"},"plantend":{"type":"string","format":"date"},"practice":{"type":"string"},"target_sys":{"type":"string"},"distr":{"type":"string"},"num_trees":{"type":"number"},"site_id":{"type":"string"}}},"geometry":{"type":"object","properties":{"type":{"type":"string","enum":["Polygon","Point"]},"coordinates":{"type":"array"}}}}}}}},"GeometryPost":{"title":"SiteGeometryPost","type":"object","properties":{"polygon_uuids":{"type":"array","items":{"type":"string"},"description":"The UUIDs generated by the system for the uploaded polygons. They are in the same order as the polygons in the request payload."},"errors":{"type":"object","description":"Mapping of geometry UUID to the errors associated with the geometry. The geometry was saved in the DB and must be updated instead of created once the issues are resolved.","additionalProperties":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","enum":["OVERLAPPING_POLYGON","SELF_INTERSECTION","COORDINATE_SYSTEM","SIZE_LIMIT","WITHIN_COUNTRY","SPIKE","GEOMETRY_TYPE","TOTAL_AREA_EXPECTED","TABLE_SCHEMA","DATA_COMPLETED"]},"message":{"type":"string","description":"Human readable string in English to describe the error."}}}}}}},"V2TerrafundCriteriaData":{"type":"object","properties":{"polygon_id":{"type":"string","description":"The ID of the polygon"},"criteria_list":{"type":"array","description":"List of validation criteria","items":{"type":"object","properties":{"criteria_id":{"type":"integer","description":"The ID of the criteria"},"latest_created_at":{"type":"string","format":"date-time","description":"The latest created at timestamp of the criteria"},"valid":{"type":"integer","description":"Indicates if the criteria is valid or not (1 for valid, 0 for invalid)"}}}}}},"V2TerrafundCriteriaSite":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","description":"The UUID of the polygon."},"valid":{"type":"boolean","description":"Indicates if the polygon is valid or not."},"checked":{"type":"boolean","description":"Indicates if the polygon has been checked before or not."}}}},"SitePolygon":{"title":"SitePolygon","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"project_id":{"type":"string"},"proj_name":{"type":"string"},"org_name":{"type":"string"},"poly_id":{"type":"string"},"poly_name":{"type":"string"},"site_id":{"type":"string"},"site_name":{"type":"string"},"plantstart":{"type":"string","format":"date"},"plantend":{"type":"string","format":"date"},"practice":{"type":"string"},"target_sys":{"type":"string"},"distr":{"type":"string"},"num_trees":{"type":"integer"},"calc_area":{"type":"number","format":"float"},"created_by":{"type":"string"},"last_modified_by":{"type":"string"},"deleted_at":{"type":"string","format":"date-time"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"status":{"type":"string"},"country":{"type":"string"}}},"GeometryString":{"type":"object","properties":{"geometry":{"type":"string"}}},"SitePolygonsDataResponse":{"title":"SitePolygonsDataResponse","type":"array","items":{"title":"SitePolygon","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"project_id":{"type":"string"},"proj_name":{"type":"string"},"org_name":{"type":"string"},"poly_id":{"type":"string"},"poly_name":{"type":"string"},"site_id":{"type":"string"},"site_name":{"type":"string"},"plantstart":{"type":"string","format":"date"},"plantend":{"type":"string","format":"date"},"practice":{"type":"string"},"target_sys":{"type":"string"},"distr":{"type":"string"},"num_trees":{"type":"integer"},"calc_area":{"type":"number","format":"float"},"created_by":{"type":"string"},"last_modified_by":{"type":"string"},"deleted_at":{"type":"string","format":"date-time"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"status":{"type":"string"},"country":{"type":"string"}}}},"SitePolygonsBboxResponse":{"title":"SitePolygonsBboxResponse","type":"object","properties":{"bbox":{"type":"array","items":{"type":"number"}}}},"SitePolygonResponse":{"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"poly_name":{"type":"string"},"plantstart":{"type":"string","format":"date"},"plantend":{"type":"string","format":"date"},"practice":{"type":"string"},"target_sys":{"type":"string"},"distr":{"type":"string"},"num_trees":{"type":"integer"},"calc_area":{"type":"number","format":"float"},"status":{"type":"string"}}},"SitePolygonCreateResponse":{"type":"object","properties":{"message":{"type":"string","example":"Site polygon created successfully"},"uuid":{"type":"string","description":"UUID of the created site polygon"},"area":{"type":"number","format":"double","description":"Calculated area in hectares"}}},"GeoJSONResponse":{"type":"object","properties":{"type":{"type":"string"},"features":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"geometry":{"type":"object","properties":{"type":{"type":"string"},"coordinates":{"type":"array"}}},"properties":{"type":"object","properties":{"poly_name":{"type":"string"},"plantstart":{"type":"string"},"plantend":{"type":"string"},"practice":{"type":"string"},"target_sys":{"type":"string"},"distr":{"type":"string"},"num_trees":{"type":"integer"}}}}}}}},"DashboardJobsCreatedResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"totalJobsCreated":{"type":"integer"},"forProfitJobsCreated":{"type":"integer"},"nonProfitJobsCreated":{"type":"integer"},"total_ft":{"type":"integer"},"total_pt":{"type":"integer"},"total_men":{"type":"integer"},"total_pt_men":{"type":"integer"},"total_ft_men":{"type":"integer"},"total_women":{"type":"integer"},"total_pt_women":{"type":"integer"},"total_ft_women":{"type":"integer"},"total_youth":{"type":"integer"},"total_pt_youth":{"type":"integer"},"total_ft_youth":{"type":"integer"},"total_non_youth":{"type":"integer"},"total_pt_non_youth":{"type":"integer"},"total_ft_non_youth":{"type":"integer"}}}}},"DashboardJobsCreatedData":{"type":"object","properties":{"totalJobsCreated":{"type":"integer"},"forProfitJobsCreated":{"type":"integer"},"nonProfitJobsCreated":{"type":"integer"},"total_ft":{"type":"integer"},"total_pt":{"type":"integer"},"total_men":{"type":"integer"},"total_pt_men":{"type":"integer"},"total_ft_men":{"type":"integer"},"total_women":{"type":"integer"},"total_pt_women":{"type":"integer"},"total_ft_women":{"type":"integer"},"total_youth":{"type":"integer"},"total_pt_youth":{"type":"integer"},"total_ft_youth":{"type":"integer"},"total_non_youth":{"type":"integer"},"total_pt_non_youth":{"type":"integer"},"total_ft_non_youth":{"type":"integer"}}},"DashboardRestorationStrategyResponse":{"type":"object","properties":{"restorationStrategies":{"type":"object","properties":{"direct-seeding":{"type":"integer"},"tree-planting":{"type":"integer"},"assisted-natural-regeneration":{"type":"integer"}}},"landUseTypes":{"type":"object","properties":{"agroforest":{"type":"integer"},"open-natural-ecosystem":{"type":"integer"},"mangrove":{"type":"integer"},"natural-forest":{"type":"integer"},"peatland":{"type":"integer"},"riparian-area-or-wetland":{"type":"integer"},"silvopasture":{"type":"integer"},"urban-forest":{"type":"integer"},"woodlot-or-plantation":{"type":"integer"}}},"landTenures":{"type":"object","properties":{"communal":{"type":"integer"},"indigenous":{"type":"integer"},"national_protected_area":{"type":"integer"},"other":{"type":"integer"},"private":{"type":"integer"},"public":{"type":"integer"}}}}},"DashboardTreeRestorationGoalResponse":{"type":"object","properties":{"forProfitTreeCount":{"type":"integer"},"nonProfitTreeCount":{"type":"integer"},"totalTreesGrownGoal":{"type":"integer"},"treesUnderRestorationActualTotal":{"type":"array","items":{"type":"object","properties":{"dueDate":{"type":"string","format":"date"},"treeSpeciesAmount":{"type":"integer"},"treeSpeciesPercentage":{"type":"number"}}}},"treesUnderRestorationActualForProfit":{"type":"array","items":{"type":"object","properties":{"dueDate":{"type":"string","format":"date"},"treeSpeciesAmount":{"type":"integer"},"treeSpeciesPercentage":{"type":"number"}}}},"treesUnderRestorationActualNonProfit":{"type":"array","items":{"type":"object","properties":{"dueDate":{"type":"string","format":"date"},"treeSpeciesAmount":{"type":"integer"},"treeSpeciesPercentage":{"type":"number"}}}},"averageSurvivalRateTotal":{"type":"number"},"averageSurvivalRateForProfit":{"type":"number"},"averageSurvivalRateNonProfit":{"type":"number"}}},"DashboardTreesUnderRestorationActual":{"type":"object","properties":{"dueDate":{"type":"string","format":"date"},"treeSpeciesAmount":{"type":"integer"},"treeSpeciesPercentage":{"type":"number"}}},"DashboardGetProjectsResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"lat":{"type":"number","format":"double"},"long":{"type":"number","format":"double"}}}}}},"DashboardGetProjectsData":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"lat":{"type":"number","format":"double"},"long":{"type":"number","format":"double"}}},"DashboardGetPolygonStatusResponse":{"properties":{"data":{"type":"array","properties":{"NeedsMoreInfo":{"type":"array","description":"Ids of polygons that need more information"},"Submitted":{"type":"array","description":"Ids of submitted polygons"},"Approved":{"type":"array","description":"Ids of approved polygons"}}}}},"DashboardBBOXProject":{"type":"object","properties":{"bbox":{"type":"array","items":{"type":"number"}}}},"DashboardBBOXCountry":{"type":"object","properties":{"bbox":{"type":"array","items":{"type":"number"}}}},"DashboardPolygonData":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Title of the data field"},"value":{"type":"string","description":"Value of the data field"},"key":{"type":"string","description":"Key of the data field"}}}}}},"EntityTypeResponse":{"type":"object","properties":{"type":{"type":"string","description":"Type of the entity ('project', 'site', 'unknown')"},"uuid":{"type":"string","format":"uuid","description":"UUID of the entity"},"polygonsData":{"type":"array","items":{"title":"SitePolygon","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"project_id":{"type":"string"},"proj_name":{"type":"string"},"org_name":{"type":"string"},"poly_id":{"type":"string"},"poly_name":{"type":"string"},"site_id":{"type":"string"},"site_name":{"type":"string"},"plantstart":{"type":"string","format":"date"},"plantend":{"type":"string","format":"date"},"practice":{"type":"string"},"target_sys":{"type":"string"},"distr":{"type":"string"},"num_trees":{"type":"integer"},"calc_area":{"type":"number","format":"float"},"created_by":{"type":"string"},"last_modified_by":{"type":"string"},"deleted_at":{"type":"string","format":"date-time"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"status":{"type":"string"},"country":{"type":"string"}}}},"bbox":{"type":"array","items":{"type":"number"},"description":"Bounding box of the entity"}}}},"paths":{"\/v2\/tree-species\/{entity}\/{UUID}":{"get":{"operationId":"get-v2-tree-species-entity-uuid","summary":"View all tree species for a given entity","tags":["V2 Tree Species"],"parameters":[{"type":"string","name":"entity","in":"path","required":true,"description":"allowed values project\/site\/nursery\/project-reports\/site-reports\/nursery-reports"},{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"},"unfiltered_total":{"type":"integer"}}}}}}}}},"\/v2\/admin\/projects\/multi":{"get":{"summary":"Get multiple projects as an admin","tags":["V2 Projects"],"parameters":[{"type":"string","in":"query","name":"ids","description":"comma separated list of values. eg ?ids=uuid1,uuid2","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}}}}},"operationId":"get-v2-admin-projects-multi"}},"\/v2\/admin\/nurseries\/multi":{"get":{"summary":"Get multiple nurseries as an admin","tags":["V2 Nurseries"],"parameters":[{"type":"string","in":"query","name":"ids","description":"comma separated list of values. eg ?ids=uuid1,uuid2","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"title":"NurseryLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"project":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}}}}},"operationId":"get-v2-admin-nurseries-multi"}},"\/v2\/admin\/sites\/multi":{"get":{"summary":"Get multiple sites as an admin","tags":["V2 Sites"],"parameters":[{"type":"string","in":"query","name":"ids","description":"comma separated list of values. eg ?ids=uuid1,uuid2","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"title":"SiteLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"project":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}}}}},"operationId":"get-v2-admin-sites-multi"}},"\/users":{"post":{"summary":"Create a user","tags":["Users"],"security":[],"consumes":["application\/json"],"produces":["application\/json"],"parameters":[{"name":"Body","in":"body","required":true,"schema":{"type":"object","properties":{"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"password":{"type":"string"},"job_role":{"type":"string"},"facebook":{"type":"string"},"twitter":{"type":"string"},"instagram":{"type":"string"},"linkedin":{"type":"string"},"phone_number":{"type":"string"},"whatsapp_phone":{"type":"string"},"callback_url":{"type":"string"}}}}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"id":{"type":"integer"},"organisation_id":{"type":"integer"},"organisation_name":{"type":"string"},"my_organisation":{"title":"AdminOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"my_monitoring_organisations":{"type":"array","items":{"title":"V2MonitoringOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"users_status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"email_address_verified_at":{"type":"string","format":"date-time"},"role":{"type":"string"},"last_logged_in_at":{"type":"string","format":"date-time"},"job_role":{"type":"string"},"facebook":{"type":"string"},"twitter":{"type":"string"},"instagram":{"type":"string"},"linkedin":{"type":"string"},"avatar":{"type":"string"},"phone_number":{"type":"string"},"whatsapp_phone":{"type":"string"},"has_ppc_projects":{"type":"boolean"},"has_terrafund_projects":{"type":"boolean"}}}}},"operationId":"post-users"}},"\/v2\/projects\/{UUID}\/partners":{"get":{"summary":"Get a project's monitoring partners","tags":["V2 Projects"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"user_type":{"type":"string"},"job_role":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"status":{"type":"string","description":"allowed values Pending|Accepted"}}}}}},"operationId":"get-v2-projects-uuid-partners"}},"\/v2\/my\/projects":{"get":{"summary":"Get the current user's projects","tags":["Users"],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}}}}},"operationId":"get-v2-my-projects"}},"\/v2\/my\/actions":{"get":{"summary":"Get the current user's actions","operationId":"get-v2-my-actions","tags":["Users"],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"ActionRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"type":{"type":"string"},"subtype":{"type":"string"},"title":{"type":"string"},"sub_title":{"type":"string"},"text":{"type":"string"},"key":{"type":"string"},"targetable_type":{"type":"string","description":"one of Project|ProjectReport|Site|SiteReport|Nursery|NurseryReport|UpdateRequest"},"targetable_id":{"type":"integer"},"target":{"type":"object","description":"contains the \u201cLite\u201d objects for the model involved with the Action"},"organisation_id":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}}}}}}},"\/v2\/my\/actions\/{UUID}\/complete":{"put":{"summary":"Complete an action","tags":["Users"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"ActionRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"type":{"type":"string"},"subtype":{"type":"string"},"title":{"type":"string"},"sub_title":{"type":"string"},"text":{"type":"string"},"key":{"type":"string"},"targetable_type":{"type":"string","description":"one of Project|ProjectReport|Site|SiteReport|Nursery|NurseryReport|UpdateRequest"},"targetable_id":{"type":"integer"},"target":{"type":"object","description":"contains the \u201cLite\u201d objects for the model involved with the Action"},"organisation_id":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"operationId":"put-v2-my-action-uuid-complete"}},"\/v2\/{ENTITY}\/{UUID}\/nothing-to-report":{"put":{"summary":"Submit that you have nothing to report for a nursery","operationId":"put-v2-entity-nothing-to-report","tags":["V2 Project Reports","V2 Site Reports","V2 Nursery Reports"],"parameters":[{"type":"string","name":"ENTITY","in":"path","required":true,"description":"allowed values are project-reports, site-reports, nursery-reports"},{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}}}},"\/v2\/{ENTITY}\/{UUID}\/reports":{"get":{"summary":"Get the reports of a specific project\/site\/nursery","operationId":"get-v2-entity-uuid-reports","tags":["V2 Projects","V2 Sites","V2 Nurseries"],"description":"Available Filters : status | Available Searches: name | Available Sort Options: name, status, created_at, updated_at","produces":["application\/json"],"parameters":[{"type":"string","name":"ENTITY","in":"path","required":true,"description":"allowed values are projects, sites, nurserys"},{"type":"string","name":"UUID","in":"path","required":true},{"name":"filter","type":"string","in":"query","description":"multiple filters can be applied. syntax is ?filter[foo]=value1,value2$filter[bar]=value3"},{"name":"sort","type":"string","in":"query","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-name"},{"name":"search","type":"string","in":"query","description":"search term to use on the collection"},{"name":"per_page","type":"integer","in":"query","description":"number of results (per page) to return"},{"name":"page","type":"integer","in":"query","description":"page number you want results from"}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object"}},"links":{"title":"V2PaginationLinks","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"title":"V2PaginationMeta","properties":{"from":{"type":"integer"},"to":{"type":"integer"},"current_page":{"type":"integer"},"last_page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"path":{"type":"string"},"links":{"type":"array","items":{"title":"V2PaginationCurrentLinks","properties":{"url":{"type":"string"},"label":{"type":"string"},"active":{"type":"boolean"}}}}}}}}}}}},"\/v2\/admin\/nursery-reports":{"get":{"summary":"View all nursery reports as an admin","tags":["V2 Nursery Reports"],"parameters":[{"in":"body","name":"body","schema":{"title":"V2SearchFilterSort","type":"object","properties":{"search":{"type":"string","description":"search term to use on the collection"},"filter":{"type":"string","description":"multiple filters can be applied. syntax is ?filter[foo]=value1,value2$filter[bar]=value3"},"sort":{"type":"string","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-name"},"per_page":{"type":"integer","description":"number of results (per page) to return"},"page":{"type":"integer","description":"page number you want results from"}}}}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"NurseryReportLiteRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"integer"},"readable_status":{"type":"string"},"title":{"type":"string"},"due_at":{"type":"string"},"date_submitted":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"project":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"nursery":{"title":"NurseryLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"project":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"}}}}}}},"operationId":"get-v2-admin-nursery-reports"}},"\/v2\/admin\/site-reports":{"get":{"summary":"View all site reports as an admin","tags":["V2 Site Reports"],"parameters":[{"in":"body","name":"body","schema":{"title":"V2SearchFilterSort","type":"object","properties":{"search":{"type":"string","description":"search term to use on the collection"},"filter":{"type":"string","description":"multiple filters can be applied. syntax is ?filter[foo]=value1,value2$filter[bar]=value3"},"sort":{"type":"string","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-name"},"per_page":{"type":"integer","description":"number of results (per page) to return"},"page":{"type":"integer","description":"page number you want results from"}}}}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"SiteReportLiteRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"integer"},"readable_status":{"type":"string"},"title":{"type":"string"},"due_at":{"type":"string"},"date_submitted":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"project":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"site":{"title":"SiteLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"project":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"}}}}}}},"operationId":"get-v2-admin-site-reports"}},"\/v2\/admin\/project-reports":{"get":{"summary":"View all project reports as an admin","tags":["V2 Project Reports"],"parameters":[{"in":"body","name":"body","schema":{"title":"V2SearchFilterSort","type":"object","properties":{"search":{"type":"string","description":"search term to use on the collection"},"filter":{"type":"string","description":"multiple filters can be applied. syntax is ?filter[foo]=value1,value2$filter[bar]=value3"},"sort":{"type":"string","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-name"},"per_page":{"type":"integer","description":"number of results (per page) to return"},"page":{"type":"integer","description":"page number you want results from"}}}}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"ProjectReportLiteRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"integer"},"readable_status":{"type":"string"},"title":{"type":"string"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"}}}}}}},"operationId":"get-v2-admin-project-reports"}},"\/v2\/admin\/tasks":{"get":{"summary":"View all tasks as an admin","tags":["V2 Tasks"],"parameters":[{"in":"body","name":"body","schema":{"title":"V2SearchFilterSort","type":"object","properties":{"search":{"type":"string","description":"search term to use on the collection"},"filter":{"type":"string","description":"multiple filters can be applied. syntax is ?filter[foo]=value1,value2$filter[bar]=value3"},"sort":{"type":"string","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-name"},"per_page":{"type":"integer","description":"number of results (per page) to return"},"page":{"type":"integer","description":"page number you want results from"}}}}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2TaskRead","type":"object","properties":{"uuid":{"type":"string"},"project":{"type":"object"},"period_key":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"}}}}}}},"operationId":"get-v2-admin-tasks"}},"\/v2\/admin\/nurseries":{"get":{"summary":"View all nurseries as an admin","tags":["V2 Nurseries"],"parameters":[{"in":"body","name":"body","schema":{"title":"V2SearchFilterSort","type":"object","properties":{"search":{"type":"string","description":"search term to use on the collection"},"filter":{"type":"string","description":"multiple filters can be applied. syntax is ?filter[foo]=value1,value2$filter[bar]=value3"},"sort":{"type":"string","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-name"},"per_page":{"type":"integer","description":"number of results (per page) to return"},"page":{"type":"integer","description":"page number you want results from"}}}}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"NurseryRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"integer"},"readable_status":{"type":"string"},"type":{"type":"string"},"establishment_date":{"type":"string"},"start_date":{"type":"string"},"seedling_grown":{"type":"integer"},"planting_contribution":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"}}}}}}},"operationId":"get-v2-admin-nurseries"}},"\/v2\/admin\/forms":{"post":{"summary":"Create a form","operationId":"post-v2-admin-forms","responses":{"201":{"description":"Created","schema":{"title":"FormCreate","type":"object","properties":{"type":{"type":"string"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"duration":{"type":"string"},"stage_id":{"type":"integer"},"options_other":{"type":"boolean"},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"form_sections":{"type":"array","items":{"title":"FormSectionCreate","x-stoplight":{"id":"97clxg83l8q3f"},"type":"object","properties":{"order":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"form_questions":{"type":"array","items":{"title":"FormQuestionCreate","type":"object","properties":{"additional_props":{"type":"array","items":{"type":"object"}},"child_form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"linked_field_key":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"label":{"type":"string"},"placeholder":{"type":"string"},"description":{"type":"string"},"validation":{"type":"object"},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options_list":{"type":"string"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}}}}}}}}},"tags":["Forms"]},"get":{"summary":"View all forms as an admin","tags":["Forms"],"parameters":[{"in":"body","name":"body","schema":{"title":"V2SearchFilterSort","type":"object","properties":{"search":{"type":"string","description":"search term to use on the collection"},"filter":{"type":"string","description":"multiple filters can be applied. syntax is ?filter[foo]=value1,value2$filter[bar]=value3"},"sort":{"type":"string","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-name"},"per_page":{"type":"integer","description":"number of results (per page) to return"},"page":{"type":"integer","description":"page number you want results from"}}}}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"}}}}}}},"operationId":"get-v2-admin-forms"}},"\/v2\/admin\/reporting-frameworks":{"get":{"summary":"View all reporting frameworks","operationId":"get-v2-admin-reporting-frameworks","tags":["Funding Programmes"],"responses":{"201":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"ReportingFrameworkRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"},"access_code":{"type":"string"},"project_form_uuid":{"type":"string"},"project_report_form_uuid":{"type":"string"},"site_form_uuid":{"type":"string"},"site_report_form_uuid":{"type":"string"},"nursery_form_uuid":{"type":"string"},"nursery_report_form_uuid":{"type":"string"}}}}}}}}},"post":{"summary":"Create a specific reporting frameworks","operationId":"post-v2-admin-reporting-frameworks","tags":["Funding Programmes"],"parameters":[{"in":"body","name":"body","schema":{"title":"ReportingFrameworkCreate","type":"object","properties":{"name":{"type":"string"},"access_code":{"type":"string"},"project_form_uuid":{"type":"string"},"project_report_form_uuid":{"type":"string"},"site_form_uuid":{"type":"string"},"site_report_form_uuid":{"type":"string"},"nursery_form_uuid":{"type":"string"},"nursery_report_form_uuid":{"type":"string"}}}}],"responses":{"201":{"description":"OK","schema":{"title":"ReportingFrameworkRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"},"access_code":{"type":"string"},"project_form_uuid":{"type":"string"},"project_report_form_uuid":{"type":"string"},"site_form_uuid":{"type":"string"},"site_report_form_uuid":{"type":"string"},"nursery_form_uuid":{"type":"string"},"nursery_report_form_uuid":{"type":"string"}}}}}}},"\/v2\/admin\/reporting-frameworks\/{UUID}":{"put":{"summary":"Update a specific reporting frameworks","operationId":"put-v2-admin-reporting-frameworks-uuid","tags":["Funding Programmes"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"in":"body","name":"body","schema":{"title":"ReportingFrameworkUpdate","type":"object","properties":{"name":{"type":"string"},"access_code":{"type":"string"},"project_form_uuid":{"type":"string"},"project_report_form_uuid":{"type":"string"},"site_form_uuid":{"type":"string"},"site_report_form_uuid":{"type":"string"},"nursery_form_uuid":{"type":"string"},"nursery_report_form_uuid":{"type":"string"}}}}],"responses":{"201":{"description":"OK","schema":{"title":"ReportingFrameworkRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"},"access_code":{"type":"string"},"project_form_uuid":{"type":"string"},"project_report_form_uuid":{"type":"string"},"site_form_uuid":{"type":"string"},"site_report_form_uuid":{"type":"string"},"nursery_form_uuid":{"type":"string"},"nursery_report_form_uuid":{"type":"string"}}}}}},"delete":{"summary":"Delete a specific reporting frameworks","operationId":"delete-v2-admin-reporting-frameworks-uuid","tags":["Funding Programmes"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"201":{"description":"OK","schema":{"title":"ReportingFrameworkRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"},"access_code":{"type":"string"},"project_form_uuid":{"type":"string"},"project_report_form_uuid":{"type":"string"},"site_form_uuid":{"type":"string"},"site_report_form_uuid":{"type":"string"},"nursery_form_uuid":{"type":"string"},"nursery_report_form_uuid":{"type":"string"}}}}}}},"\/v2\/reporting-frameworks\/access-code\/{ACCESS_CODE}":{"get":{"summary":"View a specific reporting framework using an access code","operationId":"get-v2-reporting-frameworks-access-code","tags":["Funding Programmes"],"parameters":[{"type":"string","name":"ACCESS_CODE","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"ReportingFrameworkRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"},"access_code":{"type":"string"},"project_form_uuid":{"type":"string"},"project_report_form_uuid":{"type":"string"},"site_form_uuid":{"type":"string"},"site_report_form_uuid":{"type":"string"},"nursery_form_uuid":{"type":"string"},"nursery_report_form_uuid":{"type":"string"}}}}}}},"\/v2\/reporting-frameworks\/{UUID}":{"get":{"summary":"View a specific reporting framework using an access code","operationId":"get-v2-reporting-frameworks-uuid","tags":["Funding Programmes"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"ReportingFrameworkRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"},"access_code":{"type":"string"},"project_form_uuid":{"type":"string"},"project_report_form_uuid":{"type":"string"},"site_form_uuid":{"type":"string"},"site_report_form_uuid":{"type":"string"},"nursery_form_uuid":{"type":"string"},"nursery_report_form_uuid":{"type":"string"}}}}}}},"\/v2\/forms\/{ENTITY}\/{UUID}":{"get":{"operationId":"get-v2-forms-entity-form-uuid","summary":"View a specific entity as answers with form schema","tags":["V2 Projects","V2 Sites","V2 Nurseries","V2 Project Reports","V2 Site Reports","V2 Nursery Reports","Forms"],"parameters":[{"type":"string","name":"ENTITY","in":"path","required":true,"description":"allowed values projects\/sites\/nurseries\/project-reports\/site-reports\/nursery-reports"},{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"EntityFormRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"form":{"type":"object"},"answers":{"type":"object"},"form_title":{"type":"string"},"feedback":{"type":"string"},"feedback_fields":{"type":"array","items":{"type":"string"}},"update_request":{"title":"UpdateRequestRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"content":{"type":"string"},"feedback":{"type":"string"},"feedback_fields":{"type":"array","items":{"type":"string"}},"project":{"type":"object"},"organisation":{"type":"object"},"created_by":{"type":"object"}}}}}}}},"put":{"operationId":"put-v2-forms-entity-form-uuid","summary":"Update a specific entity using a form schema","description":"there is no need to provide which schema as it will use the current published one for this entity and framework","tags":["V2 Projects","V2 Sites","V2 Nurseries","V2 Project Reports","V2 Site Reports","V2 Nursery Reports","Forms"],"parameters":[{"type":"string","name":"ENTITY","in":"path","required":true,"description":"allowed values projects\/sites\/nurseries\/project-reports\/site-reports\/nursery-reports"},{"type":"string","name":"UUID","in":"path","required":true},{"in":"body","name":"body","schema":{"title":"EntityFormCreate","type":"object","properties":{"name":{"type":"string"},"status":{"type":"string"},"answers":{"type":"object"}}}}],"responses":{"200":{"description":"OK","schema":{"title":"EntityFormRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"form":{"type":"object"},"answers":{"type":"object"},"form_title":{"type":"string"},"feedback":{"type":"string"},"feedback_fields":{"type":"array","items":{"type":"string"}},"update_request":{"title":"UpdateRequestRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"content":{"type":"string"},"feedback":{"type":"string"},"feedback_fields":{"type":"array","items":{"type":"string"}},"project":{"type":"object"},"organisation":{"type":"object"},"created_by":{"type":"object"}}}}}}}}},"\/v2\/forms\/{ENTITY}\/{UUID}\/submit":{"put":{"operationId":"put-v2-forms-entity-form-uuid-submit","summary":"Submit a specific entity using a form schema","tags":["V2 Projects","V2 Sites","V2 Nurseries","V2 Project Reports","V2 Site Reports","V2 Nursery Reports","Forms"],"parameters":[{"type":"string","name":"ENTITY","in":"path","required":true,"description":"allowed values projects\/sites\/nurseries\/project-reports\/site-reports\/nursery-reports"},{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"EntityFormRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"form":{"type":"object"},"answers":{"type":"object"},"form_title":{"type":"string"},"feedback":{"type":"string"},"feedback_fields":{"type":"array","items":{"type":"string"}},"update_request":{"title":"UpdateRequestRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"content":{"type":"string"},"feedback":{"type":"string"},"feedback_fields":{"type":"array","items":{"type":"string"}},"project":{"type":"object"},"organisation":{"type":"object"},"created_by":{"type":"object"}}}}}}}}},"\/v2\/forms\/{ENTITY}":{"post":{"summary":"Create an entity with a custom form","operationId":"post-v2-forms-entity-form-uuid","tags":["V2 Projects","V2 Sites","V2 Nurseries","V2 Project Reports","V2 Site Reports","V2 Nursery Reports","Forms"],"parameters":[{"type":"string","name":"ENTITY","in":"path","required":true,"description":"allowed values projects\/sites\/nurseries"},{"type":"string","name":"UUID","in":"path","required":true,"description":"this is the uuid of the form"},{"in":"body","name":"body","schema":{"title":"EntityFormCreate","type":"object","properties":{"parent_entity":{"type":"string","description":"allowed values projects\/sites\/nurseries\/project-reports\/site-reports\/nursery-reports"},"parent_uuid":{"type":"string"},"form_uuid":{"type":"string"}}}}],"responses":{"200":{"description":"OK","schema":{"title":"EntityFormRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"form":{"type":"object"},"answers":{"type":"object"},"form_title":{"type":"string"},"feedback":{"type":"string"},"feedback_fields":{"type":"array","items":{"type":"string"}},"update_request":{"title":"UpdateRequestRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"content":{"type":"string"},"feedback":{"type":"string"},"feedback_fields":{"type":"array","items":{"type":"string"}},"project":{"type":"object"},"organisation":{"type":"object"},"created_by":{"type":"object"}}}}}}}}},"\/v2\/forms\/projects\/{UUID}":{"post":{"summary":"Create a project with a custom form","operationId":"post-v2-forms-projects-form-uuid","tags":["V2 Projects","Forms"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true,"description":"this is the uuid of the form"},{"in":"body","name":"body","schema":{"title":"EntityFormCreate","type":"object","properties":{"parent_entity":{"type":"string","description":"allowed values projects\/sites\/nurseries\/project-reports\/site-reports\/nursery-reports"},"parent_uuid":{"type":"string"},"form_uuid":{"type":"string"}}}}],"responses":{"200":{"description":"OK","schema":{"title":"EntityFormRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"form":{"type":"object"},"answers":{"type":"object"},"form_title":{"type":"string"},"feedback":{"type":"string"},"feedback_fields":{"type":"array","items":{"type":"string"}},"update_request":{"title":"UpdateRequestRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"content":{"type":"string"},"feedback":{"type":"string"},"feedback_fields":{"type":"array","items":{"type":"string"}},"project":{"type":"object"},"organisation":{"type":"object"},"created_by":{"type":"object"}}}}}}}}},"\/v2\/projects\/{UUID}\/site-polygons":{"get":{"summary":"Get the polygons (geojson) from all sites belonging to a specific project","operationId":"get-v2-projects-uuid-site-polygons","tags":["V2 Projects","V2 Sites"],"produces":["application\/json"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"name":"sort","type":"string","in":"query","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-name"},{"name":"per_page","type":"integer","in":"query","description":"number of results (per page) to return"},{"name":"page","type":"integer","in":"query","description":"page number you want results from"}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2TaskRead","type":"object","properties":{"uuid":{"type":"string"},"project":{"type":"object"},"period_key":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}}},"links":{"title":"V2PaginationLinks","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"title":"V2PaginationMeta","properties":{"from":{"type":"integer"},"to":{"type":"integer"},"current_page":{"type":"integer"},"last_page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"path":{"type":"string"},"links":{"type":"array","items":{"title":"V2PaginationCurrentLinks","properties":{"url":{"type":"string"},"label":{"type":"string"},"active":{"type":"boolean"}}}}}}}}}}}},"\/v2\/admin\/update-requests\/":{"get":{"summary":"View a list of UpdateRequests","operationId":"get-v2-admin-update-requests","tags":["V2 Update requests"],"parameters":[{"in":"body","name":"body","schema":{"title":"V2SearchFilterSort","type":"object","properties":{"search":{"type":"string","description":"search term to use on the collection"},"filter":{"type":"string","description":"multiple filters can be applied. syntax is ?filter[foo]=value1,value2$filter[bar]=value3"},"sort":{"type":"string","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-name"},"per_page":{"type":"integer","description":"number of results (per page) to return"},"page":{"type":"integer","description":"page number you want results from"}}}}],"responses":{"200":{"description":"OK","schema":{"title":"UpdateRequestsPaginated","type":"object","properties":{"data":{"type":"array","items":{"title":"UpdateRequestLiteRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"}}}}}}}}},"\/v2\/admin\/update-requests\/{UUID}":{"delete":{"summary":"Soft delete an Update Request","operationId":"delete-v2-admin-update-requests-uuid","tags":["V2 Update Requests"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}}}},"\/v2\/admin\/update-requests\/{UUID}\/{STATUS}":{"put":{"summary":"Update status of a UpdateRequests","operationId":"put-v2-admin-update-requests-uuid-status","tags":["V2 Update requests"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"type":"string","name":"STATUS","in":"path","required":true,"description":"allowed values are approve, moreinfo"},{"in":"body","name":"body","schema":{"title":"StatusUpdate","type":"object","properties":{"feedback":{"type":"string"},"feedback_fields":{"type":"array","items":{"type":"string"}}}}}],"responses":{"200":{"description":"OK","schema":{"title":"UpdateRequestRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"content":{"type":"string"},"feedback":{"type":"string"},"feedback_fields":{"type":"array","items":{"type":"string"}},"project":{"type":"object"},"organisation":{"type":"object"},"created_by":{"type":"object"}}}}}}},"\/v2\/admin\/{ENTITY}\/{UUID}\/{STATUS}":{"put":{"summary":"Update status of an project\/site\/nurser or their reports","operationId":"put-v2-admin-entity-uuid-status","tags":["V2 Projects","V2 Sites","V2 Nurseries","V2 Project Reports","V2 Site Reports","V2 Nursery Reports","V2 Update requests"],"parameters":[{"type":"string","name":"ENTITY","in":"path","required":true,"description":"allowed values are projects, project-reports, site, site-reports, nurseries, nursery-reports"},{"type":"string","name":"UUID","in":"path","required":true},{"type":"string","name":"STATUS","in":"path","required":true,"description":"allowed values are approve, moreinfo"},{"in":"body","name":"body","schema":{"title":"StatusUpdate","type":"object","properties":{"feedback":{"type":"string"},"feedback_fields":{"type":"array","items":{"type":"string"}}}}}],"responses":{"200":{"description":"OK"}}}},"\/v2\/update-requests\/{UUID}":{"get":{"summary":"View a specific Update Request","operationId":"get-v2-update-requests-uuid","tags":["V2 Update Request"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"UpdateRequestRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"content":{"type":"string"},"feedback":{"type":"string"},"feedback_fields":{"type":"array","items":{"type":"string"}},"project":{"type":"object"},"organisation":{"type":"object"},"created_by":{"type":"object"}}}}}},"delete":{"summary":"Soft delete an Update Request","operationId":"delete-v2-update-requests-uuid","tags":["V2 Update Requests"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}}}},"\/v2\/update-requests\/{ENTITY}\/{UUID}":{"get":{"summary":"View a specific Update Request","operationId":"get-v2-update-requests-entity-uuid","tags":["V2 Update Request"],"parameters":[{"type":"string","name":"ENTITY","in":"path","required":true,"description":"available options are project, site, nursery, project-report, site-report, nursery-report"},{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"UpdateRequestRead","type":"object","properties":{"uuid":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"content":{"type":"string"},"feedback":{"type":"string"},"feedback_fields":{"type":"array","items":{"type":"string"}},"project":{"type":"object"},"organisation":{"type":"object"},"created_by":{"type":"object"}}}}}}},"\/v2\/workdays\/{ENTITY}\/{UUID}":{"get":{"operationId":"get-v2-workdays-entity-uuid","summary":"View all workdays for a given entity","tags":["V2 Workdays"],"parameters":[{"type":"string","name":"ENTITY","in":"path","required":true,"description":"allowed values project-report\/site-report"},{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2WorkdayRead","type":"object","properties":{"uuid":{"type":"string"},"collection":{"type":"string"},"readable_collection":{"type":"string"},"demographics":{"type":"array","items":{"title":"WorkdayDemographic","type":"object","properties":{"type":{"type":"string","enum":["gender","age","ethnicity"]},"subtype":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"}}}}}}}}}}}}},"\/v2\/stratas":{"post":{"operationId":"post-v2-stratas","summary":"Crates a strata","tags":["V2 Strata"],"responses":{"201":{"description":"Created","schema":{"title":"V2StrataRead","type":"object","properties":{"uuid":{"type":"string"},"description":{"type":"string"},"extent":{"type":"integer"}}}}},"parameters":[{"in":"body","name":"body","schema":{"title":"V2StrataCreate","type":"object","properties":{"model_type":{"type":"string"},"model_uuid":{"type":"string"},"description":{"type":"string"},"extent":{"type":"integer"}}}}]}},"\/v2\/stratas\/{UUID}":{"patch":{"operationId":"patch-v2-stratas-uuid","summary":"Updata a strata","tags":["V2 Strata"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2StrataRead","type":"object","properties":{"uuid":{"type":"string"},"description":{"type":"string"},"extent":{"type":"integer"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"},"unfiltered_total":{"type":"integer"}}}}}}}},"delete":{"operationId":"delete-v2-stratas-uuid","summary":"Delete a strata","tags":["V2 Strata"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}}}},"\/v2\/stratas\/{ENTITY}\/{UUID}":{"get":{"operationId":"get-v2-stratas-entity-uuid","summary":"View all stratas for a given entity","tags":["V2 Strata"],"parameters":[{"type":"string","name":"ENTITY","in":"path","required":true,"description":"allowed values project\/site\/nursery\/project-reports\/site-reports\/nursery-reports"},{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2StrataRead","type":"object","properties":{"uuid":{"type":"string"},"description":{"type":"string"},"extent":{"type":"integer"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"},"unfiltered_total":{"type":"integer"}}}}}}}}},"\/v2\/seedings":{"post":{"operationId":"post-v2-seedings","summary":"Crates a seeding","tags":["V2 Seedings"],"responses":{"201":{"description":"Created","schema":{"title":"V2SeedingRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"weight_of_sample":{"type":"integer"},"seeds_in_sample":{"type":"integer"},"amount":{"type":"integer"}}}}},"parameters":[{"in":"body","name":"body","schema":{"title":"V2SeedingCreate","type":"object","properties":{"model_type":{"type":"string"},"model_uuid":{"type":"string"},"name":{"type":"string"},"weight_of_sample":{"type":"integer"},"seeds_in_sample":{"type":"integer"},"amount":{"type":"integer"}}}}]}},"\/v2\/seedings\/{UUID}":{"patch":{"operationId":"patch-v2-seedings-uuid","summary":"Update a seeding","tags":["V2 Seedings"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"V2SeedingPaginated","type":"object","properties":{"data":{"type":"array","items":{"title":"V2SeedingRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"weight_of_sample":{"type":"integer"},"seeds_in_sample":{"type":"integer"},"amount":{"type":"integer"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"},"unfiltered_total":{"type":"integer"}}}}}}}},"delete":{"operationId":"delete-v2-seedings-uuid","summary":"Delete a seeding","tags":["V2 Seedings"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}}}},"\/v2\/seedings\/{ENTITY}\/{UUID}":{"get":{"operationId":"get-v2-seedings-entity-uuid","summary":"View all seedings for a given entity","tags":["V2 Seedings"],"parameters":[{"type":"string","name":"ENTITY","in":"path","required":true,"description":"allowed values site\/site-reports"},{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"V2SeedingPaginated","type":"object","properties":{"data":{"type":"array","items":{"title":"V2SeedingRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"weight_of_sample":{"type":"integer"},"seeds_in_sample":{"type":"integer"},"amount":{"type":"integer"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"},"unfiltered_total":{"type":"integer"}}}}}}}}},"\/v2\/disturbances":{"post":{"operationId":"post-v2-disturbances","summary":"Crates a disturbance","tags":["V2 Disturbance"],"responses":{"201":{"description":"Created","schema":{"title":"V2DisturbanceRead","type":"object","properties":{"uuid":{"type":"string"},"description":{"type":"string"},"intensity":{"type":"string"},"extent":{"type":"string"}}}}},"parameters":[{"in":"body","name":"body","schema":{"title":"V2DisturbanceCreate","type":"object","properties":{"model_type":{"type":"string"},"model_uuid":{"type":"integer"},"description":{"type":"string"},"intensity":{"type":"string"},"extent":{"type":"string"},"collection":{"type":"string"}}}}]}},"\/v2\/disturbances\/{UUID}":{"patch":{"operationId":"patch-v2-disturbances-uuid","summary":"Update a disturbance","tags":["V2 Disturbance"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2DisturbanceRead","type":"object","properties":{"uuid":{"type":"string"},"description":{"type":"string"},"intensity":{"type":"string"},"extent":{"type":"string"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"},"unfiltered_total":{"type":"integer"}}}}}}}},"delete":{"operationId":"delete-v2-disturbances-uuid","summary":"Delete a Disturbance","tags":["V2 Disturbance"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}}}},"\/v2\/disturbances\/{ENTITY}\/{UUID}":{"get":{"operationId":"get-v2-disturbances-entity-uuid","summary":"View all disturbances for a given entity","tags":["V2 Disturbance"],"parameters":[{"type":"string","name":"ENTITY","in":"path","required":true,"description":"allowed values project\/site\/nursery\/project-reports\/site-reports\/nursery-reports"},{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2DisturbanceRead","type":"object","properties":{"uuid":{"type":"string"},"description":{"type":"string"},"intensity":{"type":"string"},"extent":{"type":"string"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"},"unfiltered_total":{"type":"integer"}}}}}}}}},"\/v2\/invasives":{"post":{"operationId":"post-v2-invasives","summary":"Crates a Invasive","tags":["V2 Invasive"],"responses":{"201":{"description":"Created","schema":{"title":"V2InvasiveRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"type":{"type":"integer"}}}}},"parameters":[{"in":"body","name":"body","schema":{"title":"V2InvasiveCreate","type":"object","properties":{"model_type":{"type":"string"},"model_uuid":{"type":"integer"},"name":{"type":"string"},"type":{"type":"string"},"collection":{"type":"string"}}}}]}},"\/v2\/invasives\/{UUID}":{"patch":{"operationId":"patch-v2-invasives-uuid","summary":"Update a Invasive","tags":["V2 Invasive"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2InvasiveRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"type":{"type":"integer"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"},"unfiltered_total":{"type":"integer"}}}}}}}},"delete":{"operationId":"delete-v2-invasives-uuid","summary":"Delete a Invasive","tags":["V2 Invasive"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}}}},"\/v2\/invasives\/{ENTITY}\/{UUID}":{"get":{"operationId":"get-v2-invasives-entity-uuid","summary":"View all invasives for a given entity","tags":["V2 Invasive"],"parameters":[{"type":"string","name":"ENTITY","in":"path","required":true,"description":"allowed values project\/site\/nursery\/project-reports\/site-reports\/nursery-reports"},{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2InvasiveRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"type":{"type":"integer"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"},"unfiltered_total":{"type":"integer"}}}}}}}}},"\/v2\/forms":{"get":{"summary":"View all forms as a user","tags":["Forms"],"parameters":[{"in":"body","name":"body","schema":{"title":"V2SearchFilterSort","type":"object","properties":{"search":{"type":"string","description":"search term to use on the collection"},"filter":{"type":"string","description":"multiple filters can be applied. syntax is ?filter[foo]=value1,value2$filter[bar]=value3"},"sort":{"type":"string","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-name"},"per_page":{"type":"integer","description":"number of results (per page) to return"},"page":{"type":"integer","description":"page number you want results from"}}}}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"}}}}}}},"operationId":"get-v2-user-forms"}},"\/v2\/admin\/forms\/{UUID}\/publish":{"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"patch":{"summary":"Publish a form","operationId":"patch-v2-admin-forms-UUID-publish","responses":{"200":{"description":"OK","schema":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"tags":["Forms"]}},"\/v2\/admin\/forms\/section":{"parameters":[],"post":{"summary":"Create a form section","operationId":"post-v2-admin-forms-section","responses":{"201":{"description":"Created","schema":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}}},"parameters":[{"in":"body","name":"body","schema":{"title":"FormSectionCreate","x-stoplight":{"id":"97clxg83l8q3f"},"type":"object","properties":{"order":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"form_questions":{"type":"array","items":{"title":"FormQuestionCreate","type":"object","properties":{"additional_props":{"type":"array","items":{"type":"object"}},"child_form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"linked_field_key":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"label":{"type":"string"},"placeholder":{"type":"string"},"description":{"type":"string"},"validation":{"type":"object"},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options_list":{"type":"string"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}}}}}],"tags":["Forms"]}},"\/v2\/admin\/forms\/question\/{UUID}":{"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"delete":{"summary":"Delete a form question","operationId":"delete-v2-admin-form-question-UUID","responses":{"200":{"description":"OK","schema":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}}},"tags":["Forms"]}},"\/v2\/admin\/forms\/section\/{UUID}":{"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"delete":{"summary":"Delete a form section","operationId":"delete-v2-admin-form-section-UUID","responses":{"200":{"description":"OK","schema":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}}},"tags":["Forms"]},"patch":{"summary":"Update a form section","operationId":"patch-v2-admin-form-section-UUID","responses":{"200":{"description":"OK","schema":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}}},"parameters":[{"in":"body","name":"body","schema":{"title":"FormSectionUpdate","x-stoplight":{"id":"tlqkri2rdwi5w"},"type":"object","properties":{"order":{"type":"integer"}}}}],"tags":["Forms"]}},"\/v2\/admin\/forms\/{UUID}":{"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"delete":{"summary":"Delete an unpublished form","operationId":"v2-admin-delete-form-by-uuid","tags":["Forms"],"responses":{"200":{"description":"Accepted"}}},"patch":{"summary":"Update a form","operationId":"patch-v2-admin-form-UUID","responses":{"200":{"description":"OK","schema":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"tags":["Forms"],"parameters":[{"in":"body","name":"body","schema":{"title":"FormUpdate","x-stoplight":{"id":"m4lcpf2li93rf"},"type":"object","properties":{"type":{"type":"string"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"duration":{"type":"string"},"options_other":{"type":"boolean"}}}}]}},"\/v2\/forms\/linked-field-listing":{"get":{"summary":"Get a list of available linked fields","operationId":"get-v2-form-linked-field-listing","parameters":[{"name":"form_types","type":"array","items":{"type":"string"},"in":"query","description":"array of form types"}],"responses":{"200":{"description":"OK","schema":{"title":"V2GenericList","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"input_type":{"type":"string"},"model_key":{"type":"string"},"option_list_key":{"type":"string"},"options":{"type":"array","items":{"type":"string"}}}}}},"tags":["Forms"]}},"\/v2\/admin\/forms\/common-options\/{BUCKET}":{"get":{"summary":"Search for common options on a bucket","operationId":"get-v2-admin-form-common-options-bucket","parameters":[{"type":"string","name":"BUCKET","in":"path","required":true,"description":"name of the bucket\/collection of common options"},{"name":"search","type":"string","in":"query","description":"search term to use on the collection"}],"responses":{"200":{"description":"OK","schema":{"title":"V2CommonOptions","type":"object","properties":{"uuid":{"type":"string"},"slug":{"type":"string"},"alt_value":{"type":"string"},"label":{"type":"string"}}}}},"tags":["Forms"]}},"\/v2\/admin\/organisations":{"get":{"summary":"Get a collection of organisations","operationId":"v2-admin-get-organisations","description":"Currently available sort is status, type, trees_grown_total, name, fin_budget_1year, created_at","parameters":[{"name":"search","type":"string","in":"query","description":"search term to use on the collection"},{"name":"filter","type":"string","in":"query","description":"multiple filters can be applied. syntax is ?filter[foo]=value1,value2$filter[bar]=value3"},{"name":"sort","type":"string","in":"query","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-last_name"},{"name":"per_page","type":"integer","in":"query","description":"number of results (per page) to return"},{"name":"page","type":"integer","in":"query","description":"page number you want results from"}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"AdminOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"links":{"type":"object","title":"V2PaginationLinks","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","title":"V2PaginationMeta","properties":{"from":{"type":"integer"},"to":{"type":"integer"},"current_page":{"type":"integer"},"last_page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"path":{"type":"string"},"links":{"type":"array","items":{"title":"V2PaginationCurrentLinks","properties":{"url":{"type":"string"},"label":{"type":"string"},"active":{"type":"boolean"}}}}}}}}}},"tags":["V2 Admin","V2 Organisations"]}},"\/v2\/admin\/organisations\/multi":{"get":{"summary":"Get a collection of organisation by uuids","operationId":"v2-admin-get-organisation-multi-by-uuid","tags":["V2 Admin","V2 Organisations"],"parameters":[{"type":"string","in":"query","name":"ids","description":"comma separated list of values. eg ?ids=uuid1,uuid2","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"AdminOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}}}},"\/v2\/admin\/organisations\/{UUID}":{"get":{"summary":"Get a organisation by uuid","operationId":"v2-admin-get-organisation-by-uuid","tags":["V2 Admin","V2 Organisations"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"AdminOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}}},"put":{"summary":"Updates a specific organisation","operationId":"v2-admin-put-organisation-by-uuid","tags":["V2 Admin","V2 Organisations"],"parameters":[{"in":"body","name":"body","schema":{"title":"AdminOrganisationUpdate","type":"object","properties":{"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","items":{"type":"string"}}}}},{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"AdminOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}}},"delete":{"summary":"Delete a specific organisation","operationId":"v2-admin-delete-organisation-by-uuid","tags":["V2 Admin","V2 Organisations"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"202":{"description":"Accepted"}}}},"\/v2\/admin\/organisations\/approve":{"put":{"summary":"Approve a specific organisation","operationId":"v2-admin-organisation-approve","tags":["V2 Admin","V2 Organisations"],"parameters":[{"in":"body","name":"body","schema":{"type":"object","properties":{"uuid":{"type":"string"}},"required":["uuid"]}}],"responses":{"200":{"description":"OK","schema":{"title":"AdminOrganisationUpdate","type":"object","properties":{"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","items":{"type":"string"}}}}}}}},"\/v2\/admin\/organisations\/reject":{"put":{"summary":"Reject a specific organisation","operationId":"v2-admin-organisation-reject","tags":["V2 Admin","V2 Organisations"],"parameters":[{"in":"body","name":"body","schema":{"type":"object","properties":{"uuid":{"type":"string"}},"required":["uuid"]}}],"responses":{"200":{"description":"OK","schema":{"title":"AdminOrganisationUpdate","type":"object","properties":{"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","items":{"type":"string"}}}}}}}},"\/v2\/admin\/organisations\/export":{"get":{"summary":"Export CSV document of all time organaisations","tags":["V2 Admin","Export"],"produces":["text\/plain"],"responses":{"200":{"description":"OK","schema":{"type":"file"}}}}},"\/v2\/organisations":{"post":{"summary":"Create an organisation","operationId":"v2-post-organisations","tags":["V2 Project Developer","V2 Organisations"],"parameters":[{"in":"body","name":"body","schema":{"title":"OrganisationUpdate","type":"object","properties":{"type":{"type":"string","description":"Available type are for-profit-organization, non-profit-organization, government-agency"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"community_members_engaged_3yr":{"type":"number"},"community_members_engaged_3yr_women":{"type":"number"},"community_members_engaged_3yr_men":{"type":"number"},"community_members_engaged_3yr_youth":{"type":"number"},"community_members_engaged_3yr_non_youth":{"type":"number"},"community_members_engaged_3yr_smallholder":{"type":"number"},"community_members_engaged_3yr_backward_class":{"type":"number"},"total_board_members":{"type":"number"},"pct_board_women":{"type":"number"},"pct_board_men":{"type":"number"},"pct_board_youth":{"type":"number"},"pct_board_non_youth":{"type":"number"},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"languages":{"type":"array","items":{"type":"string"}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","items":{"type":"string"}}}}}],"responses":{"200":{"description":"OK"}}}},"\/v2\/organisations\/{UUID}":{"get":{"summary":"Get a specific organisation","operationId":"v2-get-organisations-uuid","tags":["V2 Project Developer","V2 Organisations"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}}}}},"put":{"summary":"Update an organisation","operationId":"v2-put-organisations-uuid","tags":["V2 Project Developer","V2 Organisations"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"in":"body","name":"body","schema":{"title":"OrganisationUpdate","type":"object","properties":{"type":{"type":"string","description":"Available type are for-profit-organization, non-profit-organization, government-agency"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"community_members_engaged_3yr":{"type":"number"},"community_members_engaged_3yr_women":{"type":"number"},"community_members_engaged_3yr_men":{"type":"number"},"community_members_engaged_3yr_youth":{"type":"number"},"community_members_engaged_3yr_non_youth":{"type":"number"},"community_members_engaged_3yr_smallholder":{"type":"number"},"community_members_engaged_3yr_backward_class":{"type":"number"},"total_board_members":{"type":"number"},"pct_board_women":{"type":"number"},"pct_board_men":{"type":"number"},"pct_board_youth":{"type":"number"},"pct_board_non_youth":{"type":"number"},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"languages":{"type":"array","items":{"type":"string"}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","items":{"type":"string"}}}}}],"responses":{"200":{"description":"OK"}}}},"\/v2\/organisations\/listing":{"get":{"summary":"Get a list of organisations names and uuid","operationId":"v2-get-organisations-listing","tags":["V2 Project Developer","V2 Organisations"],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2GenericList","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"input_type":{"type":"string"},"model_key":{"type":"string"},"option_list_key":{"type":"string"},"options":{"type":"array","items":{"type":"string"}}}}}}}}},"parameters":[{"type":"string","in":"query","name":"search","description":"search term to use on the collection"}]}},"\/v2\/organisations\/join-existing":{"post":{"summary":"Post a request to join an existing organisation","operationId":"v2-post-organisations-join-existing","tags":["V2 Project Developer","V2 Organisations"],"parameters":[{"in":"body","name":"body","schema":{"type":"object","properties":{"organisation_uuid":{"type":"string"}},"required":["organisation_uuid"]}}],"responses":{"200":{"description":"OK","schema":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}}}}}},"\/v2\/organisations\/user-requests\/{UUID}":{"get":{"summary":"Get a collection of users that have requested to join a specific organisation","operationId":"v2-get-organisations-user-requests-uuid","tags":["V2 Project Developer","V2 Organisations"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"organisation_id":{"type":"integer"},"organisation_name":{"type":"string"},"my_organisation":{"title":"AdminOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"my_monitoring_organisations":{"type":"array","items":{"title":"V2MonitoringOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"users_status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"email_address_verified_at":{"type":"string","format":"date-time"},"role":{"type":"string"},"last_logged_in_at":{"type":"string","format":"date-time"},"job_role":{"type":"string"},"facebook":{"type":"string"},"twitter":{"type":"string"},"instagram":{"type":"string"},"linkedin":{"type":"string"},"avatar":{"type":"string"},"phone_number":{"type":"string"},"whatsapp_phone":{"type":"string"},"has_ppc_projects":{"type":"boolean"},"has_terrafund_projects":{"type":"boolean"}}}}}}}},"\/v2\/organisations\/approved-users\/{UUID}":{"get":{"summary":"Get a collection of users that have been approved for a specific organisation","operationId":"v2-get-organisations-approved-users-uuid","tags":["V2 Project Developer","V2 Organisations"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"organisation_id":{"type":"integer"},"organisation_name":{"type":"string"},"my_organisation":{"title":"AdminOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"my_monitoring_organisations":{"type":"array","items":{"title":"V2MonitoringOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"users_status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"email_address_verified_at":{"type":"string","format":"date-time"},"role":{"type":"string"},"last_logged_in_at":{"type":"string","format":"date-time"},"job_role":{"type":"string"},"facebook":{"type":"string"},"twitter":{"type":"string"},"instagram":{"type":"string"},"linkedin":{"type":"string"},"avatar":{"type":"string"},"phone_number":{"type":"string"},"whatsapp_phone":{"type":"string"},"has_ppc_projects":{"type":"boolean"},"has_terrafund_projects":{"type":"boolean"}}}}}}}},"\/v2\/organisations\/approve-user":{"put":{"summary":"Approve a users request to join an existing organisation","operationId":"v2-post-organisations-approve-user","tags":["V2 Project Developer","V2 Organisations"],"parameters":[{"in":"body","name":"body","schema":{"title":"OrganisationApproveRejectUser","type":"object","properties":{"organisation_uuid":{"type":"string"},"user_uuid":{"type":"string"}},"required":["organisation_uuid","user_uuid"]}}],"responses":{"200":{"description":"OK"}}}},"\/v2\/organisations\/reject-user":{"put":{"summary":"Reject a users request to join an existing organisation","operationId":"v2-post-organisations-reject-user","tags":["V2 Project Developer","V2 Organisations"],"parameters":[{"in":"body","name":"body","schema":{"title":"OrganisationApproveRejectUser","type":"object","properties":{"organisation_uuid":{"type":"string"},"user_uuid":{"type":"string"}},"required":["organisation_uuid","user_uuid"]}}],"responses":{"200":{"description":"OK"}}}},"\/v2\/organisations\/submit\/{UUID}":{"put":{"summary":"Submit an organisation for approval","operationId":"v2-put-organisations-submit","tags":["V2 Project Developer","V2 Organisations"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}}}},"\/v2\/organisations\/retract-my-draft":{"delete":{"summary":"Retracts (delets) a users draft organisation","operationId":"v2-delete-organisations-retract-my-draft","tags":["V2 Project Developer","V2 Organisations"],"responses":{"200":{"description":"OK"}}}},"\/v2\/admin\/users":{"get":{"summary":"Get a collection of users","operationId":"v2-admin-get-users","description":"Currently available sort is last_logged_in_at, created_at, first_name, last_name, email_address, organisation_name","tags":["V2 Admin","V2 Users"],"parameters":[{"name":"search","type":"string","in":"query","description":"search term to use on the collection"},{"name":"filter","type":"string","in":"query","description":"multiple filters can be applied. syntax is ?filter[verified]=true"},{"name":"sort","type":"string","in":"query","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-last_name"},{"name":"per_page","type":"integer","in":"query","description":"number of results (per page) to return"},{"name":"page","type":"integer","in":"query","description":"page number you want results from"}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"AdminUserRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"job_role":{"type":"string"},"facebook":{"type":"string"},"instagram":{"type":"string"},"linkedin":{"type":"string"},"twitter":{"type":"string"},"whatsapp_phone":{"type":"string"},"date_added":{"type":"string"}}}},"links":{"type":"object","title":"V2PaginationLinks","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","title":"V2PaginationMeta","properties":{"from":{"type":"integer"},"to":{"type":"integer"},"current_page":{"type":"integer"},"last_page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"path":{"type":"string"},"links":{"type":"array","items":{"title":"V2PaginationCurrentLinks","properties":{"url":{"type":"string"},"label":{"type":"string"},"active":{"type":"boolean"}}}}}}}}}}}},"\/v2\/admin\/users\/{UUID}":{"get":{"summary":"Get a user by uuid","operationId":"v2-admin-get-user-by-uuid","tags":["V2 Admin","V2 Users"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"AdminUserRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"job_role":{"type":"string"},"facebook":{"type":"string"},"instagram":{"type":"string"},"linkedin":{"type":"string"},"twitter":{"type":"string"},"whatsapp_phone":{"type":"string"},"date_added":{"type":"string"}}}}}},"put":{"summary":"Updates a specific user","operationId":"v2-admin-put-user-by-uuid","tags":["V2 Admin","V2 Users"],"parameters":[{"in":"body","name":"body","schema":{"title":"AdminUserUpdate","type":"object","properties":{"type":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"password":{"type":"string"},"job_role":{"type":"string"},"facebook":{"type":"string"},"instagram":{"type":"string"},"linkedin":{"type":"string"},"twitter":{"type":"string"},"whatsapp_phone":{"type":"string"},"organisation":{"type":"string"},"monitoring_organisations":{"type":"array","items":{"title":"V2MonitoringOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"users_status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}}}},{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"AdminUserRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"job_role":{"type":"string"},"facebook":{"type":"string"},"instagram":{"type":"string"},"linkedin":{"type":"string"},"twitter":{"type":"string"},"whatsapp_phone":{"type":"string"},"date_added":{"type":"string"}}}}}},"delete":{"summary":"Delete a specific user","operationId":"v2-admin-delete-user-by-uuid","tags":["V2 Admin","V2 Users"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"202":{"description":"Accepted"}}}},"\/v2\/admin\/users\/multi":{"get":{"summary":"Get a a collection of users by uuid","operationId":"v2-admin-get-multi-user-by-uuid","tags":["V2 Admin","V2 Users"],"parameters":[{"name":"ids","in":"query","required":false,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"title":"AdminUserRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"job_role":{"type":"string"},"facebook":{"type":"string"},"instagram":{"type":"string"},"linkedin":{"type":"string"},"twitter":{"type":"string"},"whatsapp_phone":{"type":"string"},"date_added":{"type":"string"}}}}}}},"\/v2\/admin\/users\/export":{"get":{"summary":"Export CSV document of all users","operationId":"v2-admin-users-export","tags":["V2 Admin","V2 Users","Export"],"produces":["text\/plain"],"responses":{"200":{"description":"OK","schema":{"type":"file"}}}}},"\/v2\/admin\/users\/reset-password\/{UUID}":{"put":{"summary":"Update a specific users password","operationId":"v2-admin-users-reset-password-uuid","tags":["V2 Admin","V2 Users"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"type":"string","name":"password","in":"formData","required":true},{"type":"string","name":"password_confirmation","in":"formData","required":true}],"responses":{"200":{"description":"OK"}}}},"\/v2\/admin\/users\/verify\/{UUID}":{"patch":{"summary":"Force verify a user","operationId":"v2-admin-users-verify-uuid","tags":["V2 Admin","V2 Users"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}}}},"\/v2\/{MODEL}\/{UUID}\/files":{"get":{"summary":"Retrieve files for a specific entity","operationId":"get-v2-model-uuid-files","description":"Available Filters : file_type","tags":["Files"],"produces":["application\/json"],"parameters":[{"type":"string","name":"MODEL","in":"path","required":true,"description":"Currently only projects, sites, nurseries, project-reports, nursery-reports, site-reports, project-monitorings and site-monitorings are set up"},{"type":"string","name":"UUID","in":"path","required":true},{"name":"filter","type":"string","in":"query","description":"multiple filters can be applied. syntax is ?filter[foo]=value1,value2$filter[bar]=value3"},{"name":"per_page","type":"integer","in":"query","description":"number of results (per page) to return"},{"name":"model_name","type":"string","in":"query","description":"dependent on model available options are projects, project-reports, sites, site-reports, nurseries, nursery-reports"},{"name":"page","type":"integer","in":"query","description":"page number you want results from"}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2FileGallery","type":"object","properties":{"uuid":{"type":"string"},"file_url":{"type":"string"},"thumb_url":{"type":"string"},"file_name":{"type":"string"},"created_date":{"type":"string"},"model_name":{"type":"string"},"is_public":{"type":"boolean"},"location":{"type":"object","properties":{"lat":{"type":"number"},"lng":{"type":"number"}}},"mime_type":{"type":"string"},"file_size":{"type":"integer"},"collection_name":{"type":"string"}}}},"links":{"title":"V2PaginationLinks","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"title":"V2PaginationMeta","properties":{"from":{"type":"integer"},"to":{"type":"integer"},"current_page":{"type":"integer"},"last_page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"path":{"type":"string"},"links":{"type":"array","items":{"title":"V2PaginationCurrentLinks","properties":{"url":{"type":"string"},"label":{"type":"string"},"active":{"type":"boolean"}}}}}}}}}}}},"\/v2\/{MODEL}\/{UUID}\/image\/locations":{"get":{"summary":"Retrieve all images for a specific entity","operationId":"get-v2-model-uuid-image-locations","tags":["Files"],"produces":["application\/json"],"parameters":[{"type":"string","name":"MODEL","in":"path","required":true,"description":"Currently only projects, sites, nurseries, project-reports, nursery-reports and site-reports are set up"},{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2FileGallery","type":"object","properties":{"uuid":{"type":"string"},"thumb_url":{"type":"string"},"location":{"type":"object","properties":{"lat":{"type":"number"},"lng":{"type":"number"}}}}}}}}}}}},"\/v2\/file\/upload\/{MODEL}\/{COLLECTION}\/{UUID}":{"post":{"summary":"Upload a file to a specific entities collection","operationId":"v2-post-upload-file-model-collection-uuid","tags":["Files"],"consumes":["multipart\/form-data"],"produces":["application\/json"],"parameters":[{"type":"string","name":"MODEL","in":"path","required":true,"description":"Currently only organisation, funding-programme, project-pitch, project, site, nursery, project-report, site-report, nursery-report, project-monitoring and site-monitoring are set up"},{"type":"string","name":"COLLECTION","in":"path","required":true},{"type":"string","name":"UUID","in":"path","required":true},{"type":"string","name":"title","in":"formData"},{"type":"file","name":"upload_file","in":"formData"},{"type":"integer","name":"lat","in":"formData"},{"type":"integer","name":"lng","in":"formData"},{"type":"boolean","name":"is_public","default":true,"in":"formData"}],"responses":{"200":{"description":"OK","schema":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}}}}},"\/v2\/file\/upload\/site\/photos\/{UUID}\/bulk_url":{"post":{"summary":"Upload a batch of photos to a specific site","operationId":"v2-post-upload-file-site-photos-uuid-bulk","tags":["Files"],"consumes":["application\/json"],"produces":["application\/json"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"description":"Batch of photos to upload","in":"body","name":"body","required":true,"schema":{"type":"array","items":{"type":"object","properties":{"download_url":{"type":"string"},"title":{"type":"string","default":"Name of image"},"lat":{"type":"integer","default":null},"lng":{"type":"integer","default":null},"is_public":{"type":"boolean","default":true}}}}}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}}}}}},"\/v2\/media":{"delete":{"summary":"Bulk delete a set of media by UUID","operationId":"v2-bulk-delete-media","tags":["Media"],"parameters":[{"type":"array","name":"uuids[]","in":"query","required":true,"items":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"\/v2\/files\/{UUID}":{"put":{"summary":"Update properties of a specific file","operationId":"v2-put-file-uuid","tags":["Files"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"in":"body","name":"body","schema":{"type":"object","properties":{"title":{"type":"string"},"is_public":{"type":"boolean"}},"required":["title"]}}],"responses":{"200":{"description":"OK","schema":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}}}},"delete":{"summary":"Delete a specific file","operationId":"v2-delete-file-uuid","tags":["Files"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}}}},"\/v2\/funding-type":{"post":{"summary":"Create a funding type entry","operationId":"post-v2-funding-type","responses":{"201":{"description":"Created","schema":{"title":"V2FundingTypeRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"organisation_id":{"type":"string"},"amount":{"type":"integer"},"year":{"type":"integer"},"type":{"type":"string"}}}}},"parameters":[{"in":"body","name":"body","schema":{"title":"V2FundingTypeCreate","type":"object","properties":{"organisation_id":{"type":"string"},"amount":{"type":"integer"},"year":{"type":"integer"},"type":{"type":"string"}}}}],"tags":["V2 Funding Type"]}},"\/v2\/funding-type\/{UUID}":{"patch":{"summary":"Update a funding type","operationId":"patch-v2-funding-type-UUID","responses":{"200":{"description":"OK","schema":{"title":"V2FundingTypeRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"organisation_id":{"type":"string"},"amount":{"type":"integer"},"year":{"type":"integer"},"type":{"type":"string"}}}}},"tags":["V2 Funding Type"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"in":"body","name":"body","schema":{"title":"V2FundingTypeUpdate","type":"object","properties":{"amount":{"type":"integer"},"year":{"type":"integer"},"type":{"type":"string"}}}}]},"delete":{"summary":"Delete a funding type entry","operationId":"delete-v2-funding-type-UUID","parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"V2FundingTypeRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"organisation_id":{"type":"string"},"amount":{"type":"integer"},"year":{"type":"integer"},"type":{"type":"string"}}}}},"tags":["V2 Funding Type"]}},"\/v2\/core-team-leader":{"post":{"summary":"Create a core team leader","operationId":"post-v2-core-team-leader","responses":{"201":{"description":"Created","schema":{"title":"V2CoreTeamLeaderRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"organisation_id":{"type":"string"},"position":{"type":"string"},"gender":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"role":{"type":"string"},"age":{"type":"integer"}}}}},"parameters":[{"in":"body","name":"body","schema":{"title":"V2CoreTeamLeaderCreate","type":"object","properties":{"organisation_id":{"type":"string"},"position":{"type":"string"},"gender":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"role":{"type":"string"},"age":{"type":"integer"}}}}],"tags":["V2 Core Team Leader"]}},"\/v2\/core-team-leader\/{UUID}":{"patch":{"summary":"Update a core team leader","operationId":"patch-v2-core-team-leader-UUID","responses":{"200":{"description":"OK","schema":{"title":"V2CoreTeamLeaderRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"organisation_id":{"type":"string"},"position":{"type":"string"},"gender":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"role":{"type":"string"},"age":{"type":"integer"}}}}},"tags":["V2 Core Team Leader"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"in":"body","name":"body","schema":{"title":"V2CoreTeamLeaderUpdate","type":"object","properties":{"position":{"type":"string"},"gender":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"role":{"type":"string"},"age":{"type":"integer"}}}}]},"delete":{"summary":"Delete a core team leader","operationId":"delete-v2-core-team-leader-UUID","parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"V2CoreTeamLeaderRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"organisation_id":{"type":"string"},"position":{"type":"string"},"gender":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"role":{"type":"string"},"age":{"type":"integer"}}}}},"tags":["V2 Core Team Leader"]}},"\/v2\/leadership-team":{"post":{"summary":"Create a leadership team","operationId":"post-v2-leadership-team","responses":{"201":{"description":"Created","schema":{"title":"V2LeadershipTeamRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"organisation_id":{"type":"string"},"position":{"type":"string"},"gender":{"type":"string"},"age":{"type":"integer"}}}}},"parameters":[{"in":"body","name":"body","schema":{"title":"V2LeadershipTeamCreate","type":"object","properties":{"organisation_id":{"type":"string"},"position":{"type":"string"},"gender":{"type":"string"},"age":{"type":"integer"}}}}],"tags":["V2 Leadership Team"]}},"\/v2\/leadership-team\/{UUID}":{"patch":{"summary":"Update a leadership team","operationId":"patch-v2-leadership-team-UUID","responses":{"200":{"description":"OK","schema":{"title":"V2LeadershipTeamRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"organisation_id":{"type":"string"},"position":{"type":"string"},"gender":{"type":"string"},"age":{"type":"integer"}}}}},"tags":["V2 Leadership Team"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"in":"body","name":"body","schema":{"title":"V2LeadershipTeamUpdate","type":"object","properties":{"position":{"type":"string"},"gender":{"type":"string"},"age":{"type":"integer"}}}}]},"delete":{"summary":"Delete a leadership team","operationId":"delete-v2-leadership-team-UUID","parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"V2LeadershipTeamRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"organisation_id":{"type":"string"},"position":{"type":"string"},"gender":{"type":"string"},"age":{"type":"integer"}}}}},"tags":["V2 Leadership Team"]}},"\/v2\/ownership-stake":{"post":{"summary":"Create a ownership stake","operationId":"post-v2-ownership-stake","responses":{"201":{"description":"Created","schema":{"title":"V2OwnershipStakeRead","type":"object","properties":{"uuid":{"type":"string"},"organisation_id":{"type":"string"},"position":{"type":"string"},"gender":{"type":"string"},"age":{"type":"integer"},"percent_ownership":{"type":"integer"}}}}},"parameters":[{"in":"body","name":"body","schema":{"title":"V2OwnershipStakeCreate","type":"object","properties":{"organisation_id":{"type":"string"},"position":{"type":"string"},"gender":{"type":"string"},"age":{"type":"integer"},"percent_ownership":{"type":"integer"}}}}],"tags":["V2 Ownership Stake"]}},"\/v2\/ownership-stake\/{UUID}":{"patch":{"summary":"Update a ownership stake","operationId":"patch-v2-ownership-stake-UUID","responses":{"200":{"description":"OK","schema":{"title":"V2OwnershipStakeRead","type":"object","properties":{"uuid":{"type":"string"},"organisation_id":{"type":"string"},"position":{"type":"string"},"gender":{"type":"string"},"age":{"type":"integer"},"percent_ownership":{"type":"integer"}}}}},"tags":["V2 Ownership Stake"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"in":"body","name":"body","schema":{"title":"V2OwnershipStakeUpdate","type":"object","properties":{"position":{"type":"string"},"gender":{"type":"string"},"age":{"type":"integer"},"percent_ownership":{"type":"integer"}}}}]},"delete":{"summary":"Delete a ownership stake","operationId":"delete-v2-ownership-stake-UUID","parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"V2OwnershipStakeRead","type":"object","properties":{"uuid":{"type":"string"},"organisation_id":{"type":"string"},"position":{"type":"string"},"gender":{"type":"string"},"age":{"type":"integer"},"percent_ownership":{"type":"integer"}}}}},"tags":["V2 Ownership Stake"]}},"\/v2\/admin\/sites":{"get":{"summary":"View all sites as an admin","tags":["V2 Sites"],"parameters":[{"name":"search","type":"string","in":"query","description":"search term to use on the collection"},{"name":"filter","type":"string","in":"query","description":"multiple filters can be applied. syntax is ?filter[foo]=value1,value2$filter[bar]=value3"},{"name":"sort","type":"string","in":"query","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-last_name"},{"name":"per_page","type":"integer","in":"query","description":"number of results (per page) to return"},{"name":"page","type":"integer","in":"query","description":"page number you want results from"}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"site_id":{"type":"integer"},"terrafund_site_id":{"type":"integer"},"programme_id":{"type":"integer"},"terrafund_programme_id":{"type":"integer"},"control_site":{"type":"boolean"},"name":{"type":"string"},"country":{"type":"string"},"project_country":{"type":"string"},"continent":{"type":"string"},"description":{"type":"string"},"planting_pattern":{"type":"string"},"stratification_for_heterogeneity":{"type":"string"},"history":{"type":"string"},"workdays_paid":{"type":"integer"},"workdays_volunteer":{"type":"integer"},"total_workdays":{"type":"integer"},"establishment_date":{"type":"string","format":"date"},"start_date":{"type":"string","format":"date"},"end_date":{"type":"string","format":"date"},"technical_narrative":{"type":"string"},"public_narrative":{"type":"string"},"aim_survival_rate":{"type":"number"},"aim_year_five_crown_cover":{"type":"number"},"aim_direct_seeding_survival_rate":{"type":"number"},"aim_natural_regeneration_trees_per_hectare":{"type":"number"},"aim_natural_regeneration_hectares":{"type":"number"},"aim_soil_condition":{"type":"string"},"aim_number_of_mature_trees":{"type":"integer"},"hectares_to_restore":{"type":"number"},"landscape_community_contribution":{"type":"string"},"disturbances":{"type":"string"},"boundary_geojson":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"}}}}}}},"operationId":"get-v2-admin-sites"}},"\/v2\/admin\/project-pitches":{"get":{"summary":"View project pitches as an admin","tags":["Project Pitches"],"parameters":[{"name":"search","type":"string","in":"query","description":"search term to use on the collection"},{"name":"filter","type":"string","in":"query","description":"multiple filters can be applied. syntax is ?filter[foo]=value1,value2$filter[bar]=value3"},{"name":"sort","type":"string","in":"query","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-last_name"},{"name":"per_page","type":"integer","in":"query","description":"number of results (per page) to return"},{"name":"page","type":"integer","in":"query","description":"page number you want results from"}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"}}}}}}},"operationId":"get-v2-admin-project-pitches","description":""}},"\/v2\/admin\/projects":{"get":{"summary":"View projects as an admin","tags":["V2 Projects"],"parameters":[{"name":"search","type":"string","in":"query","description":"search term to use on the collection"},{"name":"filter","type":"string","in":"query","description":"multiple filters can be applied. syntax is ?filter[foo]=value1,value2$filter[bar]=value3"},{"name":"sort","type":"string","in":"query","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-last_name"},{"name":"per_page","type":"integer","in":"query","description":"number of results (per page) to return"},{"name":"page","type":"integer","in":"query","description":"page number you want results from"}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"}}}}}}},"operationId":"get-v2-admin-projects","description":""}},"\/v2\/projects\/{UUID}":{"get":{"summary":"View a specific project","tags":["V2 Projects"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"application":{"title":"ApplicationLiteRead","type":"object","properties":{"uuid":{"type":"string"},"form_submissions":{"type":"array","items":{"type":"object","title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"current_submission":{"type":"object","title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"funding_programme":{"type":"object","title":"FundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"location":{"type":"string"},"read_more_url":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"stages":{"type":"array","items":{"title":"StageRead","x-stoplight":{"id":"qtkhrj889wvwc"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"status":{"type":"string"},"deadline_at":{"type":"string"},"readable_status":{"type":"string"},"funding_programme_id":{"type":"integer"},"name":{"type":"string"},"order":{"type":"integer"},"forms":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"organisations":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"organisation":{"type":"object","title":"AdminOrganisationRead","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}}}}}}}},"delete":{"summary":"Delete a specific project (draft \/ started only)","tags":["V2 Projects"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}}}},"\/v2\/projects\/{UUID}\/sites":{"get":{"summary":"Get the sites of a specific project","operationId":"get-v2-projects-uuid-sites","tags":["V2 Projects"],"description":"Available Filters : status | Available Searches: name | Available Sort Options: name, status, number_of_trees_planted, created_at, updated_at","produces":["application\/json"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"name":"filter","type":"string","in":"query","description":"multiple filters can be applied. syntax is ?filter[foo]=value1,value2$filter[bar]=value3"},{"name":"sort","type":"string","in":"query","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-name"},{"name":"search","type":"string","in":"query","description":"search term to use on the collection"},{"name":"per_page","type":"integer","in":"query","description":"number of results (per page) to return"},{"name":"page","type":"integer","in":"query","description":"page number you want results from"}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2SiteLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"framework_key":{"type":"string"},"description":{"type":"string"},"control_site":{"type":"integer"},"status":{"type":"string"},"readable_status":{"type":"string"},"number_of_trees_planted":{"type":"integer"},"start_date":{"type":"string"},"created_at":{"type":"string"}}}},"links":{"title":"V2PaginationLinks","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"title":"V2PaginationMeta","properties":{"from":{"type":"integer"},"to":{"type":"integer"},"current_page":{"type":"integer"},"last_page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"path":{"type":"string"},"links":{"type":"array","items":{"title":"V2PaginationCurrentLinks","properties":{"url":{"type":"string"},"label":{"type":"string"},"active":{"type":"boolean"}}}}}}}}}}}},"\/v2\/projects\/{UUID}\/nurseries":{"get":{"summary":"Get the nurseries of a specific project","operationId":"get-v2-projects-uuid-nurseries","tags":["V2 Projects"],"description":"Available Filters : status | Available Searches: name | Available Sort Options: name, status, created_at, updated_at","produces":["application\/json"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"name":"filter","type":"string","in":"query","description":"multiple filters can be applied. syntax is ?filter[foo]=value1,value2$filter[bar]=value3"},{"name":"sort","type":"string","in":"query","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-name"},{"name":"search","type":"string","in":"query","description":"search term to use on the collection"},{"name":"per_page","type":"integer","in":"query","description":"number of results (per page) to return"},{"name":"page","type":"integer","in":"query","description":"page number you want results from"}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2NurseryLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"project":{"title":"ProjectLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}},"planting_start_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"}}},"establishment_date":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"start_date":{"type":"string"},"created_date":{"type":"string"}}}},"links":{"title":"V2PaginationLinks","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"title":"V2PaginationMeta","properties":{"from":{"type":"integer"},"to":{"type":"integer"},"current_page":{"type":"integer"},"last_page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"path":{"type":"string"},"links":{"type":"array","items":{"title":"V2PaginationCurrentLinks","properties":{"url":{"type":"string"},"label":{"type":"string"},"active":{"type":"boolean"}}}}}}}}}}}},"\/v2\/projects\/{UUID}\/tasks":{"get":{"summary":"Get the tasks of a specific project","operationId":"get-v2-projects-uuid-tasks","tags":["V2 Projects","V2 Tasks"],"description":"Available Sort : period_key (year-month) and status","produces":["application\/json"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"name":"sort","type":"string","in":"query","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-name"},{"name":"per_page","type":"integer","in":"query","description":"number of results (per page) to return"},{"name":"page","type":"integer","in":"query","description":"page number you want results from"}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2TaskRead","type":"object","properties":{"uuid":{"type":"string"},"project":{"type":"object"},"period_key":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}}},"links":{"title":"V2PaginationLinks","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"title":"V2PaginationMeta","properties":{"from":{"type":"integer"},"to":{"type":"integer"},"current_page":{"type":"integer"},"last_page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"path":{"type":"string"},"links":{"type":"array","items":{"title":"V2PaginationCurrentLinks","properties":{"url":{"type":"string"},"label":{"type":"string"},"active":{"type":"boolean"}}}}}}}}}}}},"\/v2\/organisations\/{UUID}\/tasks":{"get":{"summary":"Get the tasks of a specific organisation","operationId":"get-v2-organisations-uuid-tasks","tags":["V2 Organisations","V2 Tasks"],"description":"Available Sort : period_key (year-month) and status","produces":["application\/json"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"name":"sort","type":"string","in":"query","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-name"},{"name":"per_page","type":"integer","in":"query","description":"number of results (per page) to return"},{"name":"page","type":"integer","in":"query","description":"page number you want results from"}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2TaskRead","type":"object","properties":{"uuid":{"type":"string"},"project":{"type":"object"},"period_key":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}}},"links":{"title":"V2PaginationLinks","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"title":"V2PaginationMeta","properties":{"from":{"type":"integer"},"to":{"type":"integer"},"current_page":{"type":"integer"},"last_page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"path":{"type":"string"},"links":{"type":"array","items":{"title":"V2PaginationCurrentLinks","properties":{"url":{"type":"string"},"label":{"type":"string"},"active":{"type":"boolean"}}}}}}}}}}}},"\/v2\/tasks\/{UUID}":{"get":{"summary":"Get a specific task","operationId":"get-v2-tasks-uuid","tags":["V2 Tasks"],"produces":["application\/json"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2TaskRead","type":"object","properties":{"uuid":{"type":"string"},"project":{"type":"object"},"period_key":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}}}}}}}}},"\/v2\/tasks\/{UUID}\/reports":{"get":{"summary":"Get the reports\/actions via a task","operationId":"get-v2-tasks-uuid-reports","tags":["V2 Projects","V2 Tasks"],"description":"Available Sort : period_key (year-month) and status","produces":["application\/json"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2TaskActionRead","type":"object","properties":{"uuid":{"type":"integer"},"type":{"type":"string"},"status":{"type":"string"},"due_at":{"type":"string","format":"date-time"},"title":{"type":"string"},"report_title":{"type":"string"},"update_request_status":{"type":"string"},"submitted_at":{"type":"string","format":"date-time"},"parent_name":{"type":"string"}}}}}}}}}},"\/v2\/tasks\/{UUID}\/submit":{"put":{"summary":"Submit all task reports via a task","operationId":"put-v2-tasks-uuid-reports","tags":["V2 Tasks"],"produces":["application\/json"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}}}},"\/v2\/{ENTITY}\/{UUID}":{"get":{"summary":"View a specific entity as raw data","tags":["V2 Projects","V2 Sites","V2 Nurseries","V2 Project Reports","V2 Site Reports","V2 Nursery Reports","Forms"],"parameters":[{"type":"string","name":"ENTITY","in":"path","required":true,"description":"allowed values projects\/sites\/nurseries\/project-reports\/site-reports\/nursery-reports"},{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"object"}}}}}}},"\/v2\/forms\/sites\/{UUID}":{"get":{"summary":"View a specific site as answers with form schema","tags":["V2 Sites","Forms"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"SiteWithSchemaRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"answers":{"type":"array","items":{"type":"object","properties":{"question_id":{"type":"integer"},"value":{"type":"string"},"options":{"type":"array","items":{"type":"string"}}}}}}}}}}}}}},"\/v2\/admin\/project-pitches\/export":{"get":{"summary":"Export project pitches as an admin","tags":["Project Pitches"],"responses":{"200":{"description":"OK","schema":{"type":"object"}}},"operationId":"get-v2-project-pitches-export"}},"\/v2\/project-pitches":{"get":{"summary":"Get project pitches","tags":["Project Pitches"],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"}}}}}}},"operationId":"get-v2-project-pitches","parameters":[{"name":"search","type":"string","in":"query","description":"search term to use on the collection"},{"name":"filter","type":"string","in":"query","description":"multiple filters can be applied. syntax is ?filter[foo]=value1,value2$filter[bar]=value3"},{"name":"sort","type":"string","in":"query","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-last_name"},{"name":"per_page","type":"integer","in":"query","description":"number of results (per page) to return"},{"name":"page","type":"integer","in":"query","description":"page number you want results from"}]},"post":{"summary":"Store a project pitch","operationId":"post-v2-project-pitches","responses":{"201":{"description":"Created","schema":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"tags":["Project Pitches"],"parameters":[{"in":"body","name":"body","schema":{"title":"ProjectPitchCreate","x-stoplight":{"id":"xo976uxy5fkzu"},"type":"object","properties":{"organisation_id":{"type":"string"},"project_name":{"type":"string"},"project_objectives":{"type":"string"},"how_discovered":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"total_trees":{"type":"integer"},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"}}}}]}},"\/v2\/project-pitches\/{UUID}":{"get":{"summary":"Get a project pitch","tags":["Project Pitches"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"operationId":"get-v2-project-pitches-UUID"},"patch":{"summary":"Update a project pitch","operationId":"patch-v2-project-pitches-UUID","responses":{"200":{"description":"OK","schema":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"in":"body","name":"body","schema":{"title":"ProjectPitchUpdate","x-stoplight":{"id":"w5u1xed0to2g6"},"type":"object","properties":{"funding_programme_id":{"type":"integer"},"project_name":{"type":"string"},"project_objectives":{"type":"string"},"project_county_district":{"type":"string"},"how_discovered":{"type":"string"},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"project_budget":{"type":"integer"},"project_country":{"type":"array","items":{"type":"string"}},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"total_trees":{"type":"integer"},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"}}}}],"tags":["Project Pitches"]},"delete":{"summary":"Delete a project pitch","operationId":"delete-v2-project-pitches-UUID","parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}},"tags":["Project Pitches"]}},"\/v2\/project-pitches\/submit\/{UUID}":{"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"put":{"summary":"Submits a project pitch making it active","operationId":"put-v2-submit-project-pitches-UUID","responses":{"200":{"description":"OK"}},"tags":["Project Pitches"]}},"\/v2\/project-pitches\/{UUID}\/submissions":{"get":{"summary":"Get form submissions belonging to a project pitch","tags":["Project Pitches"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}}}}},"operationId":"get-v2-project-pitches-UUID-submissions"}},"\/v2\/admin\/forms\/submissions\/{UUID}":{"get":{"summary":"Get a form submission","tags":["Form Submissions"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"operationId":"get-v2-admin-forms-submissions-UUID"},"delete":{"summary":"Delete a form submission","operationId":"delete-v2-admin-forms-submissions-UUID","parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}},"tags":["Form Submissions"],"description":""}},"\/v2\/admin\/forms\/submissions\/{UUID}\/export":{"get":{"summary":"Export form submissions","tags":["Form Submissions"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"object"}}},"operationId":"get-v2-admin-forms-submissions-uuid-export"}},"\/v2\/admin\/forms\/submissions":{"get":{"summary":"Get form submissions","tags":["Form Submissions"],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"links":{"title":"V2PaginationLinks","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"title":"V2PaginationMeta","properties":{"from":{"type":"integer"},"to":{"type":"integer"},"current_page":{"type":"integer"},"last_page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"path":{"type":"string"},"links":{"type":"array","items":{"title":"V2PaginationCurrentLinks","properties":{"url":{"type":"string"},"label":{"type":"string"},"active":{"type":"boolean"}}}}}}}}}},"operationId":"get-v2-admin-forms-submissions","parameters":[{"name":"search","type":"string","in":"query","description":"search term to use on the collection"},{"name":"filter","type":"string","in":"query","description":"multiple filters can be applied. syntax is ?filter[foo]=value1,value2$filter[bar]=value3"},{"name":"sort","type":"string","in":"query","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-last_name"},{"name":"per_page","type":"integer","in":"query","description":"number of results (per page) to return"},{"name":"page","type":"integer","in":"query","description":"page number you want results from"}]}},"\/v2\/forms\/my\/submissions":{"get":{"summary":"Get the authenticated users form submissions","tags":["Form Submissions"],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"links":{"title":"V2PaginationLinks","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"title":"V2PaginationMeta","properties":{"from":{"type":"integer"},"to":{"type":"integer"},"current_page":{"type":"integer"},"last_page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"path":{"type":"string"},"links":{"type":"array","items":{"title":"V2PaginationCurrentLinks","properties":{"url":{"type":"string"},"label":{"type":"string"},"active":{"type":"boolean"}}}}}}}}}},"operationId":"get-v2-my-forms-submissions","parameters":[{"name":"per_page","type":"integer","in":"query","description":"number of results (per page) to return"},{"name":"page","type":"integer","in":"query","description":"page number you want results from"}]}},"\/v2\/forms\/{UUID}":{"get":{"summary":"Get a form","tags":["Forms"],"responses":{"200":{"description":"OK","schema":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"operationId":"get-v2-forms","parameters":[{"type":"string","name":"UUID","in":"path","required":true}]}},"\/v2\/admin\/funding-programme\/stage":{"post":{"summary":"Create a stage","operationId":"post-v2-admin-funding-programme-stage","responses":{"201":{"description":"Created","schema":{"title":"StageRead","x-stoplight":{"id":"qtkhrj889wvwc"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"status":{"type":"string"},"deadline_at":{"type":"string"},"readable_status":{"type":"string"},"funding_programme_id":{"type":"integer"},"name":{"type":"string"},"order":{"type":"integer"},"forms":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"parameters":[{"in":"body","name":"body","schema":{"title":"StageCreate","x-stoplight":{"id":"q1bwtmu9aj98a"},"type":"object","properties":{"name":{"type":"string"},"funding_programme_id":{"type":"integer"},"form_id":{"type":"string"},"deadline_at":{"type":"string"},"order":{"type":"integer"}}}}],"tags":["Stages"]}},"\/v2\/admin\/funding-programme\/stage\/{UUID}":{"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"delete":{"summary":"Delete a stage","operationId":"delete-v2-admin-funding-programme-stage-UUID","responses":{"200":{"description":"OK","schema":{"title":"StageRead","x-stoplight":{"id":"qtkhrj889wvwc"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"status":{"type":"string"},"deadline_at":{"type":"string"},"readable_status":{"type":"string"},"funding_programme_id":{"type":"integer"},"name":{"type":"string"},"order":{"type":"integer"},"forms":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"tags":["Stages"]},"patch":{"summary":"Update a stage","operationId":"patch-v2-admin-funding-programme-stage-UUID","responses":{"200":{"description":"OK","schema":{"title":"StageRead","x-stoplight":{"id":"qtkhrj889wvwc"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"status":{"type":"string"},"deadline_at":{"type":"string"},"readable_status":{"type":"string"},"funding_programme_id":{"type":"integer"},"name":{"type":"string"},"order":{"type":"integer"},"forms":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"parameters":[{"in":"body","name":"body","schema":{"title":"StageCreate","x-stoplight":{"id":"q1bwtmu9aj98a"},"type":"object","properties":{"name":{"type":"string"},"funding_programme_id":{"type":"integer"},"form_id":{"type":"string"},"deadline_at":{"type":"string"},"order":{"type":"integer"}}}}],"tags":["Stages"]}},"\/v2\/funding-programme":{"get":{"summary":"Get all funding programmes","tags":["Funding Programmes"],"parameters":[{"type":"integer","in":"query","name":"page","description":"page number you want results from"}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"FundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"location":{"type":"string"},"read_more_url":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"stages":{"type":"array","items":{"title":"StageRead","x-stoplight":{"id":"qtkhrj889wvwc"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"status":{"type":"string"},"deadline_at":{"type":"string"},"readable_status":{"type":"string"},"funding_programme_id":{"type":"integer"},"name":{"type":"string"},"order":{"type":"integer"},"forms":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"organisations":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"links":{"type":"object","title":"V2PaginationLinks","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","title":"V2PaginationMeta","properties":{"from":{"type":"integer"},"to":{"type":"integer"},"current_page":{"type":"integer"},"last_page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"path":{"type":"string"},"links":{"type":"array","items":{"title":"V2PaginationCurrentLinks","properties":{"url":{"type":"string"},"label":{"type":"string"},"active":{"type":"boolean"}}}}}}}}}},"operationId":"get-v2-funding-programme"}},"\/v2\/admin\/funding-programme":{"get":{"summary":"Get all funding programmes","tags":["Funding Programmes"],"parameters":[{"type":"integer","in":"query","name":"page","description":"page number you want results from"},{"name":"per_page","type":"integer","in":"query","description":"number of results (per page) to return"}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"FundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"location":{"type":"string"},"read_more_url":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"stages":{"type":"array","items":{"title":"StageRead","x-stoplight":{"id":"qtkhrj889wvwc"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"status":{"type":"string"},"deadline_at":{"type":"string"},"readable_status":{"type":"string"},"funding_programme_id":{"type":"integer"},"name":{"type":"string"},"order":{"type":"integer"},"forms":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"organisations":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"links":{"type":"object","title":"V2PaginationLinks","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","title":"V2PaginationMeta","properties":{"from":{"type":"integer"},"to":{"type":"integer"},"current_page":{"type":"integer"},"last_page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"path":{"type":"string"},"links":{"type":"array","items":{"title":"V2PaginationCurrentLinks","properties":{"url":{"type":"string"},"label":{"type":"string"},"active":{"type":"boolean"}}}}}}}}}},"operationId":"get-v2-admin-funding-programme"},"post":{"summary":"Create a funding programme","operationId":"post-v2-funding-programme","tags":["Funding Programmes"],"responses":{"201":{"description":"Created","schema":{"title":"FundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"location":{"type":"string"},"read_more_url":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"stages":{"type":"array","items":{"title":"StageRead","x-stoplight":{"id":"qtkhrj889wvwc"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"status":{"type":"string"},"deadline_at":{"type":"string"},"readable_status":{"type":"string"},"funding_programme_id":{"type":"integer"},"name":{"type":"string"},"order":{"type":"integer"},"forms":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"organisations":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"parameters":[{"in":"body","name":"body","schema":{"title":"FundingProgrammeCreate","x-stoplight":{"id":"uoxj0qcvij0sr"},"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"location":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"status":{"type":"string"}}}}]},"parameters":[]},"\/v2\/funding-programme\/{UUID}":{"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"get":{"summary":"Get a funding programme","tags":["Funding Programmes"],"responses":{"200":{"description":"OK","schema":{"title":"FundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"location":{"type":"string"},"read_more_url":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"stages":{"type":"array","items":{"title":"StageRead","x-stoplight":{"id":"qtkhrj889wvwc"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"status":{"type":"string"},"deadline_at":{"type":"string"},"readable_status":{"type":"string"},"funding_programme_id":{"type":"integer"},"name":{"type":"string"},"order":{"type":"integer"},"forms":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"organisations":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"operationId":"get-v2-funding-programme-ID","parameters":[{"in":"body","name":"body","schema":{"title":"FundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"location":{"type":"string"},"read_more_url":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"stages":{"type":"array","items":{"title":"StageRead","x-stoplight":{"id":"qtkhrj889wvwc"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"status":{"type":"string"},"deadline_at":{"type":"string"},"readable_status":{"type":"string"},"funding_programme_id":{"type":"integer"},"name":{"type":"string"},"order":{"type":"integer"},"forms":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"organisations":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}]}},"\/v2\/admin\/funding-programme\/{UUID}":{"get":{"summary":"Get a funding programme","tags":["Funding Programmes"],"responses":{"200":{"description":"OK","schema":{"title":"FundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"location":{"type":"string"},"read_more_url":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"stages":{"type":"array","items":{"title":"StageRead","x-stoplight":{"id":"qtkhrj889wvwc"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"status":{"type":"string"},"deadline_at":{"type":"string"},"readable_status":{"type":"string"},"funding_programme_id":{"type":"integer"},"name":{"type":"string"},"order":{"type":"integer"},"forms":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"organisations":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"operationId":"get-v2-admin-funding-programme-ID","parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"in":"body","name":"body","schema":{"title":"FundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"location":{"type":"string"},"read_more_url":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"stages":{"type":"array","items":{"title":"StageRead","x-stoplight":{"id":"qtkhrj889wvwc"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"status":{"type":"string"},"deadline_at":{"type":"string"},"readable_status":{"type":"string"},"funding_programme_id":{"type":"integer"},"name":{"type":"string"},"order":{"type":"integer"},"forms":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"organisations":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}]},"put":{"summary":"Update a funding programme","operationId":"put-v2-funding-programme-ID","tags":["Funding Programmes"],"responses":{"200":{"description":"OK","schema":{"title":"FundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"location":{"type":"string"},"read_more_url":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"stages":{"type":"array","items":{"title":"StageRead","x-stoplight":{"id":"qtkhrj889wvwc"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"status":{"type":"string"},"deadline_at":{"type":"string"},"readable_status":{"type":"string"},"funding_programme_id":{"type":"integer"},"name":{"type":"string"},"order":{"type":"integer"},"forms":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"organisations":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"in":"body","name":"body","schema":{"title":"FundingProgrammeCreate","x-stoplight":{"id":"uoxj0qcvij0sr"},"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"location":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"status":{"type":"string"}}}}]},"delete":{"summary":"Delete a funding programme","operationId":"delete-v2-funding-programme-ID","tags":["Funding Programmes"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"202":{"description":"Accepted"}}}},"\/v2\/admin\/funding-programme\/{UUID}\/status":{"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"patch":{"summary":"Update a funding programme status","operationId":"patch-v2-funding-programme-ID-status","tags":["Funding Programmes"],"responses":{"200":{"description":"OK","schema":{"title":"FundingProgrammeStatus","type":"object","properties":{"status":{"type":"string"}}}}}}},"\/v2\/funding-programme\/stage":{"get":{"summary":"Get all stages","tags":["Stages"],"parameters":[{"name":"search","type":"string","in":"query","description":"search term to use on the collection"},{"name":"filter","type":"string","in":"query","description":"multiple filters can be applied. syntax is ?filter[foo]=value1,value2$filter[bar]=value3"},{"name":"sort","type":"string","in":"query","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-last_name"},{"name":"per_page","type":"integer","in":"query","description":"number of results (per page) to return"},{"name":"page","type":"integer","in":"query","description":"page number you want results from"}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"title":"StageRead","x-stoplight":{"id":"qtkhrj889wvwc"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"status":{"type":"string"},"deadline_at":{"type":"string"},"readable_status":{"type":"string"},"funding_programme_id":{"type":"integer"},"name":{"type":"string"},"order":{"type":"integer"},"forms":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"}}}}}}},"operationId":"get-v2-funding-programme-stage"}},"\/v2\/admin\/funding-programme\/stage\/{UUID}\/status":{"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"patch":{"summary":"Update a funding programme stage status","operationId":"patch-v2-funding-programme-stage-ID-status","tags":["Stages"],"responses":{"200":{"description":"OK","schema":{"title":"StageRead","x-stoplight":{"id":"qtkhrj889wvwc"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"status":{"type":"string"},"deadline_at":{"type":"string"},"readable_status":{"type":"string"},"funding_programme_id":{"type":"integer"},"name":{"type":"string"},"order":{"type":"integer"},"forms":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}}}},"\/v2\/funding-programme\/stage\/{UUID}":{"get":{"summary":"Get a stage","parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"tags":["Stages"],"responses":{"200":{"description":"OK","schema":{"title":"StageRead","x-stoplight":{"id":"qtkhrj889wvwc"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"status":{"type":"string"},"deadline_at":{"type":"string"},"readable_status":{"type":"string"},"funding_programme_id":{"type":"integer"},"name":{"type":"string"},"order":{"type":"integer"},"forms":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"operationId":"get-v2-funding-programme-stage-UUID"}},"\/v2\/admin\/forms\/submissions\/{UUID}\/status":{"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"patch":{"summary":"Update the status of a form submission","operationId":"patch-v2-admin-forms-submissions-UUID-status","tags":["Forms"],"responses":{"200":{"description":"OK","schema":{"title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"parameters":[{"in":"body","name":"body","schema":{"type":"object","properties":{"feedback":{"type":"string"},"status":{"type":"string","enum":["started","awaiting-approval","approved","requires-more-information","rejected"]}}}}]}},"\/v2\/forms\/submissions":{"post":{"summary":"Create a form submission","operationId":"post-v2-forms-submissions","responses":{"201":{"description":"Created","schema":{"title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"tags":["Forms"],"description":"","parameters":[{"in":"body","name":"body","schema":{"title":"FormSubmissionCreate","x-stoplight":{"id":"yuvkg8bgvnerq"},"type":"object","properties":{"form_uuid":{"type":"string"},"project_pitch_uuid":{"type":"string"}}}}]}},"\/v2\/forms\/submissions\/{UUID}":{"get":{"summary":"Get a form submission","tags":["Form Submissions"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"operationId":"get-v2-forms-submissions-UUID"},"patch":{"summary":"Update a form submission","operationId":"patch-v2-forms-submissions-UUID","tags":["Forms"],"responses":{"200":{"description":"OK","schema":{"title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"in":"body","name":"body","schema":{"title":"FormSubmissionUpdate","type":"object","properties":{"status":{"type":"string"},"answers":{"type":"array","items":{"type":"object","properties":{"question_id":{"type":"integer"},"value":{"type":"string"},"options":{"type":"array","items":{"type":"string"}}}}}}}}]},"delete":{"summary":"Deletes a specific form submission","operationId":"delete-v2-form-submission-UUID","tags":["Forms"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}}}},"\/v2\/forms\/submissions\/{UUID}\/next-stage":{"post":{"operationId":"post-v2-forms-submissions-UUID-next-stage","summary":"Create the next stage form submission","tags":["Form Submissions"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}}}},"\/v2\/forms\/submissions\/submit\/{UUID}":{"put":{"summary":"Submit a form submission for approval","tags":["Form Submissions"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"operationId":"get-v2-submit-forms-submissions-UUID"}},"\/v2\/my\/banners":{"patch":{"summary":"Update the authenticated user's banners","operationId":"patch-v2-my-banners","responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"id":{"type":"integer"},"organisation_id":{"type":"integer"},"organisation_name":{"type":"string"},"my_organisation":{"title":"AdminOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"my_monitoring_organisations":{"type":"array","items":{"title":"V2MonitoringOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"users_status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"email_address_verified_at":{"type":"string","format":"date-time"},"role":{"type":"string"},"last_logged_in_at":{"type":"string","format":"date-time"},"job_role":{"type":"string"},"facebook":{"type":"string"},"twitter":{"type":"string"},"instagram":{"type":"string"},"linkedin":{"type":"string"},"avatar":{"type":"string"},"phone_number":{"type":"string"},"whatsapp_phone":{"type":"string"},"has_ppc_projects":{"type":"boolean"},"has_terrafund_projects":{"type":"boolean"}}}}},"parameters":[{"in":"body","name":"body","schema":{"type":"object","properties":{"banners":{"type":"array","items":{"type":"object"}}}}}],"tags":["V2 Users"]}},"\/v2\/admin\/forms\/applications":{"get":{"summary":"Get all applications","operationId":"get-v2-admin-applications","description":"Available Filters : funding_programme_uuid,current_stage, current_submission_status (Current stage is the stage uuid) Available Sorts : created_at, updated_at, organisation_name, funding_programme_name, organisation_name (Prefix with a '-' for descending","tags":["V2 Application"],"parameters":[{"name":"search","type":"string","in":"query","description":"search term to use on the collection"},{"name":"filter","type":"string","in":"query","description":"multiple filters can be applied. syntax is ?filter[foo]=value1,value2$filter[bar]=value3"},{"name":"sort","type":"string","in":"query","description":"sorting can be applied, default is ascending or use - for descending. For Example ?sort=-last_name"},{"name":"per_page","type":"integer","in":"query","description":"number of results (per page) to return"},{"name":"page","type":"integer","in":"query","description":"page number you want results from"}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"ApplicationLiteRead","type":"object","properties":{"uuid":{"type":"string"},"form_submissions":{"items":{"title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"current_submission":{"title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"funding_programme_name":{"type":"integer"},"funding_programme_uuid":{"type":"string"},"funding_programme_status":{"type":"string"},"organisation_name":{"type":"string"},"organisation_uuid":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}},"links":{"title":"V2PaginationLinks","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"title":"V2PaginationMeta","properties":{"from":{"type":"integer"},"to":{"type":"integer"},"current_page":{"type":"integer"},"last_page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"path":{"type":"string"},"links":{"type":"array","items":{"title":"V2PaginationCurrentLinks","properties":{"url":{"type":"string"},"label":{"type":"string"},"active":{"type":"boolean"}}}}}}}}}}}},"\/v2\/admin\/forms\/applications\/{UUID}":{"get":{"summary":"Get a specific application","operationId":"get-v2-admin-applications-UUID","tags":["V2 Application"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"ApplicationLiteRead","type":"object","properties":{"uuid":{"type":"string"},"form_submissions":{"type":"array","items":{"type":"object","title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"current_submission":{"type":"object","title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"funding_programme":{"type":"object","title":"FundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"location":{"type":"string"},"read_more_url":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"stages":{"type":"array","items":{"title":"StageRead","x-stoplight":{"id":"qtkhrj889wvwc"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"status":{"type":"string"},"deadline_at":{"type":"string"},"readable_status":{"type":"string"},"funding_programme_id":{"type":"integer"},"name":{"type":"string"},"order":{"type":"integer"},"forms":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"organisations":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"organisation":{"type":"object","title":"AdminOrganisationRead","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}}}},"delete":{"summary":"Deletes a specific and it's dependant form submissions","operationId":"delete-v2-admin-applications-UUID","tags":["Application"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}}}},"\/v2\/admin\/forms\/applications\/{UUID}\/export":{"get":{"summary":"Export CSV document of applications belonging to a funding programme","description":"The UUID provided is the Funding Programme ID that the applications are for","operationId":"get-v2-admin-forms-applications-UUID-export","tags":["Export","V2 Application"],"produces":["text\/plain"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"file"}}}}},"\/v2\/my\/applications":{"get":{"summary":"Get the current users applications","operationId":"get-v2-my-applications","tags":["V2 Application"],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"ApplicationLiteRead","type":"object","properties":{"uuid":{"type":"string"},"form_submissions":{"items":{"title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"current_submission":{"title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"funding_programme_name":{"type":"integer"},"funding_programme_uuid":{"type":"string"},"funding_programme_status":{"type":"string"},"organisation_name":{"type":"string"},"organisation_uuid":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}},"links":{"type":"object","title":"V2PaginationLinks","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","title":"V2PaginationMeta","properties":{"from":{"type":"integer"},"to":{"type":"integer"},"current_page":{"type":"integer"},"last_page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"path":{"type":"string"},"links":{"type":"array","items":{"title":"V2PaginationCurrentLinks","properties":{"url":{"type":"string"},"label":{"type":"string"},"active":{"type":"boolean"}}}}}}}}}}}},"\/v2\/applications\/{UUID}":{"get":{"summary":"Get a specific application","operationId":"get-v2-applications-UUID","tags":["V2 Application"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"title":"ApplicationLiteRead","type":"object","properties":{"uuid":{"type":"string"},"form_submissions":{"type":"array","items":{"type":"object","title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"current_submission":{"type":"object","title":"FormSubmissionRead","x-stoplight":{"id":"u7ul6m0rkvj6m"},"properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"form":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"stage":{"title":"StageLiteRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"}}},"answers":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"audits":{"type":"array","items":{"title":"AuditRead","type":"object","properties":{"id":{"type":"integer"},"event":{"type":"string"},"user_id":{"type":"integer"},"user_uuid":{"type":"string"},"old_values":{"type":"object"},"new_values":{"type":"object"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}},"updated_by":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"funding_programme":{"type":"object","title":"FundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"location":{"type":"string"},"read_more_url":{"type":"string"},"framework_key":{"type":"string"},"status":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"stages":{"type":"array","items":{"title":"StageRead","x-stoplight":{"id":"qtkhrj889wvwc"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"status":{"type":"string"},"deadline_at":{"type":"string"},"readable_status":{"type":"string"},"funding_programme_id":{"type":"integer"},"name":{"type":"string"},"order":{"type":"integer"},"forms":{"title":"FormRead","x-stoplight":{"id":"e0u0etkn01z17"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"type":{"type":"string"},"version":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"description":{"type":"string"},"framework_key":{"type":"string"},"duration":{"type":"string"},"deadline_at":{"type":"string"},"documentation":{"type":"string"},"documentation_label":{"type":"string"},"submission_message":{"type":"string"},"published":{"type":"boolean"},"stage_id":{"type":"string"},"options_other":{"type":"boolean"},"form_sections":{"type":"array","items":{"title":"FormSectionRead","x-stoplight":{"id":"scpnof2zuz3q3"},"type":"object","properties":{"order":{"type":"integer"},"form_id":{"type":"integer"},"form_questions":{"type":"array","items":{"title":"FormQuestionRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_section_id":{"type":"integer"},"label":{"type":"string"},"validation":{"type":"array","items":{"type":"string"}},"parent_id":{"type":"string"},"linked_field_key":{"type":"string"},"children":{"type":"array","items":{"type":"object"}},"multichoice":{"type":"boolean"},"order":{"type":"integer"},"options":{"type":"array","items":{"title":"FormQuestionOptionRead","x-stoplight":{"id":"ihpffrpq780e4"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"table_headers":{"type":"array","items":{"title":"FormTableHeaderRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"form_question_id":{"type":"integer"},"label":{"type":"string"},"order":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"additional_text":{"type":"string"},"additional_url":{"type":"string"},"show_on_parent_condition":{"type":"boolean"},"input_type":{"type":"string","enum":["date","text","long-text","select","checkboxes","radio","number","image","file","conditional"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"updated_by":{"type":"integer"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"organisations":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"organisation":{"type":"object","title":"AdminOrganisationRead","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}}}}},"\/v2\/applications\/{UUID}\/export":{"get":{"summary":"Export CSV document of an application","operationId":"get-v2-applications-UUID-export","tags":["Export","V2 Application"],"produces":["text\/plain"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"file"}}}}},"\/v2\/admin\/nurseries\/{UUID}":{"delete":{"summary":"Delete a nursery","operationId":"delete-v2-admin-nurseries-UUID","tags":["V2 Nurseries"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}}}},"\/v2\/admin\/nursery-reports\/{UUID}":{"delete":{"summary":"Delete a nursery report","operationId":"delete-v2-admin-nursery-reports-UUID","tags":["V2 Nursery Reports"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}}}},"\/v2\/admin\/sites\/{UUID}":{"delete":{"summary":"Delete a site","operationId":"delete-v2-admin-site-UUID","tags":["V2 Sites"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}}}},"\/v2\/admin\/site-reports\/{UUID}":{"delete":{"summary":"Delete a site","operationId":"delete-v2-admin-site-reports-UUID","tags":["V2 Site Reports"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}}}},"\/v2\/admin\/site-monitorings":{"post":{"summary":"Create a site monitoring as an admin","operationId":"post-v2-admin-site-monitorings","tags":["V2 Site Monitorings"],"consumes":["application\/json"],"produces":["application\/json"],"parameters":[{"name":"Body","in":"body","required":true,"schema":{"title":"V2SiteMonitoringCreate","type":"object","properties":{"site_uuid":{"type":"string"},"tree_count":{"type":"integer"},"tree_cover":{"type":"integer"},"field_tree_count":{"type":"integer"},"measurement_date":{"type":"string","format":"date"}}}}],"responses":{"201":{"description":"OK","schema":{"title":"V2SiteMonitoringRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"tree_count":{"type":"integer"},"tree_cover":{"type":"integer"},"field_tree_count":{"type":"integer"},"measurement_date":{"type":"string","format":"date"},"last_updated":{"type":"string","format":"date-time"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}}}}},"\/v2\/admin\/site-monitorings\/{UUID}":{"put":{"summary":"Update a site monitoring as an admin","operationId":"put-v2-admin-site-monitorings-uuid","tags":["V2 Site Monitorings"],"consumes":["application\/json"],"produces":["application\/json"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"name":"Body","in":"body","required":true,"schema":{"title":"V2SiteMonitoringUpdate","type":"object","properties":{"status":{"type":"string"},"tree_count":{"type":"integer"},"tree_cover":{"type":"integer"},"field_tree_count":{"type":"integer"},"measurement_date":{"type":"string","format":"date"}}}}],"responses":{"200":{"description":"OK","schema":{"title":"V2SiteMonitoringRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"tree_count":{"type":"integer"},"tree_cover":{"type":"integer"},"field_tree_count":{"type":"integer"},"measurement_date":{"type":"string","format":"date"},"last_updated":{"type":"string","format":"date-time"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}}}},"delete":{"summary":"Delete a site monitoring as an admin","operationId":"delete-v2-admin-site-monitorings-uuid","tags":["V2 Site Monitorings"],"produces":["application\/json"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}}}},"\/v2\/admin\/projects\/{UUID}":{"delete":{"summary":"Delete a project","operationId":"delete-v2-admin-projects-UUID","tags":["V2 Projects"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}}}},"\/v2\/admin\/project-reports\/{UUID}":{"delete":{"summary":"Delete a project report","operationId":"delete-v2-admin-project-reports-UUID","tags":["V2 Project Reports"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}}}},"\/v2\/admin\/project-monitorings":{"post":{"summary":"Create a project monitoring as an admin","operationId":"post-v2-admin-project-monitorings","tags":["V2 Project Monitorings"],"consumes":["application\/json"],"produces":["application\/json"],"parameters":[{"name":"Body","in":"body","required":true,"schema":{"title":"V2ProjectMonitoringCreate","type":"object","properties":{"project_uuid":{"type":"string"},"total_hectares":{"type":"integer"},"ha_mangrove":{"type":"integer"},"ha_assisted":{"type":"integer"},"ha_agroforestry":{"type":"integer"},"ha_reforestation":{"type":"integer"},"ha_peatland":{"type":"integer"},"ha_riparian":{"type":"integer"},"ha_enrichment":{"type":"integer"},"ha_nucleation":{"type":"integer"},"ha_silvopasture":{"type":"integer"},"ha_direct":{"type":"integer"},"tree_count":{"type":"integer"},"tree_cover":{"type":"integer"},"field_tree_count":{"type":"integer"},"tree_cover_loss":{"type":"integer"},"carbon_benefits":{"type":"integer"},"number_of_esrp":{"type":"integer"},"field_tree_regenerated":{"type":"integer"},"field_tree_survival_percent":{"type":"integer"},"start_date":{"type":"string","format":"date"},"end_date":{"type":"string","format":"date"}}}}],"responses":{"201":{"description":"OK","schema":{"title":"V2ProjectMonitoringRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"total_hectares":{"type":"integer"},"ha_mangrove":{"type":"integer"},"ha_assisted":{"type":"integer"},"ha_agroforestry":{"type":"integer"},"ha_reforestation":{"type":"integer"},"ha_peatland":{"type":"integer"},"ha_riparian":{"type":"integer"},"ha_enrichment":{"type":"integer"},"ha_nucleation":{"type":"integer"},"ha_silvopasture":{"type":"integer"},"ha_direct":{"type":"integer"},"tree_count":{"type":"integer"},"tree_cover":{"type":"integer"},"field_tree_count":{"type":"integer"},"tree_cover_loss":{"type":"integer"},"carbon_benefits":{"type":"integer"},"number_of_esrp":{"type":"integer"},"field_tree_regenerated":{"type":"integer"},"field_tree_survival_percent":{"type":"integer"},"start_date":{"type":"string","format":"date"},"end_date":{"type":"string","format":"date"},"last_updated":{"type":"string","format":"date-time"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}}}}},"\/v2\/admin\/project-monitorings\/{UUID}":{"put":{"summary":"Update a project monitoring as an admin","operationId":"put-v2-admin-project-monitorings-uuid","tags":["V2 Project Monitorings"],"consumes":["application\/json"],"produces":["application\/json"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"name":"Body","in":"body","required":true,"schema":{"title":"V2ProjectMonitoringUpdate","type":"object","properties":{"status":{"type":"string"},"total_hectares":{"type":"integer"},"ha_mangrove":{"type":"integer"},"ha_assisted":{"type":"integer"},"ha_agroforestry":{"type":"integer"},"ha_reforestation":{"type":"integer"},"ha_peatland":{"type":"integer"},"ha_riparian":{"type":"integer"},"ha_enrichment":{"type":"integer"},"ha_nucleation":{"type":"integer"},"ha_silvopasture":{"type":"integer"},"ha_direct":{"type":"integer"},"tree_count":{"type":"integer"},"tree_cover":{"type":"integer"},"field_tree_count":{"type":"integer"},"tree_cover_loss":{"type":"integer"},"carbon_benefits":{"type":"integer"},"number_of_esrp":{"type":"integer"},"field_tree_regenerated":{"type":"integer"},"field_tree_survival_percent":{"type":"integer"},"start_date":{"type":"string","format":"date"},"end_date":{"type":"string","format":"date"}}}}],"responses":{"200":{"description":"OK","schema":{"title":"V2ProjectMonitoringRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"total_hectares":{"type":"integer"},"ha_mangrove":{"type":"integer"},"ha_assisted":{"type":"integer"},"ha_agroforestry":{"type":"integer"},"ha_reforestation":{"type":"integer"},"ha_peatland":{"type":"integer"},"ha_riparian":{"type":"integer"},"ha_enrichment":{"type":"integer"},"ha_nucleation":{"type":"integer"},"ha_silvopasture":{"type":"integer"},"ha_direct":{"type":"integer"},"tree_count":{"type":"integer"},"tree_cover":{"type":"integer"},"field_tree_count":{"type":"integer"},"tree_cover_loss":{"type":"integer"},"carbon_benefits":{"type":"integer"},"number_of_esrp":{"type":"integer"},"field_tree_regenerated":{"type":"integer"},"field_tree_survival_percent":{"type":"integer"},"start_date":{"type":"string","format":"date"},"end_date":{"type":"string","format":"date"},"last_updated":{"type":"string","format":"date-time"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}}}},"delete":{"summary":"Delete a project monitoring as an admin","operationId":"delete-v2-admin-project-monitorings-uuid","tags":["V2 Project Monitorings"],"produces":["application\/json"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}}}},"\/auth\/logout":{"get":{"operationId":"get-user-logout","summary":"Log the logged in user or admin out","tags":["Auth"],"produces":["application\/json"],"responses":{"200":{"description":"OK","schema":{"type":"object"}}}}},"\/auth\/me":{"get":{"summary":"Read the logged in user or admin","tags":["Auth"],"produces":["application\/json"],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"id":{"type":"integer"},"organisation_id":{"type":"integer"},"organisation_name":{"type":"string"},"my_organisation":{"title":"AdminOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"my_monitoring_organisations":{"type":"array","items":{"title":"V2MonitoringOrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"users_status":{"type":"string"},"readable_status":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg. slug: name","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"first_name":{"type":"string"},"last_name":{"type":"string"},"email_address":{"type":"string"},"email_address_verified_at":{"type":"string","format":"date-time"},"role":{"type":"string"},"last_logged_in_at":{"type":"string","format":"date-time"},"job_role":{"type":"string"},"facebook":{"type":"string"},"twitter":{"type":"string"},"instagram":{"type":"string"},"linkedin":{"type":"string"},"avatar":{"type":"string"},"phone_number":{"type":"string"},"whatsapp_phone":{"type":"string"},"has_ppc_projects":{"type":"boolean"},"has_terrafund_projects":{"type":"boolean"}}}}},"operationId":"get-logged-user-details"}},"\/auth\/login":{"post":{"operationId":"post-auth-login","summary":"Log a user or admin in","tags":["Auth"],"security":[],"consumes":["application\/json"],"produces":["application\/json"],"parameters":[{"name":"Body","in":"body","required":true,"schema":{"type":"object","properties":{"email_address":{"type":"string","format":"email"},"password":{"type":"string"}}}}],"responses":{"201":{"description":"Created","schema":{"type":"object","properties":{"token":{"type":"string"}}}}}}},"\/v2\/admin\/forms\/submissions\/export":{"get":{"summary":"Export form submissions","tags":["Form Submissions"],"responses":{"200":{"description":"OK","schema":{"type":"object"}}},"operationId":"get-v2-admin-forms-submissions-export"}},"\/v2\/forms\/option-labels":{"get":{"summary":"Get a the labels for options","operationId":"get-v2-form-option-labels-listing","parameters":[{"name":"keys","type":"string","in":"query","description":"the option keys you want to retrieve"},{"name":"lang","type":"string","in":"query","description":"the language to use for the label translation"}],"responses":{"200":{"description":"OK","schema":{"title":"V2GenericList","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"input_type":{"type":"string"},"model_key":{"type":"string"},"option_list_key":{"type":"string"},"options":{"type":"array","items":{"type":"string"}}}}}},"tags":["Forms"]}},"\/auth\/change":{"patch":{"operationId":"patch-auth-change","summary":"Reset a user's or admin's password","tags":["Auth"],"security":[],"consumes":["application\/json"],"produces":["application\/json"],"parameters":[{"name":"Body","in":"body","required":true,"schema":{"type":"object","properties":{"token":{"type":"string"},"password":{"type":"string"}}}}],"responses":{"200":{"description":"OK","schema":{"type":"object"}}}}},"\/auth\/reset":{"post":{"operationId":"post-auth-reset","summary":"Send a password reset email to a user or admin","tags":["Auth"],"security":[],"consumes":["application\/json"],"produces":["application\/json"],"parameters":[{"name":"Body","in":"body","required":true,"schema":{"type":"object","properties":{"email_address":{"type":"string"},"callback_url":{"type":"string"}}}}],"responses":{"200":{"description":"OK","schema":{"type":"object"}}}}},"\/v2\/auth\/verify":{"patch":{"operationId":"patch-v2-auth-verify","summary":"Verify a user by token","tags":["Auth"],"consumes":["application\/json"],"produces":["application\/json"],"parameters":[{"name":"Body","in":"body","required":true,"schema":{"type":"object","properties":{"token":{"type":"string"}}}}],"responses":{"200":{"description":"OK","schema":{"type":"object"}}}}},"\/auth\/verify":{"patch":{"operationId":"patch-auth-verify","summary":"Verify the logged in user's or admin's email address","tags":["Auth"],"consumes":["application\/json"],"produces":["application\/json"],"parameters":[{"name":"Body","in":"body","required":true,"schema":{"type":"object","properties":{"token":{"type":"string"}}}}],"responses":{"200":{"description":"OK","schema":{"type":"object"}}}}},"\/v2\/users\/resend":{"post":{"operationId":"post-v2-users-resend","summary":"Send a verification email to an email, if it exists","tags":["Auth"],"produces":["application\/json"],"parameters":[{"name":"Body","in":"body","required":true,"schema":{"type":"object","properties":{"callback_url":{"type":"string"},"email_address":{"type":"string"}}}}],"responses":{"200":{"description":"OK","schema":{"type":"object"}}}}},"\/v2\/sites\/{UUID}":{"delete":{"summary":"Delete a site","operationId":"delete-v2-sites-uuid","parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}},"tags":["V2 Sites"],"description":""},"get":{"summary":"View a specific site","operationId":"get-v2-sites-uuid","tags":["V2 Sites"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"SiteLiteRead","type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"framework_key":{"type":"string"},"framework_uuid":{"type":"string"},"has_monitoring_data":{"type":"boolean"},"organisation":{"title":"OrganisationRead","type":"object","properties":{"uuid":{"type":"string"},"type":{"type":"string"},"private":{"type":"boolean"},"name":{"type":"string"},"phone":{"type":"string"},"currency":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"loan_status_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"fund_utilisation":{"type":"array","items":{"type":"string"}},"detailed_intervention_types":{"type":"array","items":{"type":"string"}},"account_number_1":{"type":"string"},"account_number_2":{"type":"string"},"approach_of_marginalized_communities":{"type":"string"},"community_engagement_numbers_marginalized":{"type":"string"},"founding_date":{"type":"string"},"description":{"type":"string"},"leadership_team":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"string"}},"project_pitches":{"type":"array","items":{"title":"ProjectPitchRead","x-stoplight":{"id":"rsuskf5on1pya"},"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"status":{"type":"string"},"readable_status":{"type":"string"},"organisation_id":{"type":"string"},"funding_programmes":{"title":"LimitedFundingProgrammeRead","x-stoplight":{"id":"uh5oce75en4za"},"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"read_more_url":{"type":"string"},"organisation_types":{"type":"array","items":{"type":"string"}},"location":{"type":"string"},"status":{"type":"string"}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"project_name":{"type":"string"},"how_discovered":{"type":"string"},"project_objectives":{"type":"string"},"project_country":{"type":"array","items":{"type":"string"}},"project_county_district":{"type":"string"},"restoration_intervention_types":{"type":"array","items":{"type":"string"}},"land_systems":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"total_hectares":{"type":"integer"},"project_budget":{"type":"integer"},"total_trees":{"type":"integer"},"capacity_building_needs":{"type":"array","items":{"type":"string"}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"restoration_photos":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"proof_of_land_tenure_mou":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"detailed_project_budget":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"expected_active_restoration_start_date":{"type":"string"},"expected_active_restoration_end_date":{"type":"string"},"description_of_project_timeline":{"type":"string"},"proj_partner_info":{"type":"string"},"land_tenure_proj_area":{"type":"array","items":{"type":"string"}},"landholder_comm_engage":{"type":"string"},"proj_success_risks":{"type":"string"},"monitor_eval_plan":{"type":"string"},"proj_boundary":{"type":"string"},"sustainable_dev_goals":{"type":"array","items":{"type":"string"}},"proj_area_description":{"type":"string"},"proposed_num_sites":{"type":"integer","minimum":0,"maximum":4294967295},"environmental_goals":{"type":"string"},"main_degradation_causes":{"type":"string"},"seedlings_source":{"type":"string"},"proposed_num_nurseries":{"type":"integer","minimum":0,"maximum":4294967295},"curr_land_degradation":{"type":"string"},"proj_impact_socieconom":{"type":"string"},"proj_impact_foodsec":{"type":"string"},"proj_impact_watersec":{"type":"string"},"proj_impact_jobtypes":{"type":"string"},"num_jobs_created":{"type":"integer","minimum":0,"maximum":4294967295},"pct_employees_men":{"type":"integer","minimum":0,"maximum":100},"pct_employees_women":{"type":"integer","minimum":0,"maximum":100},"pct_employees_18to35":{"type":"integer","minimum":0,"maximum":100},"pct_employees_older35":{"type":"integer","minimum":0,"maximum":100},"proj_beneficiaries":{"type":"integer"},"pct_beneficiaries_women":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_small":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_large":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_youth":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_classes":{"type":"integer","minimum":0,"maximum":100},"pct_beneficiaries_scheduled_tribes":{"type":"integer","minimum":0,"maximum":100},"monitoring_evaluation_plan":{"type":"string"},"main_causes_of_degradation":{"type":"string"},"deleted_at":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"tree_species":{"type":"array","items":{"title":"V2TreeSpeciesRead","x-stoplight":{"id":"04vvsvyndvy8n"},"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"amount":{"type":"integer"},"type":{"type":"string"},"collection":{"type":"string"}}}},"web_url":{"type":"string"},"facebook_url":{"type":"string"},"instagram_url":{"type":"string"},"linkedin_url":{"type":"string"},"twitter_url":{"type":"string"},"hq_street_1":{"type":"string"},"hq_street_2":{"type":"string"},"hq_city":{"type":"string"},"hq_state":{"type":"string"},"hq_zipcode":{"type":"string"},"hq_country":{"type":"string"},"fin_start_month":{"type":"integer"},"fin_budget_3year":{"type":"number","format":"float"},"fin_budget_2year":{"type":"number","format":"float"},"fin_budget_1year":{"type":"number","format":"float"},"fin_budget_current_year":{"type":"number","format":"float"},"ha_restored_total":{"type":"number","format":"float"},"ha_restored_3year":{"type":"number","format":"float"},"relevant_experience_years":{"type":"integer"},"trees_grown_total":{"type":"integer"},"trees_grown_3year":{"type":"integer"},"tree_care_approach":{"type":"string"},"ft_permanent_employees":{"type":"integer"},"pt_permanent_employees":{"type":"integer"},"temp_employees":{"type":"integer"},"female_employees":{"type":"integer"},"male_employees":{"type":"integer"},"young_employees":{"type":"integer"},"additional_funding_details":{"type":"string"},"community_experience":{"type":"string"},"total_engaged_community_members_3yr":{"type":"integer"},"percent_engaged_women_3yr":{"type":"integer"},"percent_engaged_men_3yr":{"type":"integer"},"percent_engaged_under_35_3yr":{"type":"integer"},"percent_engaged_over_35_3yr":{"type":"integer"},"percent_engaged_smallholder_3yr":{"type":"integer"},"total_trees_grown":{"type":"integer"},"avg_tree_survival_rate":{"type":"integer"},"tree_maintenance_aftercare_approach":{"type":"string"},"restored_areas_description":{"type":"string"},"monitoring_evaluation_experience":{"type":"string"},"funding_history":{"type":"string"},"engagement_farmers":{"type":"array","items":{"type":"string"}},"engagement_women":{"type":"array","items":{"type":"string"}},"engagement_youth":{"type":"array","items":{"type":"string"}},"engagement_non_youth":{"type":"array","items":{"type":"string"}},"tree_restoration_practices":{"type":"array","items":{"type":"string"}},"business_model":{"type":"string"},"subtype":{"type":"string"},"organisation_revenue_this_year":{"type":"number"},"shapefiles":{"type":"array","items":{"title":"ShapefileRead","type":"object","properties":{"uuid":{"type":"string"},"shapefileable_type":{"type":"string"},"shapefileable_id":{"type":"integer"},"geojson":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"type":"string"}}}},"bank_statements":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"previous_annual_reports":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"logo":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"cover":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}},"reference":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"additional":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_2year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_last_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_this_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"op_budget_next_year":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"legal_registration":{"type":"array","items":{"title":"V2FileRead","type":"object","properties":{"uuid":{"type":"string"},"url":{"type":"string"},"thumb_url":{"type":"string"},"collection_name":{"type":"string"},"title":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size":{"type":"integer"},"lat":{"type":"integer"},"lng":{"type":"integer"},"is_public":{"type":"boolean"},"created_at":{"type":"string"}}}},"tags":{"type":"array","description":"this is a list of key value pairs eg slug: name ","items":{"type":"string"}}}}}}}}}}}}},"\/v2\/sites\/{UUID}\/geometry":{"post":{"summary":"Upload bulk geometry to a specific site.","operationId":"post-v2-sites-uuid-geometry","tags":["V2 Sites"],"deprecated":true,"description":"Use POST \/api\/v2\/geometry instead (and include the site ID in the polygon properties)","parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"in":"body","name":"body","schema":{"type":"object","properties":{"geometries":{"type":"array","items":{"title":"GeoJSON","type":"object","properties":{"type":{"type":"string","enum":["FeatureCollection"]},"features":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["Feature"]},"properties":{"type":"object","properties":{"poly_name":{"type":"string"},"plantstart":{"type":"string","format":"date"},"plantend":{"type":"string","format":"date"},"practice":{"type":"string"},"target_sys":{"type":"string"},"distr":{"type":"string"},"num_trees":{"type":"number"},"site_id":{"type":"string"}}},"geometry":{"type":"object","properties":{"type":{"type":"string","enum":["Polygon","Point"]},"coordinates":{"type":"array"}}}}}}}}}}}}],"responses":{"201":{"description":"Created","schema":{"title":"SiteGeometryPost","type":"object","properties":{"polygon_uuids":{"type":"array","items":{"type":"string"},"description":"The UUIDs generated by the system for the uploaded polygons. They are in the same order as the polygons in the request payload."},"errors":{"type":"object","description":"Mapping of geometry UUID to the errors associated with the geometry. The geometry was saved in the DB and must be updated instead of created once the issues are resolved.","additionalProperties":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","enum":["OVERLAPPING_POLYGON","SELF_INTERSECTION","COORDINATE_SYSTEM","SIZE_LIMIT","WITHIN_COUNTRY","SPIKE","GEOMETRY_TYPE","TOTAL_AREA_EXPECTED","TABLE_SCHEMA","DATA_COMPLETED"]},"message":{"type":"string","description":"Human readable string in English to describe the error."}}}}}}}}}}},"\/v2\/site-monitorings\/{UUID}":{"get":{"summary":"View a specific site monitoring","operationId":"get-v2-site-monitorings-uuid","tags":["V2 Site Monitorings"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"produces":["application\/json"],"responses":{"200":{"description":"OK","schema":{"title":"V2SiteMonitoringRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"tree_count":{"type":"integer"},"tree_cover":{"type":"integer"},"field_tree_count":{"type":"integer"},"measurement_date":{"type":"string","format":"date"},"last_updated":{"type":"string","format":"date-time"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}}}}},"\/v2\/sites\/{UUID}\/monitorings":{"get":{"summary":"View all of a sites monitorings","operationId":"get-v2-sites-uuid-monitorings","tags":["V2 Sites","V2 Site Monitorings"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"name":"per_page","type":"integer","in":"query","description":"number of results (per page) to return"},{"name":"page","type":"integer","in":"query","description":"page number you want results from"}],"produces":["application\/json"],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2SiteMonitoringRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"tree_count":{"type":"integer"},"tree_cover":{"type":"integer"},"field_tree_count":{"type":"integer"},"measurement_date":{"type":"string","format":"date"},"last_updated":{"type":"string","format":"date-time"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}},"links":{"title":"V2PaginationLinks","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"title":"V2PaginationMeta","properties":{"from":{"type":"integer"},"to":{"type":"integer"},"current_page":{"type":"integer"},"last_page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"path":{"type":"string"},"links":{"type":"array","items":{"title":"V2PaginationCurrentLinks","properties":{"url":{"type":"string"},"label":{"type":"string"},"active":{"type":"boolean"}}}}}}}}}}}},"\/v2\/projects\/{UUID}\/monitorings":{"get":{"summary":"View all of a projects monitorings","operationId":"get-v2-projects-uuid-monitorings","tags":["V2 Projects","V2 Project Monitorings"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"name":"per_page","type":"integer","in":"query","description":"number of results (per page) to return"},{"name":"page","type":"integer","in":"query","description":"page number you want results from"}],"produces":["application\/json"],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2ProjectMonitoringRead","type":"object","properties":{"uuid":{"type":"string"},"status":{"type":"string"},"total_hectares":{"type":"integer"},"ha_mangrove":{"type":"integer"},"ha_assisted":{"type":"integer"},"ha_agroforestry":{"type":"integer"},"ha_reforestation":{"type":"integer"},"ha_peatland":{"type":"integer"},"ha_riparian":{"type":"integer"},"ha_enrichment":{"type":"integer"},"ha_nucleation":{"type":"integer"},"ha_silvopasture":{"type":"integer"},"ha_direct":{"type":"integer"},"tree_count":{"type":"integer"},"tree_cover":{"type":"integer"},"field_tree_count":{"type":"integer"},"tree_cover_loss":{"type":"integer"},"carbon_benefits":{"type":"integer"},"number_of_esrp":{"type":"integer"},"field_tree_regenerated":{"type":"integer"},"field_tree_survival_percent":{"type":"integer"},"start_date":{"type":"string","format":"date"},"end_date":{"type":"string","format":"date"},"last_updated":{"type":"string","format":"date-time"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}},"links":{"title":"V2PaginationLinks","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"title":"V2PaginationMeta","properties":{"from":{"type":"integer"},"to":{"type":"integer"},"current_page":{"type":"integer"},"last_page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"path":{"type":"string"},"links":{"type":"array","items":{"title":"V2PaginationCurrentLinks","properties":{"url":{"type":"string"},"label":{"type":"string"},"active":{"type":"boolean"}}}}}}}}}}}},"\/v2\/projects\/{UUID}\/invite":{"post":{"summary":"Invite a user to a project","operationId":"post-v2-projects-uuid-invite","tags":["V2 Project Invite"],"consumes":["application\/json"],"produces":["application\/json"],"parameters":[{"type":"string","name":"UUID","in":"path","required":true},{"in":"body","name":"body","schema":{"title":"V2ProjectInviteCreate","type":"object","properties":{"email_address":{"type":"string"}}}}],"responses":{"201":{"description":"OK","schema":{"title":"V2ProjectInviteRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"project_id":{"type":"integer"},"email_address":{"type":"string"},"accepted_at":{"type":"string","format":"datetime"},"created_at":{"type":"string","format":"datetime"}}}}}}},"\/v2\/projects\/invite\/accept":{"post":{"summary":"Accept a user invitation to a project","operationId":"get-v2-projects-invite-accept","tags":["V2 Project Invite"],"produces":["application\/json"],"parameters":[{"in":"body","name":"body","schema":{"type":"object","properties":{"token":{"type":"string"}},"required":["token"]}}],"responses":{"201":{"description":"OK","schema":{"title":"V2ProjectInviteRead","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"project_id":{"type":"integer"},"email_address":{"type":"string"},"accepted_at":{"type":"string","format":"datetime"},"created_at":{"type":"string","format":"datetime"}}}}}}},"\/v2\/nurseries\/{UUID}":{"delete":{"summary":"Delete a nursery","operationId":"delete-v2-nurseries-uuid","parameters":[{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK"}},"tags":["V2 Nurseries"],"description":""}},"\/v2\/admin\/audits\/{ENTITY}\/{UUID}":{"get":{"operationId":"get-v2-admin-audits-entity-uuid","summary":"List all audits for an specific entity","tags":["V2 Projects","V2 Sites","V2 Nurseries","V2 Project Reports","V2 Site Reports","V2 Nursery Reports"],"parameters":[{"type":"string","name":"ENTITY","in":"path","required":true,"description":"allowed values project\/site\/nursery\/project-reports\/site-reports\/nursery-reports"},{"type":"string","name":"UUID","in":"path","required":true},{"name":"per_page","type":"integer","in":"query","description":"number of results (per page) to return"},{"name":"page","type":"integer","in":"query","description":"page number you want results from"}],"responses":{"200":{"description":"OK","schema":{"type":"object","properties":{"data":{"type":"array","items":{"title":"V2InvasiveRead","type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"type":{"type":"integer"}}}},"links":{"type":"object","properties":{"first":{"type":"string"},"last":{"type":"string"},"prev":{"type":"string"},"next":{"type":"string"}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer"},"last_page":{"type":"integer"},"next":{"type":"integer"},"unfiltered_total":{"type":"integer"}}}}}}}}},"\/v2\/admin\/{ENTITY}\/export\/{FRAMEWORK}":{"get":{"operationId":"get-v2-admin-entity-export-framework.yml","summary":"Export entities data","tags":["V2 Projects","V2 Sites","V2 Nurseries","V2 Project Reports","V2 Site Reports","V2 Nursery Reports","Exports"],"parameters":[{"type":"string","name":"ENTITY","in":"path","required":true,"description":"allowed values projects\/sites\/nurseries\/project-reports\/site-reports\/nursery-reports"},{"type":"string","name":"FRAMEWORK","in":"path","required":true,"description":"allowed values terrafund\/ppc"}],"responses":{"200":{"description":"OK","schema":{"type":"file"}}}}},"\/v2\/projects\/{UUID}\/{ENTITY}\/export":{"get":{"operationId":"get-v2-projects-uuid-entity-export.yml","summary":"Export entities data as Project Developer","tags":["V2 Sites","V2 Nurseries","Exports"],"parameters":[{"type":"string","name":"ENTITY","in":"path","required":true,"description":"allowed values sites|nurseries|project-reports"},{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"file"}}}}},"\/v2\/{ENTITY}\/{UUID}\/export":{"get":{"operationId":"get-v2-entity-export-uuid.yml","summary":"Export report data as Project Developer","tags":["V2 Project Reports","V2 Site Reports","V2 Nursery Reports","V2 Projects","V2 Sites","V2 Nurseries","Exports"],"parameters":[{"type":"string","name":"ENTITY","in":"path","required":true,"description":"allowed values sites|nurseries|projects|project-reports\/site-reports\/nursery-reports"},{"type":"string","name":"UUID","in":"path","required":true}],"responses":{"200":{"description":"OK","schema":{"type":"file"}}}}},"\/v2\/terrafund\/validation\/polygon":{"get":{"summary":"Get validation results for a polygon","parameters":[{"in":"query","name":"uuid","required":true,"description":"The UUID of the polygon","type":"string"}],"responses":{"200":{"description":"Successful response","schema":{"type":"object","properties":{"polygon_id":{"type":"string","description":"The ID of the polygon"},"criteria_list":{"type":"array","description":"List of validation criteria","items":{"type":"object","properties":{"criteria_id":{"type":"integer","description":"The ID of the criteria"},"latest_created_at":{"type":"string","format":"date-time","description":"The latest created at timestamp of the criteria"},"valid":{"type":"integer","description":"Indicates if the criteria is valid or not (1 for valid, 0 for invalid)"}}}}}}}}}},"\/v2\/terrafund\/validation\/criteria-data":{"get":{"summary":"Get criteria data validation results for a polygon","parameters":[{"in":"query","name":"uuid","required":true,"description":"The UUID of the polygon","type":"string"}],"responses":{"200":{"description":"Successful response","schema":{"type":"object","properties":{"polygon_id":{"type":"string","description":"The ID of the polygon"},"criteria_list":{"type":"array","description":"List of validation criteria","items":{"type":"object","properties":{"criteria_id":{"type":"integer","description":"The ID of the criteria"},"latest_created_at":{"type":"string","format":"date-time","description":"The latest created at timestamp of the criteria"},"valid":{"type":"integer","description":"Indicates if the criteria is valid or not (1 for valid, 0 for invalid)"}}}}}}}}}},"\/v2\/terrafund\/validation\/sitePolygons":{"get":{"summary":"Run validation for all polygons in a site","parameters":[{"in":"query","name":"uuid","required":true,"description":"The UUID of the polygon","type":"string"}],"responses":{"200":{"description":"Successful response","schema":{"type":"object","properties":{"message":{"type":"string","description":"A message indicating the completion of validation for all site polygons."}}}}}}},"\/v2\/terrafund\/validation\/site":{"get":{"summary":"Get criteria data validation results for all polygons in a site","parameters":[{"in":"query","name":"uuid","required":true,"description":"The UUID of the polygon","type":"string"}],"responses":{"200":{"description":"Successful response","schema":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","description":"The UUID of the polygon."},"valid":{"type":"boolean","description":"Indicates if the polygon is valid or not."},"checked":{"type":"boolean","description":"Indicates if the polygon has been checked before or not."}}}}}}}},"\/v2\/geometry\/validate":{"post":{"summary":"Test a set of geometries for validity","operationId":"post-v2-geometry-validate","tags":["V2 Geometry"],"parameters":[{"in":"body","name":"body","schema":{"type":"object","properties":{"geometries":{"type":"array","items":{"title":"GeoJSON","type":"object","properties":{"type":{"type":"string","enum":["FeatureCollection"]},"features":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["Feature"]},"properties":{"type":"object","properties":{"poly_name":{"type":"string"},"plantstart":{"type":"string","format":"date"},"plantend":{"type":"string","format":"date"},"practice":{"type":"string"},"target_sys":{"type":"string"},"distr":{"type":"string"},"num_trees":{"type":"number"},"site_id":{"type":"string"}}},"geometry":{"type":"object","properties":{"type":{"type":"string","enum":["Polygon","Point"]},"coordinates":{"type":"array"}}}}}}}}}}}}],"responses":{"200":{"description":"OK: No validation errors occurred with the supplied geometries","schema":{"type":"object","properties":{"errors":{"type":"array","items":null,"description":"An empty array on the OK response is included for ease of parsing on the client side."}}}},"422":{"description":"One or more errors was found with the supplied geometries","schema":{"type":"object","properties":{"errors":{"type":"array","description":"This array is ordered in the same order as the original geometries. If a given geometry had no errors, an empty array is included in its spot.","items":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","enum":["SELF_INTERSECTION","COORDINATE_SYSTEM","SIZE_LIMIT","SPIKE","GEOMETRY_TYPE","TABLE_SCHEMA","DATA_COMPLETED"]},"message":{"type":"string","description":"Human readable string in English to describe the error."},"field":{"type":"string","description":"A path string indicating where the error occurred."}}}}}}}}}}},"\/v2\/geometry":{"post":{"summary":"Upload bulk geometry","operationId":"post-v2-geometry","tags":["V2 Geometry"],"description":"Takes an array of geometries and adds them to the sites indicated. For each geometry, it may either be a \nsingle Polygon (in which case the site_id is required), or it may be a FeatureCollection of Points. If a geometry\nis a collection of points, then the site_id must be present on at least one of the points. If it is present on\nmultiple points, all points within a given collection must have the same site_id. \n\nFor additional properties (plantstart, num_trees, etc) on Point geometries, if the properties are present on \nmultiple Points, the first non-null value for each is used.\n","parameters":[{"in":"body","name":"body","schema":{"type":"object","properties":{"geometries":{"type":"array","items":{"title":"GeoJSON","type":"object","properties":{"type":{"type":"string","enum":["FeatureCollection"]},"features":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["Feature"]},"properties":{"type":"object","properties":{"poly_name":{"type":"string"},"plantstart":{"type":"string","format":"date"},"plantend":{"type":"string","format":"date"},"practice":{"type":"string"},"target_sys":{"type":"string"},"distr":{"type":"string"},"num_trees":{"type":"number"},"site_id":{"type":"string"}}},"geometry":{"type":"object","properties":{"type":{"type":"string","enum":["Polygon","Point"]},"coordinates":{"type":"array"}}}}}}}}}}}}],"responses":{"201":{"description":"Created","schema":{"title":"SiteGeometryPost","type":"object","properties":{"polygon_uuids":{"type":"array","items":{"type":"string"},"description":"The UUIDs generated by the system for the uploaded polygons. They are in the same order as the polygons in the request payload."},"errors":{"type":"object","description":"Mapping of geometry UUID to the errors associated with the geometry. The geometry was saved in the DB and must be updated instead of created once the issues are resolved.","additionalProperties":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","enum":["OVERLAPPING_POLYGON","SELF_INTERSECTION","COORDINATE_SYSTEM","SIZE_LIMIT","WITHIN_COUNTRY","SPIKE","GEOMETRY_TYPE","TOTAL_AREA_EXPECTED","TABLE_SCHEMA","DATA_COMPLETED"]},"message":{"type":"string","description":"Human readable string in English to describe the error."}}}}}}}}}},"delete":{"summary":"Bulk delete geometries","operationId":"delete-v2-geometry","tags":["V2 Geometry"],"parameters":[{"type":"array","name":"uuids[]","in":"query","required":true,"items":{"type":"string"}}],"responses":{"200":{"description":"OK"},"403":{"description":"This account does not have permission to delete some of the geometries. Nothing was deleted."},"404":{"description":"Some of the UUIDs were not found. Nothing was deleted"}}}},"\/v2\/geometry\/{UUID}":{"put":{"summary":"Update a geometry","operationId":"put-v2-geometry","tags":["V2 Geometry"],"parameters":[{"in":"path","type":"string","name":"UUID","required":true},{"in":"body","name":"body","schema":{"type":"object","properties":{"geometry":{"title":"GeoJSON","type":"object","properties":{"type":{"type":"string","enum":["FeatureCollection"]},"features":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["Feature"]},"properties":{"type":"object","properties":{"poly_name":{"type":"string"},"plantstart":{"type":"string","format":"date"},"plantend":{"type":"string","format":"date"},"practice":{"type":"string"},"target_sys":{"type":"string"},"distr":{"type":"string"},"num_trees":{"type":"number"},"site_id":{"type":"string"}}},"geometry":{"type":"object","properties":{"type":{"type":"string","enum":["Polygon","Point"]},"coordinates":{"type":"array"}}}}}}}}}}}],"responses":{"200":{"description":"OK: Update was applied.","schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","enum":["OVERLAPPING_POLYGON","SELF_INTERSECTION","COORDINATE_SYSTEM","SIZE_LIMIT","WITHIN_COUNTRY","SPIKE","GEOMETRY_TYPE","TOTAL_AREA_EXPECTED","TABLE_SCHEMA","DATA_COMPLETED"]},"message":{"type":"string","description":"Human readable string in English to describe the error."}}}}}}},"403":{"description":"This account does not have permission to update the polygon."},"404":{"description":"Geometry was not found."}}}},"\/v2\/sites\/{site}\/polygon":{"get":{"summary":"Get polygons for a specific site","parameters":[{"in":"path","name":"site","required":true,"type":"string","description":"The ID of the site"}],"responses":{"200":{"description":"Successful response","schema":{"title":"SitePolygonsDataResponse","type":"array","items":{"title":"SitePolygon","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"project_id":{"type":"string"},"proj_name":{"type":"string"},"org_name":{"type":"string"},"poly_id":{"type":"string"},"poly_name":{"type":"string"},"site_id":{"type":"string"},"site_name":{"type":"string"},"plantstart":{"type":"string","format":"date"},"plantend":{"type":"string","format":"date"},"practice":{"type":"string"},"target_sys":{"type":"string"},"distr":{"type":"string"},"num_trees":{"type":"integer"},"calc_area":{"type":"number","format":"float"},"created_by":{"type":"string"},"last_modified_by":{"type":"string"},"deleted_at":{"type":"string","format":"date-time"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"status":{"type":"string"},"country":{"type":"string"}}}}},"400":{"description":"Bad request"},"500":{"description":"Internal server error"}}}},"\/v2\/sites\/{site}\/bbox":{"get":{"summary":"Get bbox for a specific site","parameters":[{"in":"path","name":"site","required":true,"type":"string","description":"The ID of the site"}],"responses":{"200":{"description":"Successful response","schema":{"title":"SitePolygonsBboxResponse","type":"object","properties":{"bbox":{"type":"array","items":{"type":"number"}}}}},"400":{"description":"Bad request"},"500":{"description":"Internal server error"}}}},"\/v2\/terrafund\/site-polygon\/{uuid}\/{siteUuid}":{"post":{"summary":"Create site polygon","parameters":[{"in":"path","name":"uuid","required":true,"type":"string","description":"The UUID of the polygon related"},{"in":"path","name":"siteUuid","required":true,"type":"string","description":"The UUID of the site"},{"in":"body","name":"body","required":true,"schema":{"type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"poly_name":{"type":"string"},"plantstart":{"type":"string","format":"date"},"plantend":{"type":"string","format":"date"},"practice":{"type":"string"},"target_sys":{"type":"string"},"distr":{"type":"string"},"num_trees":{"type":"integer"},"calc_area":{"type":"number","format":"float"},"status":{"type":"string"}}}}],"responses":{"201":{"description":"Successful response","schema":{"type":"object","properties":{"message":{"type":"string","example":"Site polygon created successfully"},"uuid":{"type":"string","description":"UUID of the created site polygon"},"area":{"type":"number","format":"double","description":"Calculated area in hectares"}}}},"400":{"description":"Bad request"},"500":{"description":"Internal server error"}}}},"\/v2\/terrafund\/polygon\/bbox\/{uuid}":{"get":{"summary":"Get bbox for a polygon","parameters":[{"in":"path","name":"uuid","required":true,"type":"string","description":"The UUID of the polygon"}],"responses":{"200":{"description":"Successful response","schema":{"title":"SitePolygonsBboxResponse","type":"object","properties":{"bbox":{"type":"array","items":{"type":"number"}}}}},"400":{"description":"Bad request"},"500":{"description":"Internal server error"}}}},"\/v2\/terrafund\/geojson\/complete":{"get":{"summary":"Get Polygon as GeoJSON","description":"Retrieve polygon geometry and properties as GeoJSON.","parameters":[{"in":"query","name":"uuid","type":"string","required":true,"description":"UUID of the polygon geometry."}],"responses":{"200":{"description":"Successful response","schema":{"type":"object","properties":{"type":{"type":"string"},"features":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"geometry":{"type":"object","properties":{"type":{"type":"string"},"coordinates":{"type":"array"}}},"properties":{"type":"object","properties":{"poly_name":{"type":"string"},"plantstart":{"type":"string"},"plantend":{"type":"string"},"practice":{"type":"string"},"target_sys":{"type":"string"},"distr":{"type":"string"},"num_trees":{"type":"integer"}}}}}}}}},"400":{"description":"Bad request"},"500":{"description":"Internal server error"}}}},"\/v2\/terrafund\/polygon\/{uuid}":{"get":{"summary":"Get Site Polygon Data","description":"Retrieve site polygon data for the given UUID.","parameters":[{"in":"path","name":"uuid","type":"string","required":true,"schema":{"type":"string"},"description":"The UUID of the site polygon."}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"type":"object","properties":{"site_polygon":{"type":"object","properties":{"calc_area":{"type":"number"},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string","nullable":true},"deleted_at":{"type":"string","format":"date-time","nullable":true},"distr":{"type":"string","nullable":true},"id":{"type":"integer"},"last_modified_by":{"type":"string","nullable":true},"num_trees":{"type":"integer","nullable":true},"plantend":{"type":"string","format":"date","nullable":true},"plantstart":{"type":"string","format":"date"},"point_id":{"type":"string","nullable":true},"poly_id":{"type":"string"},"poly_name":{"type":"string"},"practice":{"type":"string","nullable":true},"site_id":{"type":"string","nullable":true},"status":{"type":"string"},"target_sys":{"type":"string","nullable":true},"updated_at":{"type":"string","format":"date-time"},"uuid":{"type":"string"}}}}}}}},"404":{"description":"No site polygons found for the given UUID","content":{"application\/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"No site polygons found for the given UUID."}}}}}},"500":{"description":"Internal server error","content":{"application\/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"An error message describing the issue."}}}}}}}},"put":{"summary":"Update geometry for a polygon","parameters":[{"in":"path","name":"uuid","required":true,"type":"string","description":"The UUID of the polygon geometry to update"},{"in":"body","name":"geometry","required":true,"schema":{"type":"object","properties":{"geometry":{"type":"string"}}},"description":"The new geometry data"}],"responses":{"200":{"description":"Geometry updated successfully","content":{"application\/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Geometry updated successfully."},"geometry":{"type":"object","description":"The updated geometry data"},"uuid":{"type":"string"}}}}}},"404":{"description":"No polygon geometry found for the given UUID","content":{"application\/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"No polygon geometry found for the given UUID."}}}}}},"500":{"description":"An error occurred","content":{"application\/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Internal Server Error"}}}}}}}},"delete":{"summary":"Delete polygon records","parameters":[{"in":"path","name":"uuid","required":true,"type":"string","description":"The UUID of the polygon geometry to delete"}],"responses":{"204":{"description":"No Content"}}}},"\/v2\/dashboard\/jobs-created":{"get":{"summary":"view Jobs created for dashboard","parameters":[{"in":"query","name":"country","type":"string","description":"Optional. Filter counts and metrics by country."},{"in":"query","name":"uuid","type":"string","description":"Optional. Filter counts and metrics by UUID."}],"responses":{"200":{"description":"Successful response","schema":{"type":"object","properties":{"data":{"type":"object","properties":{"totalJobsCreated":{"type":"integer"},"forProfitJobsCreated":{"type":"integer"},"nonProfitJobsCreated":{"type":"integer"},"total_ft":{"type":"integer"},"total_pt":{"type":"integer"},"total_men":{"type":"integer"},"total_pt_men":{"type":"integer"},"total_ft_men":{"type":"integer"},"total_women":{"type":"integer"},"total_pt_women":{"type":"integer"},"total_ft_women":{"type":"integer"},"total_youth":{"type":"integer"},"total_pt_youth":{"type":"integer"},"total_ft_youth":{"type":"integer"},"total_non_youth":{"type":"integer"},"total_pt_non_youth":{"type":"integer"},"total_ft_non_youth":{"type":"integer"}}}}}},"400":{"description":"Bad request"},"500":{"description":"Internal server error"}}}},"\/v2\/dashboard\/restoration-strategy":{"get":{"summary":"View Restoration Strategy for dashboard","parameters":[{"in":"query","name":"country","type":"string","description":"Optional. Filter restoration strategy by country."},{"in":"query","name":"uuid","type":"string","description":"Optional. Filter restoration strategy by UUID."}],"responses":{"200":{"description":"Successful response","schema":{"type":"object","properties":{"restorationStrategies":{"type":"object","properties":{"direct-seeding":{"type":"integer"},"tree-planting":{"type":"integer"},"assisted-natural-regeneration":{"type":"integer"}}},"landUseTypes":{"type":"object","properties":{"agroforest":{"type":"integer"},"open-natural-ecosystem":{"type":"integer"},"mangrove":{"type":"integer"},"natural-forest":{"type":"integer"},"peatland":{"type":"integer"},"riparian-area-or-wetland":{"type":"integer"},"silvopasture":{"type":"integer"},"urban-forest":{"type":"integer"},"woodlot-or-plantation":{"type":"integer"}}},"landTenures":{"type":"object","properties":{"communal":{"type":"integer"},"indigenous":{"type":"integer"},"national_protected_area":{"type":"integer"},"other":{"type":"integer"},"private":{"type":"integer"},"public":{"type":"integer"}}}}}},"400":{"description":"Bad request"},"500":{"description":"Internal server error"}}}},"\/v2\/dashboard\/tree-restoration-goal":{"get":{"summary":"View Tree Restoration Goal for dashboard","parameters":[{"in":"query","name":"country","type":"string","description":"Optional. Filter tree restoration goal by country."},{"in":"query","name":"uuid","type":"string","description":"Optional. Filter tree restoration goal by UUID."}],"responses":{"200":{"description":"Successful response","schema":{"type":"object","properties":{"forProfitTreeCount":{"type":"integer"},"nonProfitTreeCount":{"type":"integer"},"totalTreesGrownGoal":{"type":"integer"},"treesUnderRestorationActualTotal":{"type":"array","items":{"type":"object","properties":{"dueDate":{"type":"string","format":"date"},"treeSpeciesAmount":{"type":"integer"},"treeSpeciesPercentage":{"type":"number"}}}},"treesUnderRestorationActualForProfit":{"type":"array","items":{"type":"object","properties":{"dueDate":{"type":"string","format":"date"},"treeSpeciesAmount":{"type":"integer"},"treeSpeciesPercentage":{"type":"number"}}}},"treesUnderRestorationActualNonProfit":{"type":"array","items":{"type":"object","properties":{"dueDate":{"type":"string","format":"date"},"treeSpeciesAmount":{"type":"integer"},"treeSpeciesPercentage":{"type":"number"}}}},"averageSurvivalRateTotal":{"type":"number"},"averageSurvivalRateForProfit":{"type":"number"},"averageSurvivalRateNonProfit":{"type":"number"}}}},"400":{"description":"Bad request"},"500":{"description":"Internal server error"}}}},"\/v2\/dashboard\/project-list-export":{"get":{"summary":"Export CSV document of active projects","tags":["Export"],"produces":["text\/plain"],"responses":{"200":{"description":"OK","schema":{"type":"file"}}}}},"\/v2\/dashboard\/get-polygons":{"get":{"summary":"Retrieve all polygons.","description":"This endpoint returns all polygons by project uuid.\n","parameters":[{"in":"query","name":"uuid","type":"string","description":"uuid for the given project"}],"responses":{"200":{"description":"Successful response","schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string"},"lat":{"type":"number","format":"double"},"long":{"type":"number","format":"double"}}}}}}},"400":{"description":"Bad request"},"500":{"description":"Internal server error"}}}},"\/v2\/dashboard\/get-polygons\/statuses":{"get":{"summary":"Retrieve all polygons.","description":"This endpoint returns all polygons by project uuid.\n","parameters":[{"in":"query","name":"uuid","type":"string","description":"uuid for the given project"}],"responses":{"200":{"description":"Successful response","schema":{"properties":{"data":{"type":"array","properties":{"NeedsMoreInfo":{"type":"array","description":"Ids of polygons that need more information"},"Submitted":{"type":"array","description":"Ids of submitted polygons"},"Approved":{"type":"array","description":"Ids of approved polygons"}}}}}},"400":{"description":"Bad request"},"500":{"description":"Internal server error"}}}},"\/v2\/dashboard\/get-bbox-project":{"get":{"summary":"Get Bbox of all polygons of project","tags":["Projects"],"parameters":[{"in":"query","name":"uuid","type":"string","description":"UUID of the project","required":true}],"responses":{"200":{"description":"Successful response","schema":{"type":"object","properties":{"bbox":{"type":"array","items":{"type":"number"}}}}},"404":{"description":"Project not found"}}}},"\/v2\/dashboard\/bbox\/project":{"get":{"summary":"Get Bbox of all polygons of project","tags":["Projects"],"parameters":[{"in":"query","name":"uuid","type":"string","description":"UUID of the project","required":true}],"responses":{"200":{"description":"Successful response","schema":{"type":"object","properties":{"bbox":{"type":"array","items":{"type":"number"}}}}},"404":{"description":"Project not found"}}}},"\/v2\/dashboard\/country\/{country}":{"get":{"summary":"Get the bounding box of a country","tags":["Country"],"parameters":[{"in":"path","name":"country","type":"string","description":"ISO code of the country","required":true}],"responses":{"200":{"description":"Successful response","schema":{"type":"object","properties":{"bbox":{"type":"array","items":{"type":"number"}}}}},"404":{"description":"Country not found"}}}},"\/v2\/dashboard\/polygon-data\/{uuid}":{"get":{"summary":"Get Get allowed to project","tags":["Get allowed to project"],"parameters":[{"in":"path","name":"uuid","type":"string","description":"UUID of the polygon","required":true}],"responses":{"200":{"description":"Successful response","schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Title of the data field"},"value":{"type":"string","description":"Value of the data field"},"key":{"type":"string","description":"Key of the data field"}}}}}}},"404":{"description":"Polygon not found"}}}},"\/v2\/dashboard\/project-data\/{uuid}":{"get":{"summary":"Get project point data by UUID","tags":["Project point data by UUID"],"parameters":[{"in":"path","name":"uuid","type":"string","description":"UUID of the project point","required":true}],"responses":{"200":{"description":"Successful response","schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Title of the data field"},"value":{"type":"string","description":"Value of the data field"},"key":{"type":"string","description":"Key of the data field"}}}}}}},"500":{"description":"Error in queries"}}}},"\/v2\/type-entity":{"get":{"summary":"Get Entity Type","description":"Determine the type of entity based on UUID.\n","parameters":[{"in":"query","name":"uuid","required":true,"description":"UUID of the entity","type":"string"},{"in":"query","name":"type","required":true,"description":"type of the entity","type":"string"},{"in":"query","name":"status","required":false,"description":"Comma-separated list of status values to filter by","type":"string"},{"in":"query","name":"sort","required":false,"description":"Sort criteria in the format `sort[field]=direction`, e.g. `sort[poly_name]=asc or sort[status]=desc`","type":"string"}],"responses":{"200":{"description":"Successful response","schema":{"type":"object","properties":{"type":{"type":"string","description":"Type of the entity ('project', 'site', 'unknown')"},"uuid":{"type":"string","format":"uuid","description":"UUID of the entity"},"polygonsData":{"type":"array","items":{"title":"SitePolygon","type":"object","properties":{"id":{"type":"integer"},"uuid":{"type":"string"},"project_id":{"type":"string"},"proj_name":{"type":"string"},"org_name":{"type":"string"},"poly_id":{"type":"string"},"poly_name":{"type":"string"},"site_id":{"type":"string"},"site_name":{"type":"string"},"plantstart":{"type":"string","format":"date"},"plantend":{"type":"string","format":"date"},"practice":{"type":"string"},"target_sys":{"type":"string"},"distr":{"type":"string"},"num_trees":{"type":"integer"},"calc_area":{"type":"number","format":"float"},"created_by":{"type":"string"},"last_modified_by":{"type":"string"},"deleted_at":{"type":"string","format":"date-time"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"status":{"type":"string"},"country":{"type":"string"}}}},"bbox":{"type":"array","items":{"type":"number"},"description":"Bounding box of the entity"}}}},"400":{"description":"Bad request, UUID parameter is missing"},"500":{"description":"Internal server error","schema":{"type":"object","properties":{"error":{"type":"string","description":"Error message"}}}}}}}}} \ No newline at end of file From 3e48175dfba0b74468e7f27a1846dbee5d771483 Mon Sep 17 00:00:00 2001 From: JORGE Date: Fri, 7 Jun 2024 15:50:51 -0400 Subject: [PATCH 071/164] [TM-848] fix for multipolygons validation --- app/Validators/Extensions/Polygons/FeatureBounds.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Validators/Extensions/Polygons/FeatureBounds.php b/app/Validators/Extensions/Polygons/FeatureBounds.php index 4f8bca13c..678eefaa2 100644 --- a/app/Validators/Extensions/Polygons/FeatureBounds.php +++ b/app/Validators/Extensions/Polygons/FeatureBounds.php @@ -37,7 +37,7 @@ public static function geoJsonValid($geojson): bool return self::hasValidPolygonBounds(data_get($geojson, 'geometry.coordinates.0')); } elseif ($type === 'MultiPolygon') { foreach (data_get($geojson, 'geometry.coordinates') as $coordinates) { - if (! self::hasValidPolygonBounds($coordinates)) { + if (! self::hasValidPolygonBounds($coordinates[0])) { return false; } } From 2ccaec5d2e10c0873915fefdba8e8be6d7fdb8dc Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Fri, 7 Jun 2024 16:02:34 -0400 Subject: [PATCH 072/164] [TM-850] openapi definition for polygon functionalities --- .../definitions/DashboardPolygonResponse.yml | 4 + .../V2/definitions/FeatureCollection.yml | 4 + openapi-src/V2/definitions/_index.yml | 6 + .../paths/Terrafund/get-v2-geojson-site.yml | 16 ++ .../Terrafund/post-v2-terrafund-polygon.yml | 17 ++ .../post-v2-terrafund-upload-geojson.yml | 29 ++++ .../post-v2-terrafund-upload-kml.yml | 29 ++++ .../post-v2-terrafund-upload-shapefile.yml | 29 ++++ openapi-src/V2/paths/_index.yml | 15 ++ resources/docs/swagger-v2.yml | 157 ++++++++++++++++++ 10 files changed, 306 insertions(+) create mode 100644 openapi-src/V2/definitions/DashboardPolygonResponse.yml create mode 100644 openapi-src/V2/definitions/FeatureCollection.yml create mode 100644 openapi-src/V2/paths/Terrafund/get-v2-geojson-site.yml create mode 100644 openapi-src/V2/paths/Terrafund/post-v2-terrafund-polygon.yml create mode 100644 openapi-src/V2/paths/Terrafund/post-v2-terrafund-upload-geojson.yml create mode 100644 openapi-src/V2/paths/Terrafund/post-v2-terrafund-upload-kml.yml create mode 100644 openapi-src/V2/paths/Terrafund/post-v2-terrafund-upload-shapefile.yml diff --git a/openapi-src/V2/definitions/DashboardPolygonResponse.yml b/openapi-src/V2/definitions/DashboardPolygonResponse.yml new file mode 100644 index 000000000..9c9315201 --- /dev/null +++ b/openapi-src/V2/definitions/DashboardPolygonResponse.yml @@ -0,0 +1,4 @@ +type: object +properties: + uuid: + type: string \ No newline at end of file diff --git a/openapi-src/V2/definitions/FeatureCollection.yml b/openapi-src/V2/definitions/FeatureCollection.yml new file mode 100644 index 000000000..bdd465cd7 --- /dev/null +++ b/openapi-src/V2/definitions/FeatureCollection.yml @@ -0,0 +1,4 @@ +type: object +properties: + type: + type: string \ No newline at end of file diff --git a/openapi-src/V2/definitions/_index.yml b/openapi-src/V2/definitions/_index.yml index 619262284..c96900df3 100644 --- a/openapi-src/V2/definitions/_index.yml +++ b/openapi-src/V2/definitions/_index.yml @@ -294,6 +294,12 @@ SitePolygonCreateResponse: $ref: './SitePolygonCreateResponse.yml' GeoJSONResponse: $ref: './GeoJSONResponse.yml' +FeatureCollection: + $ref: './FeatureCollection.yml' +PolygonBboxResponse: + $ref: './SitePolygonsBboxResponse.yml' +DashboardPolygonResponse: + $ref: './DashboardPolygonResponse.yml' DashboardJobsCreatedResponse: $ref: './DashboardJobsCreatedResponse.yml' DashboardJobsCreatedData: diff --git a/openapi-src/V2/paths/Terrafund/get-v2-geojson-site.yml b/openapi-src/V2/paths/Terrafund/get-v2-geojson-site.yml new file mode 100644 index 000000000..c129b8e5e --- /dev/null +++ b/openapi-src/V2/paths/Terrafund/get-v2-geojson-site.yml @@ -0,0 +1,16 @@ +summary: Get collection Feature as GeoJSON for a site +parameters: + - in: query + name: uuid + type: string + required: true + description: UUID of the aite. +responses: + '200': + description: Successful response + schema: + $ref: '../../definitions/_index.yml#/FeatureCollection' + '400': + description: Bad request + '500': + description: Internal server error \ No newline at end of file diff --git a/openapi-src/V2/paths/Terrafund/post-v2-terrafund-polygon.yml b/openapi-src/V2/paths/Terrafund/post-v2-terrafund-polygon.yml new file mode 100644 index 000000000..f97b1dfd6 --- /dev/null +++ b/openapi-src/V2/paths/Terrafund/post-v2-terrafund-polygon.yml @@ -0,0 +1,17 @@ +summary: Create a new polygon +operationId: post-v2-polygon +tags: + - V2 Terrafund +consumes: + - application/json +parameters: + - in: body + name: body + description: Polygon to create + schema: + $ref: '../../definitions/_index.yml#/GeometryString' +responses: + '200': + description: Created + schema: + $ref: '../../definitions/_index.yml#/DashboardPolygonResponse' \ No newline at end of file diff --git a/openapi-src/V2/paths/Terrafund/post-v2-terrafund-upload-geojson.yml b/openapi-src/V2/paths/Terrafund/post-v2-terrafund-upload-geojson.yml new file mode 100644 index 000000000..6b8db7fe3 --- /dev/null +++ b/openapi-src/V2/paths/Terrafund/post-v2-terrafund-upload-geojson.yml @@ -0,0 +1,29 @@ +summary: Upload GeoJSON File +description: Uploads a GeoJSON file, converts it to GeoJSON, and inserts it into the database. +consumes: + - multipart/form-data +parameters: + - name: file + in: formData + description: The GeoJSON file to upload + required: true + type: file + - name: uuid + in: formData + description: The UUID of the site associated with the GeoJSON file + required: true + type: string +responses: + '200': + description: GeoJSON file processed and inserted successfully + schema: + type: object + properties: + message: + type: string + uuid: + type: string + '400': + description: Bad request + '500': + description: Internal server error \ No newline at end of file diff --git a/openapi-src/V2/paths/Terrafund/post-v2-terrafund-upload-kml.yml b/openapi-src/V2/paths/Terrafund/post-v2-terrafund-upload-kml.yml new file mode 100644 index 000000000..e96254a09 --- /dev/null +++ b/openapi-src/V2/paths/Terrafund/post-v2-terrafund-upload-kml.yml @@ -0,0 +1,29 @@ +summary: Upload KML File +description: Uploads a KML file, converts it to GeoJSON, and inserts it into the database. +consumes: + - multipart/form-data +parameters: + - name: file + in: formData + description: The KML file to upload + required: true + type: file + - name: uuid + in: formData + description: The UUID of the site associated with the KML file + required: true + type: string +responses: + '200': + description: KML file processed and inserted successfully + schema: + type: object + properties: + message: + type: string + uuid: + type: string + '400': + description: Bad request + '500': + description: Internal server error \ No newline at end of file diff --git a/openapi-src/V2/paths/Terrafund/post-v2-terrafund-upload-shapefile.yml b/openapi-src/V2/paths/Terrafund/post-v2-terrafund-upload-shapefile.yml new file mode 100644 index 000000000..11bc63870 --- /dev/null +++ b/openapi-src/V2/paths/Terrafund/post-v2-terrafund-upload-shapefile.yml @@ -0,0 +1,29 @@ +summary: Upload Shapefile +description: Uploads a shapefile, converts it to GeoJSON, and inserts it into the database. +consumes: + - multipart/form-data +parameters: + - name: file + in: formData + description: The shapefile to upload + required: true + type: file + - name: uuid + in: formData + description: The UUID of the site associated with the shapefile + required: true + type: string +responses: + '200': + description: Shapefile processed and inserted successfully + schema: + type: object + properties: + message: + type: string + uuid: + type: string + '400': + description: Bad request + '500': + description: Internal server error \ No newline at end of file diff --git a/openapi-src/V2/paths/_index.yml b/openapi-src/V2/paths/_index.yml index e2d3de649..a7660c2fa 100644 --- a/openapi-src/V2/paths/_index.yml +++ b/openapi-src/V2/paths/_index.yml @@ -2559,6 +2559,21 @@ $ref: './Terrafund/put-v2-terrafund-polygon-uuid.yml' delete: $ref: './Terrafund/delete-v2-terrafund-polygon-uuid.yml' +/v2/terrafund/geojson/site: + get: + $ref: './Terrafund/get-v2-geojson-site.yml' +/v2/terrafund/polygon: + post: + $ref: './Terrafund/post-v2-terrafund-polygon.yml' +/v2/terrafund/upload-geojson: + post: + $ref: './Terrafund/post-v2-terrafund-upload-geojson.yml' +/v2/terrafund/upload-shapefile: + post: + $ref: './Terrafund/post-v2-terrafund-upload-shapefile.yml' +/v2/terrafund/upload-kml: + post: + $ref: './Terrafund/post-v2-terrafund-upload-kml.yml' /v2/dashboard/jobs-created: get: $ref: './Dashboard/get-v2-dashboard-jobs-created.yml' diff --git a/resources/docs/swagger-v2.yml b/resources/docs/swagger-v2.yml index 9aa564506..3bd5e2d61 100644 --- a/resources/docs/swagger-v2.yml +++ b/resources/docs/swagger-v2.yml @@ -44299,6 +44299,24 @@ definitions: type: string num_trees: type: integer + FeatureCollection: + type: object + properties: + type: + type: string + PolygonBboxResponse: + title: SitePolygonsBboxResponse + type: object + properties: + bbox: + type: array + items: + type: number + DashboardPolygonResponse: + type: object + properties: + uuid: + type: string DashboardJobsCreatedResponse: type: object properties: @@ -95113,6 +95131,145 @@ paths: responses: '204': description: No Content + /v2/terrafund/geojson/site: + get: + summary: Get collection Feature as GeoJSON for a site + parameters: + - in: query + name: uuid + type: string + required: true + description: UUID of the aite. + responses: + '200': + description: Successful response + schema: + type: object + properties: + type: + type: string + '400': + description: Bad request + '500': + description: Internal server error + /v2/terrafund/polygon: + post: + summary: Create a new polygon + operationId: post-v2-polygon + tags: + - V2 Terrafund + consumes: + - application/json + parameters: + - in: body + name: body + description: Polygon to create + schema: + type: object + properties: + geometry: + type: string + responses: + '200': + description: Created + schema: + type: object + properties: + uuid: + type: string + /v2/terrafund/upload-geojson: + post: + summary: Upload GeoJSON File + description: 'Uploads a GeoJSON file, converts it to GeoJSON, and inserts it into the database.' + consumes: + - multipart/form-data + parameters: + - name: file + in: formData + description: The GeoJSON file to upload + required: true + type: file + - name: uuid + in: formData + description: The UUID of the site associated with the GeoJSON file + required: true + type: string + responses: + '200': + description: GeoJSON file processed and inserted successfully + schema: + type: object + properties: + message: + type: string + uuid: + type: string + '400': + description: Bad request + '500': + description: Internal server error + /v2/terrafund/upload-shapefile: + post: + summary: Upload Shapefile + description: 'Uploads a shapefile, converts it to GeoJSON, and inserts it into the database.' + consumes: + - multipart/form-data + parameters: + - name: file + in: formData + description: The shapefile to upload + required: true + type: file + - name: uuid + in: formData + description: The UUID of the site associated with the shapefile + required: true + type: string + responses: + '200': + description: Shapefile processed and inserted successfully + schema: + type: object + properties: + message: + type: string + uuid: + type: string + '400': + description: Bad request + '500': + description: Internal server error + /v2/terrafund/upload-kml: + post: + summary: Upload KML File + description: 'Uploads a KML file, converts it to GeoJSON, and inserts it into the database.' + consumes: + - multipart/form-data + parameters: + - name: file + in: formData + description: The KML file to upload + required: true + type: file + - name: uuid + in: formData + description: The UUID of the site associated with the KML file + required: true + type: string + responses: + '200': + description: KML file processed and inserted successfully + schema: + type: object + properties: + message: + type: string + uuid: + type: string + '400': + description: Bad request + '500': + description: Internal server error /v2/dashboard/jobs-created: get: summary: view Jobs created for dashboard From 2672684aff56be8141197fdf56eb2bb2ca6fbde2 Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Fri, 7 Jun 2024 17:19:38 -0400 Subject: [PATCH 073/164] [TM-850] update polygon attributes definition --- .../put-v2-terrafund-site-polygon-uuid.yml | 21 ++++++ openapi-src/V2/paths/_index.yml | 3 + resources/docs/swagger-v2.yml | 75 +++++++++++++++++++ 3 files changed, 99 insertions(+) create mode 100644 openapi-src/V2/paths/Terrafund/put-v2-terrafund-site-polygon-uuid.yml diff --git a/openapi-src/V2/paths/Terrafund/put-v2-terrafund-site-polygon-uuid.yml b/openapi-src/V2/paths/Terrafund/put-v2-terrafund-site-polygon-uuid.yml new file mode 100644 index 000000000..0a6d1b232 --- /dev/null +++ b/openapi-src/V2/paths/Terrafund/put-v2-terrafund-site-polygon-uuid.yml @@ -0,0 +1,21 @@ +summary: Update site polygon +parameters: + - in: path + name: uuid + required: true + type: string + description: The UUID of the site polygon + - in: body + name: body + required: true + schema: + $ref: '../../definitions/_index.yml#/SitePolygonResponse' +responses: + '200': + description: Successful response + schema: + $ref: '../../definitions/_index.yml#/SitePolygonResponse' + '400': + description: Bad request + '500': + description: Internal server error \ No newline at end of file diff --git a/openapi-src/V2/paths/_index.yml b/openapi-src/V2/paths/_index.yml index a7660c2fa..c4d6c211a 100644 --- a/openapi-src/V2/paths/_index.yml +++ b/openapi-src/V2/paths/_index.yml @@ -2574,6 +2574,9 @@ /v2/terrafund/upload-kml: post: $ref: './Terrafund/post-v2-terrafund-upload-kml.yml' +/v2/terrafund/site-polygon/{uuid}: + put: + $ref: './Terrafund/put-v2-terrafund-site-polygon-uuid.yml' /v2/dashboard/jobs-created: get: $ref: './Dashboard/get-v2-dashboard-jobs-created.yml' diff --git a/resources/docs/swagger-v2.yml b/resources/docs/swagger-v2.yml index 3bd5e2d61..968bbc625 100644 --- a/resources/docs/swagger-v2.yml +++ b/resources/docs/swagger-v2.yml @@ -95270,6 +95270,81 @@ paths: description: Bad request '500': description: Internal server error + '/v2/terrafund/site-polygon/{uuid}': + put: + summary: Update site polygon + parameters: + - in: path + name: uuid + required: true + type: string + description: The UUID of the site polygon + - in: body + name: body + required: true + schema: + type: object + properties: + id: + type: integer + uuid: + type: string + poly_name: + type: string + plantstart: + type: string + format: date + plantend: + type: string + format: date + practice: + type: string + target_sys: + type: string + distr: + type: string + num_trees: + type: integer + calc_area: + type: number + format: float + status: + type: string + responses: + '200': + description: Successful response + schema: + type: object + properties: + id: + type: integer + uuid: + type: string + poly_name: + type: string + plantstart: + type: string + format: date + plantend: + type: string + format: date + practice: + type: string + target_sys: + type: string + distr: + type: string + num_trees: + type: integer + calc_area: + type: number + format: float + status: + type: string + '400': + description: Bad request + '500': + description: Internal server error /v2/dashboard/jobs-created: get: summary: view Jobs created for dashboard From d17995f0bfec410273b236e2e77b2880307abf8c Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Tue, 11 Jun 2024 10:06:21 -0400 Subject: [PATCH 074/164] [TM-851] convert to post request for polygon validation --- .../paths/Terrafund/get-v2-terrafund-validation-polygon.yml | 2 +- openapi-src/V2/paths/_index.yml | 4 ++-- resources/docs/swagger-v2.yml | 6 +++--- routes/api_v2.php | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/openapi-src/V2/paths/Terrafund/get-v2-terrafund-validation-polygon.yml b/openapi-src/V2/paths/Terrafund/get-v2-terrafund-validation-polygon.yml index 1f565764b..310abf699 100644 --- a/openapi-src/V2/paths/Terrafund/get-v2-terrafund-validation-polygon.yml +++ b/openapi-src/V2/paths/Terrafund/get-v2-terrafund-validation-polygon.yml @@ -1,4 +1,4 @@ -summary: Get validation results for a polygon +summary: Run validation for a polygon parameters: - in: query name: uuid diff --git a/openapi-src/V2/paths/_index.yml b/openapi-src/V2/paths/_index.yml index c4d6c211a..4a3158a6a 100644 --- a/openapi-src/V2/paths/_index.yml +++ b/openapi-src/V2/paths/_index.yml @@ -2515,13 +2515,13 @@ get: $ref: './Exports/get-v2-entity-export-uuid.yml' '/v2/terrafund/validation/polygon': - get: + post: $ref: './Terrafund/get-v2-terrafund-validation-polygon.yml' '/v2/terrafund/validation/criteria-data': get: $ref: './Terrafund/get-v2-terrafund-validation-criteria-data.yml' '/v2/terrafund/validation/sitePolygons': - get: + post: $ref: './Terrafund/get-v2-terrafund-validation-sitepolygons.yml' '/v2/terrafund/validation/site': get: diff --git a/resources/docs/swagger-v2.yml b/resources/docs/swagger-v2.yml index 968bbc625..1965c3011 100644 --- a/resources/docs/swagger-v2.yml +++ b/resources/docs/swagger-v2.yml @@ -94312,8 +94312,8 @@ paths: schema: type: file /v2/terrafund/validation/polygon: - get: - summary: Get validation results for a polygon + post: + summary: Run validation for a polygon parameters: - in: query name: uuid @@ -94380,7 +94380,7 @@ paths: type: integer description: 'Indicates if the criteria is valid or not (1 for valid, 0 for invalid)' /v2/terrafund/validation/sitePolygons: - get: + post: summary: Run validation for all polygons in a site parameters: - in: query diff --git a/routes/api_v2.php b/routes/api_v2.php index c4caa12ff..9aedba714 100644 --- a/routes/api_v2.php +++ b/routes/api_v2.php @@ -638,8 +638,8 @@ Route::get('/validation/overlapping', [TerrafundCreateGeometryController::class, 'validateOverlapping']); Route::get('/validation/estimated-area', [TerrafundCreateGeometryController::class, 'validateEstimatedArea']); Route::get('/validation/table-data', [TerrafundCreateGeometryController::class, 'validateDataInDB']); - Route::get('/validation/polygon', [TerrafundCreateGeometryController::class, 'getValidationPolygon']); - Route::get('/validation/sitePolygons', [TerrafundCreateGeometryController::class, 'getSiteValidationPolygon']); + Route::post('/validation/polygon', [TerrafundCreateGeometryController::class, 'getValidationPolygon']); + Route::post('/validation/sitePolygons', [TerrafundCreateGeometryController::class, 'getSiteValidationPolygon']); Route::get('/validation/site', [TerrafundCreateGeometryController::class, 'getCurrentSiteValidation']); Route::get('/polygon/{uuid}', [TerrafundEditGeometryController::class, 'getSitePolygonData']); From 41d2dd49bfa34802a49c842552fb4b2e438867fc Mon Sep 17 00:00:00 2001 From: JORGE Date: Tue, 11 Jun 2024 11:47:53 -0400 Subject: [PATCH 075/164] [TM-851] Fix info log for updating centroids --- .../V2/Terrafund/TerrafundEditGeometryController.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php b/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php index fb11c14ee..c755bcb8b 100644 --- a/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php +++ b/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php @@ -84,7 +84,12 @@ public function updateProjectCentroid($polygonGeometry) } else { Log::warning("Centroid data for project UUID: $project->uuid is malformed."); } - Log::info("Updated project centroid for project UUID: $project->uuid with lat: {$centroid['lat']}, lng: {$centroid['lng']}"); + if (is_array($centroid) && isset($centroid['lat']) && isset($centroid['lng'])) { + Log::info("Updated project centroid for project UUID: $project->uuid with lat: {$centroid['lat']}, lng: {$centroid['lng']}"); + } else { + Log::error("Centroid is not properly defined. Centroid data: " . print_r($centroid, true)); + } + } else { Log::warning("Project with UUID $relatedSite->project_id not found."); } From bb98f7444b2bb602951fcb3a92eb27186022f5df Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Tue, 11 Jun 2024 12:12:04 -0400 Subject: [PATCH 076/164] [TM-851] make lint fix --- .../V2/Terrafund/TerrafundEditGeometryController.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php b/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php index c755bcb8b..88bcbfabc 100644 --- a/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php +++ b/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php @@ -85,9 +85,9 @@ public function updateProjectCentroid($polygonGeometry) Log::warning("Centroid data for project UUID: $project->uuid is malformed."); } if (is_array($centroid) && isset($centroid['lat']) && isset($centroid['lng'])) { - Log::info("Updated project centroid for project UUID: $project->uuid with lat: {$centroid['lat']}, lng: {$centroid['lng']}"); + Log::info("Updated project centroid for project UUID: $project->uuid with lat: {$centroid['lat']}, lng: {$centroid['lng']}"); } else { - Log::error("Centroid is not properly defined. Centroid data: " . print_r($centroid, true)); + Log::error('Centroid is not properly defined. Centroid data: ' . print_r($centroid, true)); } } else { From c88d2325d8273160ef0fb94d09712ef30a355e1d Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Tue, 11 Jun 2024 12:15:50 -0400 Subject: [PATCH 077/164] [TM-851] remove createdby when saving criteria site --- app/Services/PolygonService.php | 1 - 1 file changed, 1 deletion(-) diff --git a/app/Services/PolygonService.php b/app/Services/PolygonService.php index 9e8c5ab8a..fd323c3a5 100644 --- a/app/Services/PolygonService.php +++ b/app/Services/PolygonService.php @@ -83,7 +83,6 @@ public function createCriteriaSite($polygonId, $criteriaId, $valid): bool|string $criteriaSite->polygon_id = $polygonId; $criteriaSite->criteria_id = $criteriaId; $criteriaSite->valid = $valid; - $criteriaSite->created_by = Auth::user()?->id; try { $criteriaSite->save(); From 3c7831e7e5b77cc06203d412c0f9f14b3b3c8eac Mon Sep 17 00:00:00 2001 From: JORGE Date: Tue, 11 Jun 2024 17:36:32 -0400 Subject: [PATCH 078/164] [TM-886] implement sys_get_temp_dir for upload files --- .../TerrafundCreateGeometryController.php | 42 +++++++++---------- 1 file changed, 20 insertions(+), 22 deletions(-) diff --git a/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php b/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php index b550bb0df..f9efb777f 100644 --- a/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php +++ b/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php @@ -22,7 +22,6 @@ use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Log; -use Illuminate\Support\Facades\Storage; use Illuminate\Support\Str; use Illuminate\Validation\ValidationException; use Symfony\Component\Process\Process; @@ -62,7 +61,9 @@ public function storeGeometry(Request $request) */ public function insertGeojsonToDB(string $geojsonFilename, ?string $site_id = null) { - $geojsonData = Storage::get("public/geojson_files/{$geojsonFilename}"); + $tempDir = sys_get_temp_dir(); + $geojsonPath = $tempDir . DIRECTORY_SEPARATOR . $geojsonFilename; + $geojsonData = file_get_contents($geojsonPath); $geojson = json_decode($geojsonData, true); SitePolygonValidator::validate('FEATURE_BOUNDS', $geojson, false); @@ -108,7 +109,9 @@ public function validateDataInDB(Request $request) public function getGeometryProperties(string $geojsonFilename) { - $geojsonData = Storage::get("public/geojson_files/{$geojsonFilename}"); + $tempDir = sys_get_temp_dir(); + $geojsonPath = $tempDir . DIRECTORY_SEPARATOR . $geojsonFilename; + $geojsonData = file_get_contents($geojsonPath); $geojson = json_decode($geojsonData, true); if (! isset($geojson['features'])) { return ['error' => 'GeoJSON file does not contain features']; @@ -132,15 +135,12 @@ public function uploadKMLFile(Request $request) if ($request->hasFile('file')) { $site_id = $request->input('uuid'); $kmlfile = $request->file('file'); - $directory = storage_path('app/public/kml_files'); - if (! file_exists($directory)) { - mkdir($directory, 0755, true); - } + $tempDir = sys_get_temp_dir(); $filename = uniqid('kml_file_') . '.' . $kmlfile->getClientOriginalExtension(); - $kmlfile->move($directory, $filename); + $kmlPath = $tempDir . DIRECTORY_SEPARATOR . $filename; + $kmlfile->move($tempDir, $filename); $geojsonFilename = Str::replaceLast('.kml', '.geojson', $filename); - $geojsonPath = storage_path("app/public/geojson_files/{$geojsonFilename}"); - $kmlPath = storage_path("app/public/kml_files/{$filename}"); + $geojsonPath = $tempDir . DIRECTORY_SEPARATOR . $geojsonFilename; $process = new Process(['ogr2ogr', '-f', 'GeoJSON', $geojsonPath, $kmlPath]); $process->run(); if (! $process->isSuccessful()) { @@ -185,7 +185,8 @@ public function uploadShapefile(Request $request) if ($file->getClientOriginalExtension() !== 'zip') { return response()->json(['error' => 'Only ZIP files are allowed'], 400); } - $directory = storage_path('app/public/shapefiles/' . uniqid('shapefile_')); + $tempDir = sys_get_temp_dir(); + $directory = $tempDir . DIRECTORY_SEPARATOR . uniqid('shapefile_'); mkdir($directory, 0755, true); // Extract the contents of the ZIP file @@ -198,7 +199,7 @@ public function uploadShapefile(Request $request) return response()->json(['error' => 'Shapefile (.shp) not found in the ZIP file'], 400); } $geojsonFilename = Str::replaceLast('.shp', '.geojson', basename($shpFile)); - $geojsonPath = storage_path("app/public/geojson_files/{$geojsonFilename}"); + $geojsonPath = $tempDir . DIRECTORY_SEPARATOR . $geojsonFilename; $process = new Process(['ogr2ogr', '-f', 'GeoJSON', $geojsonPath, $shpFile]); $process->run(); if (! $process->isSuccessful()) { @@ -216,7 +217,6 @@ public function uploadShapefile(Request $request) return response()->json(['error' => 'Failed to open the ZIP file'], 400); } } else { - return response()->json(['error' => 'No file uploaded'], 400); } } @@ -345,12 +345,10 @@ public function uploadGeoJSONFile(Request $request) if ($request->hasFile('file')) { $site_id = $request->input('uuid'); $file = $request->file('file'); - $directory = storage_path('app/public/geojson_files'); - if (! file_exists($directory)) { - mkdir($directory, 0755, true); - } + $tempDir = sys_get_temp_dir(); $filename = uniqid('geojson_file_') . '.' . $file->getClientOriginalExtension(); - $file->move($directory, $filename); + $filePath = $tempDir . DIRECTORY_SEPARATOR . $filename; + $file->move($tempDir, $filename); $uuid = $this->insertGeojsonToDB($filename, $site_id); if (is_array($uuid) && isset($uuid['error'])) { return response()->json(['error' => 'Failed to insert GeoJSON data into the database', 'message' => $uuid['error']], 500); @@ -390,8 +388,8 @@ public function getPolygonAsGeoJSONDownload(Request $request) $uuid = $request->query('uuid'); $polygonGeometry = PolygonGeometry::where('uuid', $uuid) - ->select(DB::raw('ST_AsGeoJSON(geom) AS geojsonGeom')) - ->first(); + ->select(DB::raw('ST_AsGeoJSON(geom) AS geojsonGeom')) + ->first(); Log::info('Polygon Geometry', ['polygonGeometry' => $polygonGeometry]); if (! $polygonGeometry) { @@ -447,8 +445,8 @@ public function getAllPolygonsAsGeoJSONDownload(Request $request) foreach ($polygonsUuids as $polygonUuid) { $feature = []; $polygonGeometry = PolygonGeometry::where('uuid', $polygonUuid) - ->select(DB::raw('ST_AsGeoJSON(geom) AS geojsonGeom')) - ->first(); + ->select(DB::raw('ST_AsGeoJSON(geom) AS geojsonGeom')) + ->first(); if (! $polygonGeometry) { return response()->json(['message' => 'No polygon geometry found for the given UUID.'], 404); } From 3eae9ce647c80966a796d8856be247e9b7e2196e Mon Sep 17 00:00:00 2001 From: JORGE Date: Tue, 11 Jun 2024 17:44:55 -0400 Subject: [PATCH 079/164] [TM-886] return indentation --- .../V2/Terrafund/TerrafundCreateGeometryController.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php b/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php index f9efb777f..038c84b2f 100644 --- a/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php +++ b/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php @@ -388,8 +388,8 @@ public function getPolygonAsGeoJSONDownload(Request $request) $uuid = $request->query('uuid'); $polygonGeometry = PolygonGeometry::where('uuid', $uuid) - ->select(DB::raw('ST_AsGeoJSON(geom) AS geojsonGeom')) - ->first(); + ->select(DB::raw('ST_AsGeoJSON(geom) AS geojsonGeom')) + ->first(); Log::info('Polygon Geometry', ['polygonGeometry' => $polygonGeometry]); if (! $polygonGeometry) { @@ -445,8 +445,8 @@ public function getAllPolygonsAsGeoJSONDownload(Request $request) foreach ($polygonsUuids as $polygonUuid) { $feature = []; $polygonGeometry = PolygonGeometry::where('uuid', $polygonUuid) - ->select(DB::raw('ST_AsGeoJSON(geom) AS geojsonGeom')) - ->first(); + ->select(DB::raw('ST_AsGeoJSON(geom) AS geojsonGeom')) + ->first(); if (! $polygonGeometry) { return response()->json(['message' => 'No polygon geometry found for the given UUID.'], 404); } From 1b8a5d29a4fa07cb071bd0de6f0fb222ad3afa11 Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Wed, 12 Jun 2024 10:35:27 -0700 Subject: [PATCH 080/164] [TM-962] Get Python integrated with our PHP docker image. --- docker/php.Dockerfile | 9 +- resources/python/polygon-voronoi/app.py | 131 ++++++++++++++++++ .../python/polygon-voronoi/requirements.txt | 2 + 3 files changed, 141 insertions(+), 1 deletion(-) create mode 100644 resources/python/polygon-voronoi/app.py create mode 100644 resources/python/polygon-voronoi/requirements.txt diff --git a/docker/php.Dockerfile b/docker/php.Dockerfile index e9ee0576d..81837c91e 100644 --- a/docker/php.Dockerfile +++ b/docker/php.Dockerfile @@ -11,7 +11,8 @@ RUN apt-get install -y \ mariadb-client \ libzip-dev \ gdal-bin \ - libgdal-dev + libgdal-dev \ + python3.11-venv RUN docker-php-ext-configure gd --with-freetype --with-jpeg RUN docker-php-ext-install \ @@ -37,3 +38,9 @@ RUN mv "$PHP_INI_DIR/php.ini-development" "$PHP_INI_DIR/php.ini" RUN a2enmod rewrite COPY docker/000-default.conf /etc/apache2/sites-available/000-default.conf COPY docker/php.ini /usr/local/etc/php/php.ini + +## Python +RUN python3 -m venv /root/python +COPY resources/python/polygon-voronoi/requirements.txt /root/voronoi-requirements.txt +ENV PATH="/root/python/bin:${PATH}" +RUN pip3 install -r /root/voronoi-requirements.txt diff --git a/resources/python/polygon-voronoi/app.py b/resources/python/polygon-voronoi/app.py new file mode 100644 index 000000000..04f4b4c91 --- /dev/null +++ b/resources/python/polygon-voronoi/app.py @@ -0,0 +1,131 @@ +import json +import os +from math import pi + +import pyproj +from shapely import voronoi_polygons +from shapely.geometry import GeometryCollection, MultiPoint, Point, mapping, shape +from shapely.ops import transform + +# Constants +WGS84_CRS = pyproj.crs.CRS("epsg:4326") +BUFFER_ENVELOPE_SIZE = 5000 +ADDITIONAL_RADIUS = 5 + + +def calculate_circle_radius(hectares_area, additional_radius=ADDITIONAL_RADIUS): + try: + square_meters = hectares_area * 10000 # transform hectares into square meters + radius = (square_meters / pi) ** 0.5 # calculate the radius of the circle + return radius + additional_radius + except Exception as e: + print(f"Error in calculate_circle_radius: {e}") + + +def process_features(features): + try: + multipoint_list = [] + for f in features: + geometry = f.get("geometry") + if geometry: + multipoint_list.append(shape(geometry)) + + multipoint = MultiPoint(multipoint_list) + print("Calculating the centroid of the multipoint") + center = multipoint.centroid + proj_str = f"+ellps=WGS84 +proj=tmerc +lat_0={center.y} +lon_0={center.x} +units=m +no_defs" + crs_dst = pyproj.crs.CRS(proj_str) + to_tmp_tmerc = pyproj.Transformer.from_crs(WGS84_CRS, crs_dst).transform + + transformed_points = [] + buffered_points = [] + for feature in features: + point = shape(feature.get("geometry", {"type": "Point", "coordinates": [0, 0]})) + properties = feature.get("properties", {}) + est_area = properties.get("est_area", 0) + buffer_distance = calculate_circle_radius(est_area) + transformed_point = transform(to_tmp_tmerc, Point(point.x, point.y)) + transformed_points.append(transformed_point) + buffered_points.append(transformed_point.buffer(buffer_distance)) + + return multipoint, transformed_points, buffered_points, crs_dst + except Exception as e: + print(f"Error in process_features: {e}") + + +def generate_voronoi_polygons(transformed_points): + try: + envelope = GeometryCollection(transformed_points).envelope.buffer(BUFFER_ENVELOPE_SIZE) + return voronoi_polygons(MultiPoint(transformed_points), extend_to=envelope) + except Exception as e: + print(f"Error in generate_voronoi_polygons: {e}") + + +def create_output_geojson(features, transformed_points, buffered_points, voronoi_regions, crs_dst): + try: + to_wgs84 = pyproj.Transformer.from_crs(crs_dst, WGS84_CRS).transform + + voronoi_polygons_per_point = [0] * len(transformed_points) + for i, point in enumerate(transformed_points): + for region in voronoi_regions.geoms: + if point.intersects(region): + voronoi_polygons_per_point[i] = region + + output_features = [] + for i, (voronoi_polygon, buffered_point, feature) in enumerate( + zip(voronoi_polygons_per_point, buffered_points, features) + ): + intersection_region = buffered_point.intersection(voronoi_polygon) + if intersection_region.is_valid and not intersection_region.is_empty: + region_in_wgs84 = transform(to_wgs84, intersection_region) + properties = feature.get("properties", {}) + output_features.append( + { + "type": "Feature", + "geometry": mapping(region_in_wgs84), + "properties": properties, + } + ) + + return {"type": "FeatureCollection", "features": output_features} + except Exception as e: + print(f"Error in create_output_geojson: {e}") + + +def main(input_geojson_path, output_geojson_path): + try: + with open(input_geojson_path, "r") as file: + print("Reading GeoJSON file") + geojson_data = json.load(file) + + print("GeoJSON file read successfully") + features = geojson_data.get("features", []) + if not features: + print("No features found in the GeoJSON file") + return + + multipoint, transformed_points, buffered_points, crs_dst = process_features(features) + voronoi_regions = generate_voronoi_polygons(transformed_points) + output_geojson = create_output_geojson( + features, transformed_points, buffered_points, voronoi_regions, crs_dst + ) + + with open(output_geojson_path, "w") as output_file: + json.dump(output_geojson, output_file) + print(f"Output GeoJSON written to: {output_geojson_path}") + + except Exception as e: + print(f"Error in main: {e}") + + +if __name__ == "__main__": + import argparse + + parser = argparse.ArgumentParser( + description="Process a GeoJSON file and generate a Voronoi diagram." + ) + parser.add_argument("input_geojson", type=str, help="Path to the input GeoJSON file") + parser.add_argument("output_geojson", type=str, help="Path to the output GeoJSON file") + args = parser.parse_args() + + main(args.input_geojson, args.output_geojson) diff --git a/resources/python/polygon-voronoi/requirements.txt b/resources/python/polygon-voronoi/requirements.txt new file mode 100644 index 000000000..633d98ebe --- /dev/null +++ b/resources/python/polygon-voronoi/requirements.txt @@ -0,0 +1,2 @@ +pyproj==3.4.1 +shapely==2.0.1 From f553187af6c813c349d85a4d771f701783d36d5b Mon Sep 17 00:00:00 2001 From: Jose Carlos Laura Ramirez Date: Wed, 12 Jun 2024 13:41:36 -0400 Subject: [PATCH 081/164] [TM-857] Audit Log and Comment Feature for Project/Site/Polygons (#254) * add status table * add attachment table * add audit-status + site-polygon endpoints * add swagger definitions for audit status and polygon endpoints * fix: problem with parameter in open api definition * fix openapi definitions and test execution * implement polymorphic association in Audit Status * fix merge errors and remove duplicated definition * add AuditStatus attachments with MediaModel * remove unused methods and files * remove GetPolygonByProjectController * replace auditable_id and auditable_type with entity_name * add AuditStatusRequest to improve endpoint readability * improve swagger definition * update swagger definition * replace EntityModel by AuditableModel * rename variable * remove unused table * remove unused definition and update swagger * change AuditStatus upload file policy * address corrections on AuditableModel * use ModelInterfaceBindingMiddleware on store audit controller * fix typo and update references in swagger * rename status table to audit-statuese * change table name to use underscore * [TM-843] add endpoint to determine wether a site can be approved (#274) * add endpoint to determine wether a site can be approved * improve code for checking site approval * [TM-944] Enable polygon audit log (#273) * Add endpoint for listing SitePolygons for a given project * fix problem with parameters missing in definition * [TM-941] Audit Log request support (#275) * add endpoint for updating status * change EntityModel -> AuditableModel and add missing policy * move criteria site to helper for reuse * add criteria check for site polygon approval * move endpoint to auditable path * add a policy for updating Site Polygons * fix problem with parameters missing in definitio * improve query for criteria site --- app/Helpers/GeometryHelper.php | 16 + .../AuditStatus/GetAuditStatusController.php | 25 ++ .../StoreAuditStatusController.php | 34 ++ .../UpdateAuditableStatusController.php | 99 +++++ ...ewAllSitesPolygonsForProjectController.php | 17 + .../V2/Sites/SiteCheckApproveController.php | 18 + .../TerrafundCreateGeometryController.php | 24 +- .../ModelInterfaceBindingMiddleware.php | 4 + .../AuditStatus/AuditStatusCreateRequest.php | 24 ++ .../AuditStatus/AuditStatusUpdateRequest.php | 24 ++ app/Http/Resources/V2/AuditStatusResource.php | 33 ++ .../V2/SitePolygon/SitePolygonResource.php | 26 ++ app/Models/Traits/SaveAuditStatusTrait.php | 27 ++ app/Models/V2/AuditStatus/AuditStatus.php | 61 +++ app/Models/V2/AuditableModel.php | 10 + app/Models/V2/Projects/Project.php | 15 +- app/Models/V2/Sites/Site.php | 14 +- app/Models/V2/Sites/SitePolygon.php | 20 +- .../V2/AuditStatus/AuditStatusPolicy.php | 15 + app/Policies/V2/Sites/SitePolygonPolicy.php | 27 ++ ..._06_023733_create_audit_statuses_table.php | 41 ++ .../definitions/AuditStatusCreateRequest.yml | 13 + .../V2/definitions/AuditStatusResponse.yml | 34 ++ .../definitions/AuditStatusUpdateRequest.yml | 13 + .../definitions/SiteCheckApproveResponse.yml | 5 + .../V2/definitions/SitePolygonResource.yml | 16 + openapi-src/V2/definitions/_index.yml | 12 +- .../paths/AuditStatus/get-v2-audit-status.yml | 21 + .../AuditStatus/post-v2-audit-status.yml | 24 ++ .../Entity/put-v2-entity-uuid-status.yml | 19 + ...get-v2-projects-uuid-site-polygons-all.yml | 20 + .../Sites/get-v2-sites-uuid-check-approve.yml | 17 + openapi-src/V2/paths/_index.yml | 16 +- resources/docs/swagger-v2.yml | 370 ++++++++++++++++++ routes/api_v2.php | 17 + 35 files changed, 1145 insertions(+), 26 deletions(-) create mode 100644 app/Http/Controllers/V2/AuditStatus/GetAuditStatusController.php create mode 100644 app/Http/Controllers/V2/AuditStatus/StoreAuditStatusController.php create mode 100644 app/Http/Controllers/V2/Auditable/UpdateAuditableStatusController.php create mode 100644 app/Http/Controllers/V2/Polygons/ViewAllSitesPolygonsForProjectController.php create mode 100644 app/Http/Controllers/V2/Sites/SiteCheckApproveController.php create mode 100644 app/Http/Requests/V2/AuditStatus/AuditStatusCreateRequest.php create mode 100644 app/Http/Requests/V2/AuditStatus/AuditStatusUpdateRequest.php create mode 100644 app/Http/Resources/V2/AuditStatusResource.php create mode 100644 app/Http/Resources/V2/SitePolygon/SitePolygonResource.php create mode 100644 app/Models/Traits/SaveAuditStatusTrait.php create mode 100644 app/Models/V2/AuditStatus/AuditStatus.php create mode 100644 app/Models/V2/AuditableModel.php create mode 100644 app/Policies/V2/AuditStatus/AuditStatusPolicy.php create mode 100644 app/Policies/V2/Sites/SitePolygonPolicy.php create mode 100644 database/migrations/2024_06_06_023733_create_audit_statuses_table.php create mode 100644 openapi-src/V2/definitions/AuditStatusCreateRequest.yml create mode 100644 openapi-src/V2/definitions/AuditStatusResponse.yml create mode 100644 openapi-src/V2/definitions/AuditStatusUpdateRequest.yml create mode 100644 openapi-src/V2/definitions/SiteCheckApproveResponse.yml create mode 100644 openapi-src/V2/definitions/SitePolygonResource.yml create mode 100644 openapi-src/V2/paths/AuditStatus/get-v2-audit-status.yml create mode 100644 openapi-src/V2/paths/AuditStatus/post-v2-audit-status.yml create mode 100644 openapi-src/V2/paths/Entity/put-v2-entity-uuid-status.yml create mode 100644 openapi-src/V2/paths/Projects/get-v2-projects-uuid-site-polygons-all.yml create mode 100644 openapi-src/V2/paths/Sites/get-v2-sites-uuid-check-approve.yml diff --git a/app/Helpers/GeometryHelper.php b/app/Helpers/GeometryHelper.php index 96c918bcc..b0a4099b7 100644 --- a/app/Helpers/GeometryHelper.php +++ b/app/Helpers/GeometryHelper.php @@ -4,6 +4,7 @@ use App\Models\V2\PolygonGeometry; use App\Models\V2\Projects\Project; +use App\Models\V2\Sites\CriteriaSite; use Illuminate\Support\Facades\Log; class GeometryHelper @@ -117,4 +118,19 @@ public static function getPolygonsBbox($polygonsIds) return [$minX, $minY, $maxX, $maxY]; } + + public static function getCriteriaDataForPolygonGeometry($polygonGeometry) + { + return CriteriaSite::whereIn( + 'id', + $polygonGeometry + ->criteriaSite() + ->groupBy('criteria_id') + ->selectRaw('max(id) as latest_id') + )->get([ + 'criteria_id', + 'valid', + 'created_at as latest_created_at', + ]); + } } diff --git a/app/Http/Controllers/V2/AuditStatus/GetAuditStatusController.php b/app/Http/Controllers/V2/AuditStatus/GetAuditStatusController.php new file mode 100644 index 000000000..e0132480b --- /dev/null +++ b/app/Http/Controllers/V2/AuditStatus/GetAuditStatusController.php @@ -0,0 +1,25 @@ +auditStatuses() + ->orderBy('updated_at', 'desc') + ->orderBy('created_at', 'desc') + ->get(); + + foreach ($auditStatuses as $auditStatus) { + $auditStatus->entity_name = $auditable->getAuditableNameAttribute(); + } + + return AuditStatusResource::collection($auditStatuses); + } +} diff --git a/app/Http/Controllers/V2/AuditStatus/StoreAuditStatusController.php b/app/Http/Controllers/V2/AuditStatus/StoreAuditStatusController.php new file mode 100644 index 000000000..39cfd9349 --- /dev/null +++ b/app/Http/Controllers/V2/AuditStatus/StoreAuditStatusController.php @@ -0,0 +1,34 @@ +all(); + + if ($body['type'] === 'change-request') { + AuditStatus::where([ + ['auditable_id', $auditable->id], + ['type', 'change-request'], + ['is_active', true], + ])->update(['is_active' => false]); + $auditStatus = $this->saveAuditStatus(get_class($auditable), $auditable->id, $body['status'], $body['comment'], $body['type'], $body['is_active'], $body['request_removed']); + } else { + $auditStatus = $this->saveAuditStatus(get_class($auditable), $auditable->id, $body['status'], $body['comment'], $body['type']); + } + $auditStatus->entity_name = $auditable->name; + + return new AuditStatusResource($auditStatus); + } +} diff --git a/app/Http/Controllers/V2/Auditable/UpdateAuditableStatusController.php b/app/Http/Controllers/V2/Auditable/UpdateAuditableStatusController.php new file mode 100644 index 000000000..96e1c0d4d --- /dev/null +++ b/app/Http/Controllers/V2/Auditable/UpdateAuditableStatusController.php @@ -0,0 +1,99 @@ +authorize('update', $auditable); + + if (! $this->canChangeStatus($auditable, $request->status)) { + return response()->json(['message' => 'Cannot change status'], 400); + } + + $body = $request->all(); + $status = $body['status']; + + $auditable->status = $status; + $auditable->save(); + + if (isset($body['status'])) { + $this->saveAuditStatus(get_class($auditable), $auditable->id, $status, $body['comment'], $body['type']); + } elseif (isset($body['is_active'])) { + AuditStatus::where('auditable_id', $auditable->id) + ->where('type', $body['type']) + ->where('is_active', true) + ->update(['is_active' => false]); + $this->saveAuditStatus(get_class($auditable), $auditable->id, $status, $body['comment'], $body['type'], $body['is_active'], $body['request_removed']); + } + + return $auditable; + } + + private function canChangeStatus($auditable, $status): bool + { + switch(get_class($auditable)) { + case 'App\Models\V2\Sites\Site': + return $this->canChangeSiteStatusTo($auditable, $status); + case 'App\Models\V2\Sites\SitePolygon': + return $this->canChangeSitePolygonStatusTo($auditable, $status); + default: + return true; + } + } + + private function canChangeSiteStatusTo($auditable, $status) + { + if ($status === 'approved') { + return ! SitePolygon::where('site_id', $auditable->id)->where('status', 'approved')->exists(); + } + + return true; + } + + private function canChangeSitePolygonStatusTo($sitePolygon, $status) + { + if ($status === 'approved') { + $geometry = $sitePolygon->polygonGeometry()->first(); + + if ($geometry === null) { + return false; + } + + $criteriaList = GeometryHelper::getCriteriaDataForPolygonGeometry($geometry); + + if (empty($criteriaList)) { + return false; + } + + $criteriaList = array_filter($criteriaList, function ($criteria) { + return $criteria['criteria_id'] !== PolygonService::ESTIMATED_AREA_CRITERIA_ID; + }); + + $canApprove = true; + foreach ($criteriaList as $criteria) { + if (! $criteria['valid']) { + $canApprove = false; + + break; + } + } + + return $canApprove; + } + + return true; + } +} diff --git a/app/Http/Controllers/V2/Polygons/ViewAllSitesPolygonsForProjectController.php b/app/Http/Controllers/V2/Polygons/ViewAllSitesPolygonsForProjectController.php new file mode 100644 index 000000000..c21c12425 --- /dev/null +++ b/app/Http/Controllers/V2/Polygons/ViewAllSitesPolygonsForProjectController.php @@ -0,0 +1,17 @@ +sitePolygons()->get()); + } +} diff --git a/app/Http/Controllers/V2/Sites/SiteCheckApproveController.php b/app/Http/Controllers/V2/Sites/SiteCheckApproveController.php new file mode 100644 index 000000000..41a597a7b --- /dev/null +++ b/app/Http/Controllers/V2/Sites/SiteCheckApproveController.php @@ -0,0 +1,18 @@ +sitePolygons()->where('status', '!=', 'approved')->exists(); + + return new JsonResource(['can_approve' => $hasNonApproved]); + } +} diff --git a/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php b/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php index 038c84b2f..655ab0bc4 100644 --- a/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php +++ b/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php @@ -2,9 +2,9 @@ namespace App\Http\Controllers\V2\Terrafund; +use App\Helpers\GeometryHelper; use App\Http\Controllers\Controller; use App\Models\V2\PolygonGeometry; -use App\Models\V2\Sites\CriteriaSite; use App\Models\V2\Sites\SitePolygon; use App\Models\V2\WorldCountryGeneralized; use App\Services\PolygonService; @@ -313,30 +313,12 @@ public function getCriteriaData(Request $request) return response()->json(['error' => 'Polygon not found for the given UUID'], 404); } - // Fetch data from criteria_site with distinct criteria_id based on the latest created_at - $criteriaDataQuery = 'SELECT criteria_id, MAX(created_at) AS latest_created_at - FROM criteria_site - WHERE polygon_id = ? - GROUP BY criteria_id'; + $criteriaList = GeometryHelper::getCriteriaDataForPolygonGeometry($geometry); - $criteriaData = DB::select($criteriaDataQuery, [$uuid]); - - if (empty($criteriaData)) { + if (empty($criteriaList)) { return response()->json(['error' => 'Criteria data not found for the given polygon ID'], 404); } - // Determine the validity of each criteria - $criteriaList = []; - foreach ($criteriaData as $criteria) { - $criteriaId = $criteria->criteria_id; - $valid = CriteriaSite::where(['polygon_id' => $uuid, 'criteria_id' => $criteriaId])->orderBy('created_at', 'desc')->select('valid')->first()?->valid; - $criteriaList[] = [ - 'criteria_id' => $criteriaId, - 'latest_created_at' => $criteria->latest_created_at, - 'valid' => $valid, - ]; - } - return response()->json(['polygon_id' => $uuid, 'criteria_list' => $criteriaList]); } diff --git a/app/Http/Middleware/ModelInterfaceBindingMiddleware.php b/app/Http/Middleware/ModelInterfaceBindingMiddleware.php index 53ab7f0ab..fb83beb0d 100644 --- a/app/Http/Middleware/ModelInterfaceBindingMiddleware.php +++ b/app/Http/Middleware/ModelInterfaceBindingMiddleware.php @@ -2,6 +2,7 @@ namespace App\Http\Middleware; +use App\Models\V2\AuditStatus\AuditStatus; use App\Models\V2\Forms\Form; use App\Models\V2\Forms\FormQuestionOption; use App\Models\V2\FundingProgramme; @@ -14,6 +15,7 @@ use App\Models\V2\Projects\ProjectReport; use App\Models\V2\Sites\Site; use App\Models\V2\Sites\SiteMonitoring; +use App\Models\V2\Sites\SitePolygon; use App\Models\V2\Sites\SiteReport; use Closure; use Illuminate\Http\Request; @@ -49,6 +51,8 @@ class ModelInterfaceBindingMiddleware 'form-question-option' => FormQuestionOption::class, 'project-monitoring' => ProjectMonitoring::class, 'site-monitoring' => SiteMonitoring::class, + 'site-polygon' => SitePolygon::class, + 'audit-status' => AuditStatus::class, ]; private static array $typeSlugsCache = []; diff --git a/app/Http/Requests/V2/AuditStatus/AuditStatusCreateRequest.php b/app/Http/Requests/V2/AuditStatus/AuditStatusCreateRequest.php new file mode 100644 index 000000000..81b973a63 --- /dev/null +++ b/app/Http/Requests/V2/AuditStatus/AuditStatusCreateRequest.php @@ -0,0 +1,24 @@ + 'sometimes|nullable|string', + 'comment' => 'sometimes|nullable|string', + 'status' => 'sometimes|nullable|string', + 'is_active' => 'sometimes|nullable|boolean', + 'request_removed' => 'sometimes|nullable|boolean', + ]; + } +} diff --git a/app/Http/Requests/V2/AuditStatus/AuditStatusUpdateRequest.php b/app/Http/Requests/V2/AuditStatus/AuditStatusUpdateRequest.php new file mode 100644 index 000000000..3f49cf9ad --- /dev/null +++ b/app/Http/Requests/V2/AuditStatus/AuditStatusUpdateRequest.php @@ -0,0 +1,24 @@ + 'sometimes|nullable|string', + 'comment' => 'sometimes|nullable|string', + 'status' => 'sometimes|nullable|string', + 'is_active' => 'sometimes|nullable|boolean', + 'request_removed' => 'sometimes|nullable|boolean', + ]; + } +} diff --git a/app/Http/Resources/V2/AuditStatusResource.php b/app/Http/Resources/V2/AuditStatusResource.php new file mode 100644 index 000000000..52a1f8053 --- /dev/null +++ b/app/Http/Resources/V2/AuditStatusResource.php @@ -0,0 +1,33 @@ + $this->id, + 'uuid' => $this->uuid, + 'entity_name' => $this->entity_name, + 'status' => $this->status, + 'comment' => $this->comment, + 'first_name' => $this->first_name, + 'last_name' => $this->last_name, + 'type' => $this->type, + 'is_submitted' => $this->is_submitted, + 'is_active' => $this->is_active, + 'request_removed' => $this->request_removed, + 'date_created' => $this->date_created, + 'created_by' => $this->created_by, + ]; + + return $this->appendFilesToResource($data); + } +} diff --git a/app/Http/Resources/V2/SitePolygon/SitePolygonResource.php b/app/Http/Resources/V2/SitePolygon/SitePolygonResource.php new file mode 100644 index 000000000..034f346d6 --- /dev/null +++ b/app/Http/Resources/V2/SitePolygon/SitePolygonResource.php @@ -0,0 +1,26 @@ + $this->id, + 'uuid' => $this->uuid, + 'poly_name' => $this->poly_name, + 'status' => $this->status, + 'date_created' => $this->date_created, + 'created_by' => $this->created_by, + ]; + } +} diff --git a/app/Models/Traits/SaveAuditStatusTrait.php b/app/Models/Traits/SaveAuditStatusTrait.php new file mode 100644 index 000000000..4944ca76a --- /dev/null +++ b/app/Models/Traits/SaveAuditStatusTrait.php @@ -0,0 +1,27 @@ + $auditable_type, + 'auditable_id' => $auditable_id, + 'status' => $status, + 'comment' => $comment, + 'date_created' => now(), + 'created_by' => Auth::user()->email_address, + 'type' => $type, + 'is_submitted' => $is_submitted, + 'is_active' => $is_active, + 'first_name' => Auth::user()->first_name, + 'last_name' => Auth::user()->last_name, + 'request_removed' => $request_removed, + ]); + } +} diff --git a/app/Models/V2/AuditStatus/AuditStatus.php b/app/Models/V2/AuditStatus/AuditStatus.php new file mode 100644 index 000000000..1220dff86 --- /dev/null +++ b/app/Models/V2/AuditStatus/AuditStatus.php @@ -0,0 +1,61 @@ + [ + 'validation' => 'general-documents', + 'multiple' => true, + ], + ]; + + public function registerMediaConversions(Media $media = null): void + { + $this->addMediaConversion('thumbnail') + ->width(350) + ->height(211) + ->nonQueued(); + } + + public function getRouteKeyName() + { + return 'uuid'; + } + + public function auditable() + { + return $this->morphTo(); + } +} diff --git a/app/Models/V2/AuditableModel.php b/app/Models/V2/AuditableModel.php new file mode 100644 index 000000000..03412bc0b --- /dev/null +++ b/app/Models/V2/AuditableModel.php @@ -0,0 +1,10 @@ +morphMany(AuditStatus::class, 'auditable'); + } + + public function getAuditableNameAttribute(): string + { + return $this->name; + } + /** * @return HasManyThrough A relation for all site reports associated with this project that is for an approved * site, and has a report status past due/started (has been submitted). diff --git a/app/Models/V2/Sites/Site.php b/app/Models/V2/Sites/Site.php index 96b69b828..06725d0b0 100644 --- a/app/Models/V2/Sites/Site.php +++ b/app/Models/V2/Sites/Site.php @@ -11,6 +11,8 @@ use App\Models\Traits\HasUuid; use App\Models\Traits\HasV2MediaCollections; use App\Models\Traits\UsesLinkedFields; +use App\Models\V2\AuditableModel; +use App\Models\V2\AuditStatus\AuditStatus; use App\Models\V2\Disturbance; use App\Models\V2\EntityModel; use App\Models\V2\Invasive; @@ -41,7 +43,7 @@ /** * @property string project_id */ -class Site extends Model implements MediaModel, AuditableContract, EntityModel +class Site extends Model implements MediaModel, AuditableContract, EntityModel, AuditableModel { use HasFactory; use HasUuid; @@ -363,4 +365,14 @@ public function scopeHasMonitoringData(Builder $query, $hasMonitoringData): Buil ? $query->has('monitoring') : $query->doesntHave('monitoring'); } + + public function auditStatuses(): MorphMany + { + return $this->morphMany(AuditStatus::class, 'auditable'); + } + + public function getAuditableNameAttribute(): string + { + return $this->name; + } } diff --git a/app/Models/V2/Sites/SitePolygon.php b/app/Models/V2/Sites/SitePolygon.php index d9bf5e11a..0d37ca430 100644 --- a/app/Models/V2/Sites/SitePolygon.php +++ b/app/Models/V2/Sites/SitePolygon.php @@ -3,6 +3,8 @@ namespace App\Models\V2\Sites; use App\Models\Traits\HasUuid; +use App\Models\V2\AuditableModel; +use App\Models\V2\AuditStatus\AuditStatus; use App\Models\V2\PolygonGeometry; use App\Models\V2\Projects\Project; use App\Models\V2\User; @@ -11,6 +13,7 @@ use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\HasOne; +use Illuminate\Database\Eloquent\Relations\MorphMany; use Illuminate\Database\Eloquent\SoftDeletes; use Znck\Eloquent\Relations\BelongsToThrough; use Znck\Eloquent\Traits\BelongsToThrough as BelongsToThroughTrait; @@ -18,7 +21,7 @@ /** * @method static forPolygonGeometry($value): Builder */ -class SitePolygon extends Model +class SitePolygon extends Model implements AuditableModel { use HasUuid; use SoftDeletes; @@ -72,4 +75,19 @@ public function createdBy(): HasOne { return $this->hasOne(User::class, 'id', 'created_by'); } + + public function getRouteKeyName() + { + return 'uuid'; + } + + public function auditStatuses(): MorphMany + { + return $this->morphMany(AuditStatus::class, 'auditable'); + } + + public function getAuditableNameAttribute(): string + { + return $this->poly_name; + } } diff --git a/app/Policies/V2/AuditStatus/AuditStatusPolicy.php b/app/Policies/V2/AuditStatus/AuditStatusPolicy.php new file mode 100644 index 000000000..a7a4877b6 --- /dev/null +++ b/app/Policies/V2/AuditStatus/AuditStatusPolicy.php @@ -0,0 +1,15 @@ +email_address == $auditStatus->created_by; + } +} diff --git a/app/Policies/V2/Sites/SitePolygonPolicy.php b/app/Policies/V2/Sites/SitePolygonPolicy.php new file mode 100644 index 000000000..8781fe005 --- /dev/null +++ b/app/Policies/V2/Sites/SitePolygonPolicy.php @@ -0,0 +1,27 @@ +site()->first(); + + if ($user->can('framework-' . $site->framework_key)) { + return true; + } + + return $user->can('manage-own') && $this->isTheirs($user, $site); + } + + protected function isTheirs(?User $user, ?Site $site = null): bool + { + return $user->organisation_id == $site->project->organisation_id || $user->projects->contains($site->project_id); + } +} diff --git a/database/migrations/2024_06_06_023733_create_audit_statuses_table.php b/database/migrations/2024_06_06_023733_create_audit_statuses_table.php new file mode 100644 index 000000000..a1bbb5e5f --- /dev/null +++ b/database/migrations/2024_06_06_023733_create_audit_statuses_table.php @@ -0,0 +1,41 @@ +id(); + $table->uuid('uuid')->unique(); + $table->string('status')->nullable(); + $table->string('comment')->nullable(); + $table->string('first_name')->nullable(); + $table->string('last_name')->nullable(); + $table->enum('type', ['change-request', 'status', 'submission', 'comment'])->nullable(); + $table->boolean('is_submitted')->nullable(); + $table->boolean('is_active')->nullable(); + $table->boolean('request_removed')->nullable(); + $table->date('date_created')->nullable(); + $table->string('created_by')->nullable(); + $table->softDeletes(); + $table->timestamps(); + + $table->morphs('auditable'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('audit_statuses'); + } +}; diff --git a/openapi-src/V2/definitions/AuditStatusCreateRequest.yml b/openapi-src/V2/definitions/AuditStatusCreateRequest.yml new file mode 100644 index 000000000..adbb80ae0 --- /dev/null +++ b/openapi-src/V2/definitions/AuditStatusCreateRequest.yml @@ -0,0 +1,13 @@ +title: AuditStatusCreateRequest +type: object +properties: + status: + type: string + comment: + type: string + type: + type: string + is_active: + type: boolean + request_removed: + type: boolean diff --git a/openapi-src/V2/definitions/AuditStatusResponse.yml b/openapi-src/V2/definitions/AuditStatusResponse.yml new file mode 100644 index 000000000..f8ce37e3d --- /dev/null +++ b/openapi-src/V2/definitions/AuditStatusResponse.yml @@ -0,0 +1,34 @@ +title: AuditStatusResponse +type: object +properties: + id: + type: string + uuid: + type: string + entity_name: + type: string + status: + type: string + comment: + type: string + first_name: + type: string + last_name: + type: string + type: + type: string + is_submitted: + type: boolean + is_active: + type: boolean + request_removed: + type: boolean + date_created: + type: string + format: date + created_by: + type: string + attachments: + type: array + items: + $ref: './_index.yml#/V2FileRead' diff --git a/openapi-src/V2/definitions/AuditStatusUpdateRequest.yml b/openapi-src/V2/definitions/AuditStatusUpdateRequest.yml new file mode 100644 index 000000000..718063017 --- /dev/null +++ b/openapi-src/V2/definitions/AuditStatusUpdateRequest.yml @@ -0,0 +1,13 @@ +title: AuditStatusUpdateRequest +type: object +properties: + type: + type: string + comment: + type: string + status: + type: string + is_active: + type: boolean + request_removed: + type: boolean diff --git a/openapi-src/V2/definitions/SiteCheckApproveResponse.yml b/openapi-src/V2/definitions/SiteCheckApproveResponse.yml new file mode 100644 index 000000000..e47b48b18 --- /dev/null +++ b/openapi-src/V2/definitions/SiteCheckApproveResponse.yml @@ -0,0 +1,5 @@ +title: SiteCheckApproveResponse +type: object +properties: + can_approve: + type: boolean diff --git a/openapi-src/V2/definitions/SitePolygonResource.yml b/openapi-src/V2/definitions/SitePolygonResource.yml new file mode 100644 index 000000000..97839a16a --- /dev/null +++ b/openapi-src/V2/definitions/SitePolygonResource.yml @@ -0,0 +1,16 @@ +title: SitePolygonResource +type: object +properties: + id: + type: integer + uuid: + type: string + poly_name: + type: string + status: + type: string + date_created: + type: string + format: date-time + created_by: + type: string diff --git a/openapi-src/V2/definitions/_index.yml b/openapi-src/V2/definitions/_index.yml index c96900df3..c5587fa58 100644 --- a/openapi-src/V2/definitions/_index.yml +++ b/openapi-src/V2/definitions/_index.yml @@ -276,6 +276,10 @@ GeoJSON: $ref: './GeoJSON.yml' GeometryPost: $ref: './GeometryPost.yml' +AuditStatusCreateRequest: + $ref: './AuditStatusCreateRequest.yml' +AuditStatusResponse: + $ref: './AuditStatusResponse.yml' V2TerrafundCriteriaData: $ref: './V2TerrafundCriteriaData.yml' V2TerrafundCriteriaSite: @@ -325,4 +329,10 @@ DashboardPolygonData: GeojsonData: $ref: './GeojsonData.yml' EntityTypeResponse: - $ref: './EntityTypeResponse.yml' \ No newline at end of file + $ref: './EntityTypeResponse.yml' +AuditStatusUpdateRequest: + $ref: './AuditStatusUpdateRequest.yml' +SitePolygonResource: + $ref: './SitePolygonResource.yml' +SiteCheckApproveResponse: + $ref: './SiteCheckApproveResponse.yml' diff --git a/openapi-src/V2/paths/AuditStatus/get-v2-audit-status.yml b/openapi-src/V2/paths/AuditStatus/get-v2-audit-status.yml new file mode 100644 index 000000000..7fbe039d4 --- /dev/null +++ b/openapi-src/V2/paths/AuditStatus/get-v2-audit-status.yml @@ -0,0 +1,21 @@ +operationId: get-v2-audits-status +summary: Get all audits status by entity and entity uuid +tags: + - V2 Audits Status +parameters: + - type: string + name: ENTITY + in: path + required: true + description: allowed values project/site/site-polygon + - type: string + name: UUID + in: path + required: true +responses: + '200': + description: OK + schema: + type: array + items: + $ref: '../../definitions/_index.yml#/AuditStatusResponse' diff --git a/openapi-src/V2/paths/AuditStatus/post-v2-audit-status.yml b/openapi-src/V2/paths/AuditStatus/post-v2-audit-status.yml new file mode 100644 index 000000000..c492736d9 --- /dev/null +++ b/openapi-src/V2/paths/AuditStatus/post-v2-audit-status.yml @@ -0,0 +1,24 @@ +operationId: post-v2-audit-status +summary: Create a new audit status +tags: + - V2 Audits Status +parameters: + - type: string + name: ENTITY + in: path + required: true + description: allowed values project/site/site-polygon + - type: string + name: UUID + in: path + required: true + - in: body + name: body + description: Body to create a new audit status + schema: + $ref: '../../definitions/_index.yml#/AuditStatusCreateRequest' +responses: + '201': + description: Created + schema: + $ref: '../../definitions/_index.yml#/AuditStatusResponse' diff --git a/openapi-src/V2/paths/Entity/put-v2-entity-uuid-status.yml b/openapi-src/V2/paths/Entity/put-v2-entity-uuid-status.yml new file mode 100644 index 000000000..1e9fc5481 --- /dev/null +++ b/openapi-src/V2/paths/Entity/put-v2-entity-uuid-status.yml @@ -0,0 +1,19 @@ + +summary: Update the status of a specific entity +tags: + - V2 Projects + - V2 Sites + - V2 SitePolygons +parameters: + - type: string + name: ENTITY + in: path + required: true + description: allowed values project/site/site-polygons + - type: string + name: UUID + in: path + required: true +responses: + '200': + description: OK diff --git a/openapi-src/V2/paths/Projects/get-v2-projects-uuid-site-polygons-all.yml b/openapi-src/V2/paths/Projects/get-v2-projects-uuid-site-polygons-all.yml new file mode 100644 index 000000000..7af2ea421 --- /dev/null +++ b/openapi-src/V2/paths/Projects/get-v2-projects-uuid-site-polygons-all.yml @@ -0,0 +1,20 @@ +summary: Get all the SitePolygons from all sites belonging to a specific project +operationId: get-v2-projects-uuid-site-polygons-all +tags: + - V2 Projects + - V2 Sites + - V2 SitePolygons +parameters: + - type: string + name: UUID + in: path + required: true +produces: + - application/json +responses: + '200': + description: OK + schema: + type: array + items: + $ref: '../../definitions/_index.yml#/SitePolygonResource' diff --git a/openapi-src/V2/paths/Sites/get-v2-sites-uuid-check-approve.yml b/openapi-src/V2/paths/Sites/get-v2-sites-uuid-check-approve.yml new file mode 100644 index 000000000..1ba6f053d --- /dev/null +++ b/openapi-src/V2/paths/Sites/get-v2-sites-uuid-check-approve.yml @@ -0,0 +1,17 @@ +summary: Check if a site can be approved +operationId: get-v2-sites-uuid-check-approve +tags: + - V2 Sites +parameters: + - type: string + name: site + in: path + required: true +responses: + '200': + description: OK + schema: + type: object + properties: + data: + $ref: '../../definitions/_index.yml#/SiteCheckApproveResponse' diff --git a/openapi-src/V2/paths/_index.yml b/openapi-src/V2/paths/_index.yml index 4a3158a6a..025d73b78 100644 --- a/openapi-src/V2/paths/_index.yml +++ b/openapi-src/V2/paths/_index.yml @@ -2537,6 +2537,11 @@ /v2/geometry/{UUID}: put: $ref: './Geometry/put-v2-geometry-uuid.yml' +/v2/audit-status/{ENTITY}/{UUID}: + get: + $ref: './AuditStatus/get-v2-audit-status.yml' + post: + $ref: './AuditStatus/post-v2-audit-status.yml' /v2/sites/{site}/polygon: get: $ref: './Sites/get-v2-sites-polygons-data.yml' @@ -2615,4 +2620,13 @@ $ref: './Terrafund/get-v2-terrafund-polygon-geojson-uuid.yml' /v2/type-entity: get: - $ref: './Entity/get-v2-type-entity.yml' \ No newline at end of file + $ref: './Entity/get-v2-type-entity.yml' +/v2/{ENTITY}/{UUID}/status: + put: + $ref: './Entity/put-v2-entity-uuid-status.yml' +/v2/projects/{UUID}/site-polygons/all: + get: + $ref: './Projects/get-v2-projects-uuid-site-polygons-all.yml' +/v2/sites/{site}/check-approve: + get: + $ref: './Sites/get-v2-sites-uuid-check-approve.yml' diff --git a/resources/docs/swagger-v2.yml b/resources/docs/swagger-v2.yml index 1965c3011..e450ab440 100644 --- a/resources/docs/swagger-v2.yml +++ b/resources/docs/swagger-v2.yml @@ -44058,6 +44058,81 @@ definitions: message: type: string description: Human readable string in English to describe the error. + AuditStatusCreateRequest: + title: AuditStatusCreateRequest + type: object + properties: + status: + type: string + comment: + type: string + type: + type: string + is_active: + type: boolean + request_removed: + type: boolean + AuditStatusResponse: + title: AuditStatusResponse + type: object + properties: + id: + type: string + uuid: + type: string + entity_name: + type: string + status: + type: string + comment: + type: string + first_name: + type: string + last_name: + type: string + type: + type: string + is_submitted: + type: boolean + is_active: + type: boolean + request_removed: + type: boolean + date_created: + type: string + format: date + created_by: + type: string + attachments: + type: array + items: + title: V2FileRead + type: object + properties: + uuid: + type: string + url: + type: string + thumb_url: + type: string + collection_name: + type: string + title: + type: string + file_name: + type: string + mime_type: + type: string + size: + type: integer + lat: + type: integer + lng: + type: integer + is_public: + type: boolean + created_at: + type: string V2TerrafundCriteriaData: type: object properties: @@ -44658,6 +44733,43 @@ definitions: items: type: number description: Bounding box of the entity + AuditStatusUpdateRequest: + title: AuditStatusUpdateRequest + type: object + properties: + type: + type: string + comment: + type: string + status: + type: string + is_active: + type: boolean + request_removed: + type: boolean + SitePolygonResource: + title: SitePolygonResource + type: object + properties: + id: + type: integer + uuid: + type: string + poly_name: + type: string + status: + type: string + date_created: + type: string + format: date-time + created_by: + type: string + SiteCheckApproveResponse: + title: SiteCheckApproveResponse + type: object + properties: + can_approve: + type: boolean paths: '/v2/tree-species/{entity}/{UUID}': get: @@ -94744,6 +94856,184 @@ paths: description: This account does not have permission to update the polygon. '404': description: Geometry was not found. + '/v2/audit-status/{ENTITY}/{UUID}': + get: + operationId: get-v2-audits-status + summary: Get all audits status by entity and entity uuid + tags: + - V2 Audits Status + parameters: + - type: string + name: ENTITY + in: path + required: true + description: allowed values project/site/site-polygon + - type: string + name: UUID + in: path + required: true + responses: + '200': + description: OK + schema: + type: array + items: + title: AuditStatusResponse + type: object + properties: + id: + type: string + uuid: + type: string + entity_name: + type: string + status: + type: string + comment: + type: string + first_name: + type: string + last_name: + type: string + type: + type: string + is_submitted: + type: boolean + is_active: + type: boolean + request_removed: + type: boolean + date_created: + type: string + format: date + created_by: + type: string + attachments: + type: array + items: + title: V2FileRead + type: object + properties: + uuid: + type: string + url: + type: string + thumb_url: + type: string + collection_name: + type: string + title: + type: string + file_name: + type: string + mime_type: + type: string + size: + type: integer + lat: + type: integer + lng: + type: integer + is_public: + type: boolean + created_at: + type: string + post: + operationId: post-v2-audit-status + summary: Create a new audit status + tags: + - V2 Audits Status + parameters: + - type: string + name: ENTITY + in: path + required: true + description: allowed values project/site/site-polygon + - type: string + name: UUID + in: path + required: true + - in: body + name: body + description: Body to create a new audit status + schema: + title: AuditStatusCreateRequest + type: object + properties: + status: + type: string + comment: + type: string + type: + type: string + is_active: + type: boolean + request_removed: + type: boolean + responses: + '201': + description: Created + schema: + title: AuditStatusResponse + type: object + properties: + id: + type: string + uuid: + type: string + entity_name: + type: string + status: + type: string + comment: + type: string + first_name: + type: string + last_name: + type: string + type: + type: string + is_submitted: + type: boolean + is_active: + type: boolean + request_removed: + type: boolean + date_created: + type: string + format: date + created_by: + type: string + attachments: + type: array + items: + title: V2FileRead + type: object + properties: + uuid: + type: string + url: + type: string + thumb_url: + type: string + collection_name: + type: string + title: + type: string + file_name: + type: string + mime_type: + type: string + size: + type: integer + lat: + type: integer + lng: + type: integer + is_public: + type: boolean + created_at: + type: string '/v2/sites/{site}/polygon': get: summary: Get polygons for a specific site @@ -95894,3 +96184,83 @@ paths: error: type: string description: Error message + '/v2/{ENTITY}/{UUID}/status': + put: + summary: Update the status of a specific entity + tags: + - V2 Projects + - V2 Sites + - V2 SitePolygons + parameters: + - type: string + name: ENTITY + in: path + required: true + description: allowed values project/site/site-polygons + - type: string + name: UUID + in: path + required: true + responses: + '200': + description: OK + '/v2/projects/{UUID}/site-polygons/all': + get: + summary: Get all the SitePolygons from all sites belonging to a specific project + operationId: get-v2-projects-uuid-site-polygons-all + tags: + - V2 Projects + - V2 Sites + - V2 SitePolygons + parameters: + - type: string + name: UUID + in: path + required: true + produces: + - application/json + responses: + '200': + description: OK + schema: + type: array + items: + title: SitePolygonResource + type: object + properties: + id: + type: integer + uuid: + type: string + poly_name: + type: string + status: + type: string + date_created: + type: string + format: date-time + created_by: + type: string + '/v2/sites/{site}/check-approve': + get: + summary: Check if a site can be approved + operationId: get-v2-sites-uuid-check-approve + tags: + - V2 Sites + parameters: + - type: string + name: site + in: path + required: true + responses: + '200': + description: OK + schema: + type: object + properties: + data: + title: SiteCheckApproveResponse + type: object + properties: + can_approve: + type: boolean diff --git a/routes/api_v2.php b/routes/api_v2.php index 9aedba714..b678bb755 100644 --- a/routes/api_v2.php +++ b/routes/api_v2.php @@ -8,7 +8,10 @@ use App\Http\Controllers\V2\Applications\ExportApplicationController; use App\Http\Controllers\V2\Applications\ViewApplicationController; use App\Http\Controllers\V2\Applications\ViewMyApplicationController; +use App\Http\Controllers\V2\Auditable\UpdateAuditableStatusController; use App\Http\Controllers\V2\Audits\AdminIndexAuditsController; +use App\Http\Controllers\V2\AuditStatus\GetAuditStatusController; +use App\Http\Controllers\V2\AuditStatus\StoreAuditStatusController; use App\Http\Controllers\V2\BaselineMonitoring\BaselineMonitoringImportController; use App\Http\Controllers\V2\BaselineMonitoring\BaselineMonitoringProjectController; use App\Http\Controllers\V2\BaselineMonitoring\BaselineMonitoringSiteController; @@ -118,6 +121,7 @@ use App\Http\Controllers\V2\OwnershipStake\DeleteOwnershipStakeController; use App\Http\Controllers\V2\OwnershipStake\StoreOwnershipStakeController; use App\Http\Controllers\V2\OwnershipStake\UpdateOwnershipStakeController; +use App\Http\Controllers\V2\Polygons\ViewAllSitesPolygonsForProjectController; use App\Http\Controllers\V2\Polygons\ViewSitesPolygonsForProjectController; use App\Http\Controllers\V2\ProjectPitches\AdminIndexProjectPitchController; use App\Http\Controllers\V2\ProjectPitches\DeleteProjectPitchController; @@ -163,6 +167,7 @@ use App\Http\Controllers\V2\Sites\Monitoring\AdminSoftDeleteSiteMonitoringController; use App\Http\Controllers\V2\Sites\Monitoring\AdminUpdateSiteMonitoringController; use App\Http\Controllers\V2\Sites\Monitoring\ViewSiteMonitoringController; +use App\Http\Controllers\V2\Sites\SiteCheckApproveController; use App\Http\Controllers\V2\Sites\SitePolygonDataController; use App\Http\Controllers\V2\Sites\SoftDeleteSiteController; use App\Http\Controllers\V2\Sites\ViewASitesMonitoringsController; @@ -197,6 +202,7 @@ use App\Http\Controllers\V2\User\UpdateMyBannersController; use App\Http\Controllers\V2\Workdays\GetWorkdaysForEntityController; use App\Http\Middleware\ModelInterfaceBindingMiddleware; +use App\Models\V2\AuditableModel; use App\Models\V2\EntityModel; use App\Models\V2\MediaModel; use Illuminate\Support\Facades\Route; @@ -521,6 +527,7 @@ Route::get('/{project}/partners', ViewProjectMonitoringPartnersController::class); Route::get('/{project}/sites', ViewProjectSitesController::class); Route::get('/{project}/site-polygons', ViewSitesPolygonsForProjectController::class); + Route::get('/{project}/site-polygons/all', ViewAllSitesPolygonsForProjectController::class); Route::get('/{project}/nurseries', ViewProjectNurseriesController::class); Route::get('/{project}/files', ViewProjectGalleryController::class); Route::get('/{project}/monitorings', ViewAProjectsMonitoringsController::class); @@ -564,6 +571,7 @@ Route::post('/geometry', [GeometryController::class, 'storeSiteGeometry']); Route::get('/polygon', [SitePolygonDataController::class, 'getSitePolygonData']); Route::get('/bbox', [SitePolygonDataController::class, 'getBboxOfCompleteSite']); + Route::get('/check-approve', SiteCheckApproveController::class); }); Route::prefix('geometry')->group(function () { @@ -670,6 +678,15 @@ function () { //Route::put('file/{uuid}', [FilePropertiesController::class, 'update']); //Route::delete('file/{uuid}', [FilePropertiesController::class, 'destroy']); +ModelInterfaceBindingMiddleware::with(AuditableModel::class, function () { + Route::post('/{auditable}', StoreAuditStatusController::class); + Route::get('/{auditable}', GetAuditStatusController::class); +}, prefix: 'audit-status'); + +ModelInterfaceBindingMiddleware::with(AuditableModel::class, function () { + Route::put('/{auditable}/status', UpdateAuditableStatusController::class); +}); + Route::prefix('dashboard')->group(function () { Route::get('/restoration-strategy', ViewRestorationStrategyController::class); Route::get('/jobs-created', GetJobsCreatedController::class); From 1195a2b951d21ae3dc8f6ee2454a83ef62bbd1f5 Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Wed, 12 Jun 2024 16:29:15 -0400 Subject: [PATCH 082/164] [TM-874] get monitoring partner --- .../V2/Dashboard/ViewProjectController.php | 6 ++-- .../DashboardProjectViewResponse.yml | 7 ++++ openapi-src/V2/definitions/_index.yml | 2 ++ .../get-v2-dashboard-view-project-uuid.yml | 16 ++++++++++ openapi-src/V2/paths/_index.yml | 3 ++ resources/docs/swagger-v2.yml | 32 +++++++++++++++++++ routes/api_v2.php | 2 ++ 7 files changed, 66 insertions(+), 2 deletions(-) create mode 100644 openapi-src/V2/definitions/DashboardProjectViewResponse.yml create mode 100644 openapi-src/V2/paths/Dashboard/get-v2-dashboard-view-project-uuid.yml diff --git a/app/Http/Controllers/V2/Dashboard/ViewProjectController.php b/app/Http/Controllers/V2/Dashboard/ViewProjectController.php index 2e4c6261b..0f9bbcb03 100644 --- a/app/Http/Controllers/V2/Dashboard/ViewProjectController.php +++ b/app/Http/Controllers/V2/Dashboard/ViewProjectController.php @@ -9,13 +9,15 @@ use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Log; +use App\Http\Resources\V2\User\MeResource; class ViewProjectController extends Controller { public function getIfUserIsAllowedToProject(String $uuid) { $user = Auth::user(); - $role = $user->role; + assignSpatieRole($user); + $role = $user->roles->first()->name; if ($role === 'government') { $isAllowed = Project::where('uuid', $uuid) ->where('country', $user->country) @@ -30,7 +32,7 @@ public function getIfUserIsAllowedToProject(String $uuid) $response = (object)[ 'allowed' => $isAllowed ? true : false, ]; - } elseif ($role === 'project_developer') { + } elseif ($role === 'project-developer') { $projectId = Project::where('uuid', $uuid) ->value('id'); $isInvite = ProjectInvite::where('email_address', $user->email_address) diff --git a/openapi-src/V2/definitions/DashboardProjectViewResponse.yml b/openapi-src/V2/definitions/DashboardProjectViewResponse.yml new file mode 100644 index 000000000..9ff001421 --- /dev/null +++ b/openapi-src/V2/definitions/DashboardProjectViewResponse.yml @@ -0,0 +1,7 @@ +type: object +properties: + data: + object: object + properties: + allowed: + type: boolean \ No newline at end of file diff --git a/openapi-src/V2/definitions/_index.yml b/openapi-src/V2/definitions/_index.yml index c5587fa58..933fa226d 100644 --- a/openapi-src/V2/definitions/_index.yml +++ b/openapi-src/V2/definitions/_index.yml @@ -336,3 +336,5 @@ SitePolygonResource: $ref: './SitePolygonResource.yml' SiteCheckApproveResponse: $ref: './SiteCheckApproveResponse.yml' +DashboardProjectViewResponse: + $ref: './DashboardProjectViewResponse.yml' \ No newline at end of file diff --git a/openapi-src/V2/paths/Dashboard/get-v2-dashboard-view-project-uuid.yml b/openapi-src/V2/paths/Dashboard/get-v2-dashboard-view-project-uuid.yml new file mode 100644 index 000000000..e80b94bfe --- /dev/null +++ b/openapi-src/V2/paths/Dashboard/get-v2-dashboard-view-project-uuid.yml @@ -0,0 +1,16 @@ +summary: Get allowed to project +tags: + - Get allowed to project +parameters: + - in: path + name: uuid + type: string + description: UUID of the project + required: true +responses: + '200': + description: Successful response + schema: + $ref: '../../definitions/_index.yml#/DashboardProjectViewResponse' + '404': + description: Polygon not found \ No newline at end of file diff --git a/openapi-src/V2/paths/_index.yml b/openapi-src/V2/paths/_index.yml index 025d73b78..8c508ed53 100644 --- a/openapi-src/V2/paths/_index.yml +++ b/openapi-src/V2/paths/_index.yml @@ -2615,6 +2615,9 @@ /v2/dashboard/project-data/{uuid}: get: $ref: './Dashboard/get-v2-dashboard-project-data-uuid.yml' +/v2/dashboard/view-project/{uuid}: + get: + $ref: './Dashboard/get-v2-dashboard-view-project-uuid.yml' /v2/terrafund/polygon/geojson/{uuid}: get: $ref: './Terrafund/get-v2-terrafund-polygon-geojson-uuid.yml' diff --git a/resources/docs/swagger-v2.yml b/resources/docs/swagger-v2.yml index e450ab440..084cc9470 100644 --- a/resources/docs/swagger-v2.yml +++ b/resources/docs/swagger-v2.yml @@ -44770,6 +44770,14 @@ definitions: properties: can_approve: type: boolean + DashboardProjectViewResponse: + type: object + properties: + data: + object: object + properties: + allowed: + type: boolean paths: '/v2/tree-species/{entity}/{UUID}': get: @@ -96044,6 +96052,30 @@ paths: description: Key of the data field '500': description: Error in queries + '/v2/dashboard/view-project/{uuid}': + get: + summary: Get allowed to project + tags: + - Get allowed to project + parameters: + - in: path + name: uuid + type: string + description: UUID of the project + required: true + responses: + '200': + description: Successful response + schema: + type: object + properties: + data: + object: object + properties: + allowed: + type: boolean + '404': + description: Polygon not found '/v2/terrafund/polygon/geojson/{uuid}': get: summary: Retrieve polygon GeoJSON by UUID diff --git a/routes/api_v2.php b/routes/api_v2.php index b678bb755..e23e23048 100644 --- a/routes/api_v2.php +++ b/routes/api_v2.php @@ -24,6 +24,7 @@ use App\Http\Controllers\V2\Dashboard\ProjectListExportController; use App\Http\Controllers\V2\Dashboard\ViewRestorationStrategyController; use App\Http\Controllers\V2\Dashboard\ViewTreeRestorationGoalController; +use App\Http\Controllers\V2\Dashboard\ViewProjectController; use App\Http\Controllers\V2\Disturbances\DeleteDisturbanceController; use App\Http\Controllers\V2\Disturbances\GetDisturbancesForEntityController; use App\Http\Controllers\V2\Disturbances\StoreDisturbanceController; @@ -699,6 +700,7 @@ function () { Route::get('/country/{country}', [CountryDataController::class, 'getCountryBbox']); Route::get('/polygon-data/{uuid}', [CountryDataController::class, 'getPolygonData']); Route::get('/project-data/{uuid}', [CountryDataController::class, 'getProjectData']); + Route::get('/view-project/{uuid}', [ViewProjectController::class, 'getIfUserIsAllowedToProject']); }); Route::get('/type-entity', EntityTypeController::class); From 5173b87809f07b7f8ba8538fa6f435978a4b7023 Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Wed, 12 Jun 2024 16:32:08 -0400 Subject: [PATCH 083/164] [TM-874] make lint fix --- app/Http/Controllers/V2/Dashboard/ViewProjectController.php | 1 - routes/api_v2.php | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/app/Http/Controllers/V2/Dashboard/ViewProjectController.php b/app/Http/Controllers/V2/Dashboard/ViewProjectController.php index 0f9bbcb03..1a3b6a380 100644 --- a/app/Http/Controllers/V2/Dashboard/ViewProjectController.php +++ b/app/Http/Controllers/V2/Dashboard/ViewProjectController.php @@ -9,7 +9,6 @@ use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Log; -use App\Http\Resources\V2\User\MeResource; class ViewProjectController extends Controller { diff --git a/routes/api_v2.php b/routes/api_v2.php index e23e23048..ee9c74fa1 100644 --- a/routes/api_v2.php +++ b/routes/api_v2.php @@ -22,9 +22,9 @@ use App\Http\Controllers\V2\Dashboard\GetJobsCreatedController; use App\Http\Controllers\V2\Dashboard\GetPolygonsController; use App\Http\Controllers\V2\Dashboard\ProjectListExportController; +use App\Http\Controllers\V2\Dashboard\ViewProjectController; use App\Http\Controllers\V2\Dashboard\ViewRestorationStrategyController; use App\Http\Controllers\V2\Dashboard\ViewTreeRestorationGoalController; -use App\Http\Controllers\V2\Dashboard\ViewProjectController; use App\Http\Controllers\V2\Disturbances\DeleteDisturbanceController; use App\Http\Controllers\V2\Disturbances\GetDisturbancesForEntityController; use App\Http\Controllers\V2\Disturbances\StoreDisturbanceController; From 5dcd7332aab4779314b4e9ff82100b8e6f3f30c8 Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Wed, 12 Jun 2024 14:03:43 -0700 Subject: [PATCH 084/164] [TM-962] Implemented the PHP service to access the Python script. --- app/Services/PythonService.php | 45 ++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 app/Services/PythonService.php diff --git a/app/Services/PythonService.php b/app/Services/PythonService.php new file mode 100644 index 000000000..4864a9428 --- /dev/null +++ b/app/Services/PythonService.php @@ -0,0 +1,45 @@ +getTemporaryFile('input.geojson'); + $outputGeojson = $this->getTemporaryFile('output.geojson'); + + $writeHandle = fopen($inputGeojson, 'w'); + try { + fwrite($writeHandle, json_encode($geojson)); + } finally { + fclose($writeHandle); + } + + $process = new Process(['python3', 'resources/python/polygon-voronoi/app.py', $inputGeojson, $outputGeojson]); + $process->run(); + if (! $process->isSuccessful()) { + Log::error('Error running voronoi script: ' . $process->getErrorOutput()); + + return null; + } + + $result = json_decode(file_get_contents($outputGeojson), true); + + unlink($inputGeojson); + unlink($outputGeojson); + + return $result; + } + + protected function getTemporaryFile(string $prefix): string + { + return tempnam(sys_get_temp_dir(), $prefix); + } +} From 7d5f6627c1f358f390d4aed84ddd48301a583fa8 Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Wed, 12 Jun 2024 14:20:28 -0700 Subject: [PATCH 085/164] [TM-974] Add the ogr2ogr command as well --- docker/php.Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docker/php.Dockerfile b/docker/php.Dockerfile index 81837c91e..585b9475d 100644 --- a/docker/php.Dockerfile +++ b/docker/php.Dockerfile @@ -12,7 +12,8 @@ RUN apt-get install -y \ libzip-dev \ gdal-bin \ libgdal-dev \ - python3.11-venv + python3.11-venv \ + gdal-bin RUN docker-php-ext-configure gd --with-freetype --with-jpeg RUN docker-php-ext-install \ From 6cc0dfc1c5ac72c9abc1e15531da3c4692bf3afd Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Wed, 12 Jun 2024 14:43:23 -0700 Subject: [PATCH 086/164] [TM-962] Lint fix --- app/Services/PythonService.php | 1 + 1 file changed, 1 insertion(+) diff --git a/app/Services/PythonService.php b/app/Services/PythonService.php index 4864a9428..7929ddebe 100644 --- a/app/Services/PythonService.php +++ b/app/Services/PythonService.php @@ -16,6 +16,7 @@ public function voronoiTransformation($geojson): ?array $outputGeojson = $this->getTemporaryFile('output.geojson'); $writeHandle = fopen($inputGeojson, 'w'); + try { fwrite($writeHandle, json_encode($geojson)); } finally { From dfcfe0b4d439012b7f795a1a511ebcc82e7d598c Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Wed, 12 Jun 2024 15:45:20 -0700 Subject: [PATCH 087/164] [TM-882] Use data_set because foreach with reference doesn't seem to work. --- app/Console/Commands/BulkWorkdayImport.php | 26 ++++++++++++---------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/app/Console/Commands/BulkWorkdayImport.php b/app/Console/Commands/BulkWorkdayImport.php index 93002614a..277e1b759 100644 --- a/app/Console/Commands/BulkWorkdayImport.php +++ b/app/Console/Commands/BulkWorkdayImport.php @@ -236,19 +236,21 @@ protected function parseRow($csvRow): ?array $collection = $column['collection']; $data = $this->getData($collection, $column['demographic'], $cell, $csvRow); if (! empty($data)) { - $combinedRecords = false; - foreach ($row[$collection] ?? [] as &$existingData) { - if ($existingData['type'] == $data['type'] && - $existingData['subtype'] == $data['subtype'] && - $existingData['name'] == $data['name']) { - $combinedRecords = true; - $existingData['amount'] += $data['amount']; - - break; - } - } - if (! $combinedRecords) { + $existingIndex = collect($row[$collection] ?? [])->search( + fn($demographic) => + $demographic['type'] === $data['type'] && + $demographic['subtype'] === $data['subtype'] && + $demographic['name'] === $data['name'] + ); + + if ($existingIndex === false) { $row[$collection][] = $data; + } else { + data_set( + $row, + "$collection.$existingIndex.amount", + $data["amount"] + data_get($row, "$collection.$existingIndex.amount") + ); } } } From 433475139a45113d1008c5486a7330e63da53738 Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Wed, 12 Jun 2024 16:15:01 -0700 Subject: [PATCH 088/164] [TM-882] Document the override of the abort / assert behavior. --- app/Console/Commands/BulkWorkdayImport.php | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/app/Console/Commands/BulkWorkdayImport.php b/app/Console/Commands/BulkWorkdayImport.php index 277e1b759..ff916560c 100644 --- a/app/Console/Commands/BulkWorkdayImport.php +++ b/app/Console/Commands/BulkWorkdayImport.php @@ -12,6 +12,13 @@ use Illuminate\Support\Collection; use Illuminate\Support\Str; +/** + * Used only in this file to override the default behavior of abort / assert and allow (in some cases) the script + * to continue after an assertion failure or abort call so that all the errors for a process can be collected and + * reported together. This override of the abort process is only used when parsing and checking the data from the + * input CSV in order to provide a report of all errors on the input data without requiring a tedious back and forth + * process of fixing one error only to uncover the next one. + */ class AbortException extends \Exception { } @@ -237,7 +244,7 @@ protected function parseRow($csvRow): ?array $data = $this->getData($collection, $column['demographic'], $cell, $csvRow); if (! empty($data)) { $existingIndex = collect($row[$collection] ?? [])->search( - fn($demographic) => + fn ($demographic) => $demographic['type'] === $data['type'] && $demographic['subtype'] === $data['subtype'] && $demographic['name'] === $data['name'] @@ -249,7 +256,7 @@ protected function parseRow($csvRow): ?array data_set( $row, "$collection.$existingIndex.amount", - $data["amount"] + data_get($row, "$collection.$existingIndex.amount") + $data['amount'] + data_get($row, "$collection.$existingIndex.amount") ); } } @@ -291,11 +298,11 @@ protected function parseRow($csvRow): ?array $this->assert( collect($totals)->values()->unique()->count() == 1, "Demographics for collection are unbalanced\n" . - json_encode([ - 'submission_id' => $submissionId, - 'collection' => $collection, - 'totals' => $totals, - ], JSON_PRETTY_PRINT) . "\n" + json_encode([ + 'submission_id' => $submissionId, + 'collection' => $collection, + 'totals' => $totals, + ], JSON_PRETTY_PRINT) . "\n" ); } } From 6621810f4b3fe8c930002c29d2544cd4af19e2a5 Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Mon, 17 Jun 2024 13:57:27 -0700 Subject: [PATCH 089/164] [TM-964] Include UUID in organisation export. --- app/Exports/V2/OrganisationsExport.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/Exports/V2/OrganisationsExport.php b/app/Exports/V2/OrganisationsExport.php index 3e7865745..934fff1cc 100644 --- a/app/Exports/V2/OrganisationsExport.php +++ b/app/Exports/V2/OrganisationsExport.php @@ -15,12 +15,15 @@ class OrganisationsExport implements FromCollection, WithHeadings, WithMapping public function collection(): Collection { + ini_set('max_execution_time', 60); + return Organisation::all(); } public function headings(): array { $headings = [ + 'uuid', 'status', 'type', 'private', @@ -57,14 +60,13 @@ public function headings(): array 'created at', ]; - - return $this->addFileCollectionHeadings($headings); } public function map($organisation): array { $mapped = [ + $organisation->uuid, $organisation->readable_status, $organisation->readable_type, $organisation->private, From eed58923d59f3769d4963d699ca6a0e3a46dff97 Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Tue, 18 Jun 2024 10:48:48 -0700 Subject: [PATCH 090/164] [TM-987] Enhance the create report took to accept a due date and generate reports for child models of Project. --- ...ortCommand.php => CreateReportCommand.php} | 27 ++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) rename app/Console/Commands/{CreateBackdatedReportCommand.php => CreateReportCommand.php} (73%) diff --git a/app/Console/Commands/CreateBackdatedReportCommand.php b/app/Console/Commands/CreateReportCommand.php similarity index 73% rename from app/Console/Commands/CreateBackdatedReportCommand.php rename to app/Console/Commands/CreateReportCommand.php index edc89da31..c67751a8c 100644 --- a/app/Console/Commands/CreateBackdatedReportCommand.php +++ b/app/Console/Commands/CreateReportCommand.php @@ -11,22 +11,24 @@ use App\Models\V2\Tasks\Task; use App\StateMachines\TaskStatusStateMachine; use Illuminate\Console\Command; +use Illuminate\Support\Carbon; +use Illuminate\Support\Facades\Artisan; -class CreateBackdatedReportCommand extends Command +class CreateReportCommand extends Command { /** * The name and signature of the console command. * * @var string */ - protected $signature = 'create-backdated-report {--T|type=} {uuid}'; + protected $signature = 'create-report {uuid} {--T|type=} {--D|due_at=} {--A|all_reports}'; /** * The console command description. * * @var string */ - protected $description = 'Create a report for a specific site or nursery'; + protected $description = 'Create a report for a specific project, site or nursery'; public function handle(): int { @@ -66,10 +68,19 @@ public function handle(): int } if ($type === 'project') { + if (empty($this->option('due_at'))) { + $this->error('--due_at is required for project report generation'); + + return 1; + } + + $dueAt = Carbon::parse($this->option('due_at')); $task = Task::create([ 'organisation_id' => $entity->organisation_id, 'project_id' => $entity->id, 'status' => TaskStatusStateMachine::DUE, + 'period_key' => $dueAt->year . '-' . $dueAt->month, + 'due_at' => $dueAt, ]); } else { $task = Task::withTrashed()->where('project_id', $entity->project_id)->latest()->first(); @@ -98,6 +109,16 @@ public function handle(): int 'due_at' => $task->due_at, ]); + if ($type == 'project' && $this->option('all_reports')) { + foreach ($entity->sites as $site) { + Artisan::call('create-report -Tsite ' . $site->uuid); + } + + foreach ($entity->nurseries as $nursery) { + Artisan::call('create-report -Tnursery ' . $nursery->uuid); + } + } + $this->info("Report created for $type $uuid"); return 0; From 77e8d7d7a3299c1cfab1bddeb665cd04b8605bb7 Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Tue, 18 Jun 2024 12:10:57 -0700 Subject: [PATCH 091/164] [TM-882] Distinguish between errors that should stop the script and those that shouldn't. --- app/Console/Commands/BulkWorkdayImport.php | 77 ++++++++++--------- app/Console/Commands/MergeEntities.php | 37 ++++++--- .../Commands/Traits/AbortException.php | 24 ++++++ app/Console/Commands/Traits/Abortable.php | 47 +++++++++-- .../Commands/Traits/ExceptionLevel.php | 9 +++ 5 files changed, 137 insertions(+), 57 deletions(-) create mode 100644 app/Console/Commands/Traits/AbortException.php create mode 100644 app/Console/Commands/Traits/ExceptionLevel.php diff --git a/app/Console/Commands/BulkWorkdayImport.php b/app/Console/Commands/BulkWorkdayImport.php index ff916560c..77d87d7af 100644 --- a/app/Console/Commands/BulkWorkdayImport.php +++ b/app/Console/Commands/BulkWorkdayImport.php @@ -3,6 +3,8 @@ namespace App\Console\Commands; use App\Console\Commands\Traits\Abortable; +use App\Console\Commands\Traits\AbortException; +use App\Console\Commands\Traits\ExceptionLevel; use App\Models\SiteSubmission; use App\Models\Submission; use App\Models\V2\Projects\ProjectReport; @@ -12,22 +14,9 @@ use Illuminate\Support\Collection; use Illuminate\Support\Str; -/** - * Used only in this file to override the default behavior of abort / assert and allow (in some cases) the script - * to continue after an assertion failure or abort call so that all the errors for a process can be collected and - * reported together. This override of the abort process is only used when parsing and checking the data from the - * input CSV in order to provide a report of all errors on the input data without requiring a tedious back and forth - * process of fixing one error only to uncover the next one. - */ -class AbortException extends \Exception -{ -} - class BulkWorkdayImport extends Command { - use Abortable { - abort as _abort; - } + use Abortable; /** * The name and signature of the console command. @@ -119,7 +108,7 @@ class BulkWorkdayImport extends Command */ public function handle(): void { - try { + $this->executeAbortableScript(function () { $type = $this->argument('type'); $this->assert(! empty(self::COLLECTIONS[$type]), "Unknown type: $type"); @@ -135,23 +124,28 @@ public function handle(): void try { $rows->push($this->parseRow($csvRow)); } catch (AbortException $e) { - $parseErrors[] = $e->getMessage(); + $parseErrors[] = $e; } } if (! empty($parseErrors)) { - echo "Errors encountered during parsing CSV Rows:\n"; + $this->warn("Errors encountered during parsing CSV Rows:\n"); foreach ($parseErrors as $error) { - echo $error . "\n"; + $this->logException($error); + } + + $firstError = collect($parseErrors)->first(fn ($e) => $e->level == ExceptionLevel::Error); + if (! empty($firstError)) { + $this->error("Parsing aborted\n"); + exit(1); } - $this->_abort('Parsing aborted'); } $rows = $rows->filter(); fclose($fileHandle); if ($this->option('dry-run')) { - echo json_encode($rows, JSON_PRETTY_PRINT) . "\n\n"; + $this->info(json_encode($rows, JSON_PRETTY_PRINT) . "\n\n"); } else { // A separate loop so we can validate as much input as possible before we start persisting any records foreach ($rows as $reportData) { @@ -159,21 +153,14 @@ public function handle(): void $this->persistWorkdays($report, $reportData); } - echo "Workday import complete!\n\n"; + $this->info("Workday import complete!\n\n"); } - } catch (AbortException $e) { - $this->_abort($e->getMessage()); - } + }); } /** * @throws AbortException */ - protected function abort(string $message, int $exitCode = 1): void - { - throw new AbortException($message); - } - protected function parseHeaders($headerRow): void { $idHeader = $this->modelConfig['id']; @@ -199,6 +186,9 @@ protected function parseHeaders($headerRow): void $this->assert(array_key_exists('submission_id', $this->indices), "No $submissionIdHeader column found"); } + /** + * @throws AbortException + */ protected function getColumnDescription($header): ?array { if (! Str::startsWith($header, ['Paid_', 'Vol_'])) { @@ -231,6 +221,9 @@ protected function getColumnDescription($header): ?array return ['collection' => $collection, 'demographic' => $demographic]; } + /** + * @throws AbortException + */ protected function parseRow($csvRow): ?array { $row = []; @@ -273,7 +266,11 @@ protected function parseRow($csvRow): ?array ['old_id' => $submissionId, 'old_model' => $this->modelConfig['old_model']] )->first(); $this->assert( - $report != null && $report->{$this->modelConfig['parent']}?->ppc_external_id == $parentId, + $report != null, + "No report with submission id $submissionId found\n" + ); + $this->assert( + $report->{$this->modelConfig['parent']}?->ppc_external_id == $parentId, "Parent / Report ID mismatch: [Parent ID: $parentId, Submission ID: $submissionId]\n" ); @@ -302,7 +299,8 @@ protected function parseRow($csvRow): ?array 'submission_id' => $submissionId, 'collection' => $collection, 'totals' => $totals, - ], JSON_PRETTY_PRINT) . "\n" + ], JSON_PRETTY_PRINT) . "\n", + ExceptionLevel::Warning ); } } @@ -310,6 +308,9 @@ protected function parseRow($csvRow): ?array return $row; } + /** + * @throws AbortException + */ protected function getData($collection, $demographic, $cell, $row): array { if (empty($cell)) { @@ -348,21 +349,23 @@ protected function persistWorkdays($report, $data): void $modelDescription = Str::replace('-', ' ', Str::title($report->shortName)) . ' (old_id=' . $report->old_id . ', uuid=' . $report->uuid . ')'; - echo "Persisting data for $modelDescription\n"; + $this->info("Persisting data for $modelDescription\n"); foreach ($collections as $collection) { if (empty($data[$collection])) { continue; } if ($report->workdays()->collection($collection)->count() > 0) { - echo "WARNING!! Report already has demographics recorded for this collection, skipping!\n"; - echo " collection: $collection\n"; - echo ' demographics: ' . json_encode($data[$collection], JSON_PRETTY_PRINT) . "\n"; + $this->warn( + "WARNING!! Report already has demographics recorded for this collection, skipping!\n" . + " collection: $collection\n" . + ' demographics: ' . json_encode($data[$collection], JSON_PRETTY_PRINT) . "\n" + ); continue; } - echo "Populating collection $collection\n"; + $this->info("Populating collection $collection\n"); $workday = Workday::create([ 'workdayable_type' => get_class($report), 'workdayable_id' => $report->id, @@ -374,6 +377,6 @@ protected function persistWorkdays($report, $data): void } } - echo "Persistence complete for $modelDescription\n\n"; + $this->info("Persistence complete for $modelDescription\n\n"); } } diff --git a/app/Console/Commands/MergeEntities.php b/app/Console/Commands/MergeEntities.php index 3061231d0..18e913942 100644 --- a/app/Console/Commands/MergeEntities.php +++ b/app/Console/Commands/MergeEntities.php @@ -3,6 +3,8 @@ namespace App\Console\Commands; use App\Console\Commands\Traits\Abortable; +use App\Console\Commands\Traits\AbortException; +use App\Console\Commands\Traits\ExceptionLevel; use App\Models\V2\EntityModel; use App\Models\V2\MediaModel; use App\Models\V2\ReportModel; @@ -41,22 +43,27 @@ class MergeEntities extends Command /** * Execute the console command. */ - public function handle() + public function handle(): void { - $type = $this->argument('type'); - switch ($type) { - case 'sites': - $entities = $this->getEntities(Site::class); - $merged = $entities->shift(); - $this->mergeSites($merged, $entities); + $this->executeAbortableScript(function () { + $type = $this->argument('type'); + switch ($type) { + case 'sites': + $entities = $this->getEntities(Site::class); + $merged = $entities->shift(); + $this->mergeSites($merged, $entities); - break; + break; - default: - $this->abort("Unsupported type: $type"); - } + default: + $this->abort("Unsupported type: $type"); + } + }); } + /** + * @throws AbortException + */ private function getEntities($modelClass): Collection { $mergedUuid = $this->argument('merged'); @@ -75,6 +82,9 @@ private function getEntities($modelClass): Collection return collect([$merged])->push($feeders)->flatten(); } + /** + * @throws AbortException + */ private function confirmMerge(string $mergeName, Collection $feederNames): void { $mergeMessage = "Would you like to execute this merge? This operation cannot easily be undone...\n". @@ -82,12 +92,15 @@ private function confirmMerge(string $mergeName, Collection $feederNames): void " Feeder Entity Names: \n " . $feederNames->join("\n ") . "\n\n"; - $this->assert($this->confirm($mergeMessage), 'Merge aborted', 0); + $this->assert($this->confirm($mergeMessage), 'Merge aborted', ExceptionLevel::Error, 0); } // Note for future expansion, the code to merge nurseries would be basically the same as this, but this pattern // wouldn't work for projects because it relies on ensuring that the parent entity (the project for sites/nurseries) // is the same, and projects would need to dig into merging their sites and nurseries as well. + /** + * @throws AbortException + */ private function mergeSites(Site $mergeSite, Collection $feederSites): void { $frameworks = $feederSites->map(fn (Site $site) => $site->framework_key)->push($mergeSite->framework_key)->unique(); diff --git a/app/Console/Commands/Traits/AbortException.php b/app/Console/Commands/Traits/AbortException.php new file mode 100644 index 000000000..4e69597e3 --- /dev/null +++ b/app/Console/Commands/Traits/AbortException.php @@ -0,0 +1,24 @@ +level = $level; + $this->exitCode = $exitCode; + } +} diff --git a/app/Console/Commands/Traits/Abortable.php b/app/Console/Commands/Traits/Abortable.php index 881106764..99bb6ed64 100644 --- a/app/Console/Commands/Traits/Abortable.php +++ b/app/Console/Commands/Traits/Abortable.php @@ -2,21 +2,52 @@ namespace App\Console\Commands\Traits; -use JetBrains\PhpStorm\NoReturn; - trait Abortable { - #[NoReturn] - protected function abort(string $message, int $exitCode = 1): void + protected function executeAbortableScript(callable $execute): void { - echo $message; - exit($exitCode); + try { + $execute(); + } catch (AbortException $e) { + $this->logException($e); + exit($e->exitCode); + } } - protected function assert(bool $condition, string $message, int $exitCode = 1): void + protected function logException(AbortException $e): void { + switch ($e->level) { + case ExceptionLevel::Warning: + $this->warn($e->getMessage()); + + break; + + case ExceptionLevel::Error: + $this->error($e->getMessage()); + + break; + } + } + + /** + * @throws AbortException + */ + protected function abort(string $message, ExceptionLevel $level = ExceptionLevel::Error, $exitCode = 1): void + { + throw new AbortException($level, $message, $exitCode); + } + + /** + * @throws AbortException + */ + protected function assert( + bool $condition, + string $message, + ExceptionLevel $level = ExceptionLevel::Error, + int $exitCode = 1 + ): void { if (! $condition) { - $this->abort($message, $exitCode); + $this->abort($message, $level, $exitCode); } } } diff --git a/app/Console/Commands/Traits/ExceptionLevel.php b/app/Console/Commands/Traits/ExceptionLevel.php new file mode 100644 index 000000000..d890de4c5 --- /dev/null +++ b/app/Console/Commands/Traits/ExceptionLevel.php @@ -0,0 +1,9 @@ + Date: Tue, 18 Jun 2024 15:44:23 -0400 Subject: [PATCH 092/164] Epic/tm 671 dashboard endpoints (#287) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [TM-631,655] feat: add footer: Country level aggregated data and project list view controller (#260) * [TM-624,625] feat: add volunteers and average survival rate controller (#257) * [TM-624,625] feat: add volunteers average survival rate controller * [TM-624,625] feat: generate make doc * [TM-624,625] remove the resource class * [TM-616] feat: add summary statistics header controller (#258) * [TM-616] feat: add summary statistics header controller * [TM-616] remove the resource class * [TM-631,655] feat: add footer: Country level aggregated data and project list view controller (#260) * [TM-632] feat: add footer to connect to country profiles controller a… (#259) * [TM-632] feat: add footer to connect to country profiles controller and add a controller to retrieve the list of countries with at least one project. * [TM-632] remove the resource class * [TM-968] feat: Add project location controller for centroids (#263) * [TM-968] feat: Add project location controller for centroids * [TM-968] remove the resource class * [TM-967] feat: add project profile information controller (#262) * [TM-967] feat: add project profile information controller * [TM-967] remove the resource class and change /v2/dashboard/project-details -> /v2/dashboard/project-details/{project} * [TM-967] change string uuid -> Project project * [TM-628,629] feat: add top 10 project with the most planted and top … (#256) * [TM-628,629] feat: add top 10 project with the most planted and top 20 tree species planted controller * [TM-628,629] Optimization of the method for retrieving top_tree_species_planted * [TM-628,629] fix: change by ->groupBy(DB::raw('BINARY name'), 'name') * [TM-844] feat: add project pipeline controllers (#265) * [TM-844] feat: add project pipeline controllers * [TM-631,655] feat: add footer: Country level aggregated data and project list view controller (#260) * Revert "[TM-631,655] feat: add footer: Country level aggregated data and project list view controller (#260)" This reverts commit 4a974f734f35e2261634ef650a2ebc68eaa2eab9. * [TM-844] fix: change (Store, Update) request by ProjectPipelineRequest and fix attribute names in ProjectPipeline model * [TM-844] fix: change attributes to snake_case * [TM-844] change submittedBy = string -> submittedBy = foreignIdFor * [TM-671] fixes and lint-fix * [TM-671] fix lint * [TM-671] fix lint * fix openapi definition * fix openapi definition --------- Co-authored-by: Limber Mamani <154026979+LimberHope@users.noreply.github.com> Co-authored-by: Limber Mamani --- .../ActiveCountriesTableController.php | 106 ++ .../V2/Dashboard/CountriesController.php | 61 ++ .../V2/Dashboard/GetProjectsController.php | 21 + .../ProjectProfileDetailsController.php | 33 + ...TopProjectsAndTopTreeSpeciesController.php | 57 ++ ...otalTerrafundHeaderDashboardController.php | 83 ++ ...nteersAndAverageSurvivalRateController.php | 68 ++ .../DeleteProjectPipelineController.php | 19 + .../GetProjectPipelineController.php | 25 + .../StoreProjectPipelineController.php | 21 + .../UpdateProjectPipelineController.php | 20 + .../Requests/V2/ProjectPipelineRequest.php | 25 + .../TopProjectsAndTopTreeSpeciesResource.php | 22 + .../Resources/V2/ProjectPipelineResource.php | 32 + app/Models/V2/ProjectPipeline.php | 34 + ...7_163000_create_project_pipeline_table.php | 29 + .../DashboardActiveCountriesData.yml | 16 + .../DashboardActiveCountriesResponse.yml | 5 + .../DashboardActiveProjectData.yml | 30 + ...ashboardActiveProjectsListViewResponse.yml | 14 + .../DashboardCountriesResponse.yml | 6 + .../V2/definitions/DashboardCountryData.yml | 8 + .../V2/definitions/DashboardCountryInfo.yml | 6 + .../DashboardGetProjectsData copy.yml | 12 + .../DashboardGetProjectsResponse copy.yml | 5 + .../DashboardProjectProfileData.yml | 35 + .../DashboardProjectProfileResponse.yml | 4 + .../definitions/DashboardTopPlantedTree.yml | 8 + .../definitions/DashboardTopProjectsData.yml | 10 + .../DashboardTopProjectsResponse.yml | 3 + .../definitions/DashboardTopTreeSpecies.yml | 6 + .../DashboardTotalSectionHeaderData.yml | 23 + .../DashboardTotalSectionHeaderResponse.yml | 4 + .../DashboardVolundteersSurvivalRateData.yml | 29 + ...ashboardVolunteersSurvivalRateResponse.yml | 4 + .../V2/definitions/ProjectPipeline.yml | 33 + .../V2/definitions/ProjectPipelinePost.yml | 16 +- openapi-src/V2/definitions/_index.yml | 32 +- .../get-v2-dashboard-active-countries.yml | 21 + .../get-v2-dashboard-active-projects.yml | 25 + .../Dashboard/get-v2-dashboard-countries.yml | 17 + .../get-v2-dashboard-get-projects.yml | 17 + .../get-v2-dashboard-project-details.yml | 18 + .../get-v2-dashboard-top-trees-planted.yml | 17 + .../get-v2-dashboard-total-section-header.yml | 17 + ...-v2-dashboard-volunteers-survival-rate.yml | 21 + .../delete-v2-project-pipeline-id.yml | 10 + .../get-v2-project-pipeline-id.yml | 15 + .../get-v2-project-pipeline.yml | 16 + .../post-v2-project-pipeline.yml | 19 + .../put-v2-project-pipeline-id.yml | 20 + openapi-src/V2/paths/_index.yml | 36 + resources/docs/swagger-v2.yml | 957 ++++++++++++++++++ routes/api_v2.php | 28 + 54 files changed, 2207 insertions(+), 12 deletions(-) create mode 100644 app/Http/Controllers/V2/Dashboard/ActiveCountriesTableController.php create mode 100644 app/Http/Controllers/V2/Dashboard/CountriesController.php create mode 100644 app/Http/Controllers/V2/Dashboard/GetProjectsController.php create mode 100644 app/Http/Controllers/V2/Dashboard/ProjectProfileDetailsController.php create mode 100644 app/Http/Controllers/V2/Dashboard/TopProjectsAndTopTreeSpeciesController.php create mode 100644 app/Http/Controllers/V2/Dashboard/TotalTerrafundHeaderDashboardController.php create mode 100644 app/Http/Controllers/V2/Dashboard/VolunteersAndAverageSurvivalRateController.php create mode 100644 app/Http/Controllers/V2/ProjectPipeline/DeleteProjectPipelineController.php create mode 100644 app/Http/Controllers/V2/ProjectPipeline/GetProjectPipelineController.php create mode 100644 app/Http/Controllers/V2/ProjectPipeline/StoreProjectPipelineController.php create mode 100644 app/Http/Controllers/V2/ProjectPipeline/UpdateProjectPipelineController.php create mode 100644 app/Http/Requests/V2/ProjectPipelineRequest.php create mode 100644 app/Http/Resources/V2/Dashboard/TopProjectsAndTopTreeSpeciesResource.php create mode 100644 app/Http/Resources/V2/ProjectPipelineResource.php create mode 100644 app/Models/V2/ProjectPipeline.php create mode 100644 database/migrations/2024_06_07_163000_create_project_pipeline_table.php create mode 100644 openapi-src/V2/definitions/DashboardActiveCountriesData.yml create mode 100644 openapi-src/V2/definitions/DashboardActiveCountriesResponse.yml create mode 100644 openapi-src/V2/definitions/DashboardActiveProjectData.yml create mode 100644 openapi-src/V2/definitions/DashboardActiveProjectsListViewResponse.yml create mode 100644 openapi-src/V2/definitions/DashboardCountriesResponse.yml create mode 100644 openapi-src/V2/definitions/DashboardCountryData.yml create mode 100644 openapi-src/V2/definitions/DashboardCountryInfo.yml create mode 100644 openapi-src/V2/definitions/DashboardGetProjectsData copy.yml create mode 100644 openapi-src/V2/definitions/DashboardGetProjectsResponse copy.yml create mode 100644 openapi-src/V2/definitions/DashboardProjectProfileData.yml create mode 100644 openapi-src/V2/definitions/DashboardProjectProfileResponse.yml create mode 100644 openapi-src/V2/definitions/DashboardTopPlantedTree.yml create mode 100644 openapi-src/V2/definitions/DashboardTopProjectsData.yml create mode 100644 openapi-src/V2/definitions/DashboardTopProjectsResponse.yml create mode 100644 openapi-src/V2/definitions/DashboardTopTreeSpecies.yml create mode 100644 openapi-src/V2/definitions/DashboardTotalSectionHeaderData.yml create mode 100644 openapi-src/V2/definitions/DashboardTotalSectionHeaderResponse.yml create mode 100644 openapi-src/V2/definitions/DashboardVolundteersSurvivalRateData.yml create mode 100644 openapi-src/V2/definitions/DashboardVolunteersSurvivalRateResponse.yml create mode 100644 openapi-src/V2/definitions/ProjectPipeline.yml create mode 100644 openapi-src/V2/paths/Dashboard/get-v2-dashboard-active-countries.yml create mode 100644 openapi-src/V2/paths/Dashboard/get-v2-dashboard-active-projects.yml create mode 100644 openapi-src/V2/paths/Dashboard/get-v2-dashboard-countries.yml create mode 100644 openapi-src/V2/paths/Dashboard/get-v2-dashboard-get-projects.yml create mode 100644 openapi-src/V2/paths/Dashboard/get-v2-dashboard-project-details.yml create mode 100644 openapi-src/V2/paths/Dashboard/get-v2-dashboard-top-trees-planted.yml create mode 100644 openapi-src/V2/paths/Dashboard/get-v2-dashboard-total-section-header.yml create mode 100644 openapi-src/V2/paths/Dashboard/get-v2-dashboard-volunteers-survival-rate.yml create mode 100644 openapi-src/V2/paths/ProjectPipeline/delete-v2-project-pipeline-id.yml create mode 100644 openapi-src/V2/paths/ProjectPipeline/get-v2-project-pipeline-id.yml create mode 100644 openapi-src/V2/paths/ProjectPipeline/get-v2-project-pipeline.yml create mode 100644 openapi-src/V2/paths/ProjectPipeline/post-v2-project-pipeline.yml create mode 100644 openapi-src/V2/paths/ProjectPipeline/put-v2-project-pipeline-id.yml diff --git a/app/Http/Controllers/V2/Dashboard/ActiveCountriesTableController.php b/app/Http/Controllers/V2/Dashboard/ActiveCountriesTableController.php new file mode 100644 index 000000000..2a1f3e2ea --- /dev/null +++ b/app/Http/Controllers/V2/Dashboard/ActiveCountriesTableController.php @@ -0,0 +1,106 @@ + $this->getAllCountries(), + ]; + + return response()->json($response); + } + + public function getAllCountries() + { + $projects = Project::where('framework_key', 'terrafund') + ->whereHas('organisation', function ($query) { + $query->whereIn('type', ['for-profit-organization', 'non-profit-organization']); + })->get(); + $countryId = FormOptionList::where('key', 'countries')->value('id'); + $countries = FormOptionListOption::where('form_option_list_id', $countryId) + ->orderBy('label') + ->get(['slug', 'label']); + $activeCountries = []; + foreach ($countries as $country) { + $totalProjects = $this->numberOfProjects($country->slug, $projects); + if ($totalProjects <= 0) { + continue; + } + + $totalSpeciesAmount = $this->totalSpeciesAmount($country->slug, $projects); + + $totalJobsCreated = $this->totalJobsCreated($country->slug, $projects); + + $numberOfSites = $this->numberOfSites($country->slug, $projects); + + $totalNurseries = $this->numberOfNurseries($country->slug, $projects); + + $activeCountries[] = [ + 'country_slug' => $country->slug, + 'country' => $country->label, + 'number_of_projects' => $totalProjects, + 'total_trees_planted' => $totalSpeciesAmount, + 'total_jobs_created' => $totalJobsCreated, + 'number_of_sites' => $numberOfSites, + 'number_of_nurseries' => $totalNurseries, + ]; + } + + return $activeCountries; + } + + public function numberOfProjects($country, $projects) + { + return $projects->where('country', $country)->count(); + } + + public function totalSpeciesAmount($country, $projects) + { + $projects = $projects->where('country', $country); + + return $projects->sum(function ($project) { + return $project->trees_planted_count; + }); + } + + public function totalJobsCreated($country, $projects) + { + $projects = $projects->where('country', $country); + + return $projects->sum(function ($project) { + $totalSum = $project->reports() + ->groupBy('project_id') + ->selectRaw('SUM(ft_total) as total_ft, SUM(pt_total) as total_pt')->first(); + + if ($totalSum) { + return $totalSum->total_ft + $totalSum->total_pt; + } else { + return 0; + } + }); + } + + public function numberOfSites($country, $projects) + { + $projectIds = $projects->where('country', $country)->pluck('id'); + + return Site::whereIn('project_id', $projectIds)->count(); + } + + public function numberOfNurseries($country, $projects) + { + $projectIds = $projects->where('country', $country)->pluck('id'); + + return Nursery::whereIn('project_id', $projectIds)->count(); + } +} diff --git a/app/Http/Controllers/V2/Dashboard/CountriesController.php b/app/Http/Controllers/V2/Dashboard/CountriesController.php new file mode 100644 index 000000000..a214aa127 --- /dev/null +++ b/app/Http/Controllers/V2/Dashboard/CountriesController.php @@ -0,0 +1,61 @@ +json([ + 'data' => $this->getAllCountries($request), + ]); + } + + public function getAllCountries($request) + { + $projectsCountrieslug = Project::where('framework_key', 'terrafund') + ->whereHas('organisation', function ($query) { + $query->whereIn('type', ['for-profit-organization', 'non-profit-organization']); + })->pluck('country'); + $countryId = FormOptionList::where('key', 'countries')->value('id'); + $countries = FormOptionListOption::where('form_option_list_id', $countryId) + ->orderBy('label') + ->select('id', 'label', 'slug') + ->get(); + $countriesResponse = []; + foreach ($countries as $country) { + if ($request->input('country')) { + $countriesResponse[] = [ + 'country_slug' => $country->slug, + 'id' => $country->id, + 'data' => (object) [ + 'label' => $country->label, + 'icon' => '/flags/' . strtolower($country->slug) . '.svg', + ], + ]; + } elseif ($this->hasProjectsInCountry($country->slug, $projectsCountrieslug)) { + $countriesResponse[] = [ + 'country_slug' => $country->slug, + 'id' => $country->id, + 'data' => (object) [ + 'label' => $country->label, + 'icon' => '/flags/' . strtolower($country->slug) . '.svg', + ], + ]; + } + } + + return $countriesResponse; + } + + public function hasProjectsInCountry($country, $projectsSlug) + { + return $projectsSlug->contains($country); + } +} diff --git a/app/Http/Controllers/V2/Dashboard/GetProjectsController.php b/app/Http/Controllers/V2/Dashboard/GetProjectsController.php new file mode 100644 index 000000000..fe25564fd --- /dev/null +++ b/app/Http/Controllers/V2/Dashboard/GetProjectsController.php @@ -0,0 +1,21 @@ +whereNotNull('long') + ->whereNotNull('lat') + ->select('uuid', 'long', 'lat', 'name') + ->get(); + + return response()->json(['data' => $projects]); + } +}; diff --git a/app/Http/Controllers/V2/Dashboard/ProjectProfileDetailsController.php b/app/Http/Controllers/V2/Dashboard/ProjectProfileDetailsController.php new file mode 100644 index 000000000..efa258ea4 --- /dev/null +++ b/app/Http/Controllers/V2/Dashboard/ProjectProfileDetailsController.php @@ -0,0 +1,33 @@ + $project->name, + 'descriptionObjetive' => $project->objectives, + 'country' => $this->getCountry($project->country), + 'countrySlug' => $project->country, + 'organisation' => $project->organisation->type, + 'survivalRate' => $project->survival_rate, + 'restorationStrategy' => $project->restoration_strategy, + 'targetLandUse' => $project->land_use_types, + 'landTenure' => $project->land_tenure_project_area, + ]; + + return response()->json($response); + } + + public function getCountry($slug) + { + return FormOptionListOption::where('slug', $slug)->value('label'); + } +} diff --git a/app/Http/Controllers/V2/Dashboard/TopProjectsAndTopTreeSpeciesController.php b/app/Http/Controllers/V2/Dashboard/TopProjectsAndTopTreeSpeciesController.php new file mode 100644 index 000000000..826e67b99 --- /dev/null +++ b/app/Http/Controllers/V2/Dashboard/TopProjectsAndTopTreeSpeciesController.php @@ -0,0 +1,57 @@ +get(); + + $response = (object) [ + 'top_projects_most_planted_trees' => $this->getTopProjects($projects), + 'top_tree_species_planted' => $this->getTopTreeSpecies($projects), + ]; + + return new TopProjectsAndTopTreeSpeciesResource($response); + } + + public function getTopProjects($projects) + { + + $topProjects = []; + + $projects->each((function ($project) use (&$topProjects) { + $totalSpeciesAmountForSiteReport = $project->trees_planted_count; + + $topProjects[] = [ + 'project' => $project->name, + 'uuid' => $project->uuid, + 'trees_planted' => $totalSpeciesAmountForSiteReport, + ]; + })); + + return collect($topProjects)->sortByDesc('trees_planted')->take(10)->values()->all(); + } + + public function getTopTreeSpecies($projects) + { + $speciesCollection = TreeSpecies::where('speciesable_type', Project::class) + ->whereIn('speciesable_id', $projects->pluck('id')) + ->groupBy(DB::raw('BINARY name'), 'name') + ->selectRaw('sum(amount) as total, name') + ->orderBy('total', 'desc') + ->limit(20) + ->get(); + + return $speciesCollection; + } +} diff --git a/app/Http/Controllers/V2/Dashboard/TotalTerrafundHeaderDashboardController.php b/app/Http/Controllers/V2/Dashboard/TotalTerrafundHeaderDashboardController.php new file mode 100644 index 000000000..25ccec202 --- /dev/null +++ b/app/Http/Controllers/V2/Dashboard/TotalTerrafundHeaderDashboardController.php @@ -0,0 +1,83 @@ +get(); + $countryName = ''; + if ($request->country) { + $countryName = WorldCountryGeneralized::where('iso', $request->country)->first()->country; + } + $response = (object)[ + 'total_non_profit_count' => $this->getTotalNonProfitCount($projects), + 'total_enterprise_count' => $this->getTotalEnterpriseCount($projects), + 'total_entries' => $this->getTotalJobsCreatedSum($projects), + 'total_hectares_restored' => round($this->getTotalHectaresSum($projects)), + 'total_hectares_restored_goal' => $this->getTotalHectaresRestoredGoalSum($projects), + 'total_trees_restored' => $this->getTotalTreesRestoredSum($projects), + 'total_trees_restored_goal' => $this->getTotalTreesGrownGoalSum($projects), + 'country_name' => $countryName, + ]; + + return response()->json($response); + } + + public function getTotalNonProfitCount($projects) + { + $projects = $projects->filter(function ($project) { + return $project->organisation->type === 'non-profit-organization'; + }); + + return $projects->count(); + } + + public function getTotalEnterpriseCount($projects) + { + $projects = $projects->filter(function ($project) { + return $project->organisation->type === 'for-profit-organization'; + }); + + return $projects->count(); + } + + public function getTotalJobsCreatedSum($projects) + { + return $projects->sum(function ($project) { + $totalSum = $project->reports()->selectRaw('SUM(ft_total) as total_ft, SUM(pt_total) as total_pt')->first(); + + return $totalSum->total_ft + $totalSum->total_pt; + }); + } + + public function getTotalHectaresRestoredGoalSum($projects) + { + return $projects->sum('total_hectares_restored_goal'); + } + + public function getTotalTreesRestoredSum($projects) + { + return $projects->sum(function ($project) { + return $project->trees_planted_count; + }); + } + + public function getTotalTreesGrownGoalSum($projects) + { + return $projects->sum('trees_grown_goal'); + } + + public function getTotalHectaresSum($projects) + { + return $projects->sum(function ($project) { + return $project->sitePolygons->sum('calc_area'); + }); + } +} diff --git a/app/Http/Controllers/V2/Dashboard/VolunteersAndAverageSurvivalRateController.php b/app/Http/Controllers/V2/Dashboard/VolunteersAndAverageSurvivalRateController.php new file mode 100644 index 000000000..26efec580 --- /dev/null +++ b/app/Http/Controllers/V2/Dashboard/VolunteersAndAverageSurvivalRateController.php @@ -0,0 +1,68 @@ +get(); + + $response = (object)[ + 'total_volunteers' => $this->getTotalVolunteerSum($projects), + 'men_volunteers' => $this->getVolunteersSum($projects, 'volunteer_men'), + 'women_volunteers' => $this->getVolunteersSum($projects, 'volunteer_women'), + 'youth_volunteers' => $this->getVolunteersSum($projects, 'volunteer_youth'), + 'non_youth_volunteers' => $this->getVolunteersSum($projects, 'volunteer_non_youth'), + 'non_profit_survival_rate' => $this->getAverageSurvivalRate($projects, 'non-profit-organization'), + 'enterprise_survival_rate' => $this->getAverageSurvivalRate($projects, 'for-profit-organization'), + 'number_of_sites' => $this->numberOfSites($projects), + 'number_of_nurseries' => $this->numberOfNurseries($projects), + ]; + + return response()->json($response); + } + + public function getTotalVolunteerSum($projects) + { + return $projects->sum(function ($project) { + return $project->reports()->sum('volunteer_total'); + }); + } + + public function getVolunteersSum($projects, $volunteerType) + { + return $projects->sum(function ($project) use ($volunteerType) { + return $project->reports()->sum($volunteerType); + }); + } + + public function getAverageSurvivalRate($projects, $typeOrganisation) + { + $average = $projects->filter(function ($project) use ($typeOrganisation) { + return $project->organisation->type === $typeOrganisation; + })->flatMap(function ($project) { + return $project->reports; + })->avg('pct_survival_to_date'); + + return intval($average); + } + + public function numberOfSites($projects) + { + return $projects->sum(function ($project) { + return $project->sites->count(); + }); + } + + public function numberOfNurseries($projects) + { + return $projects->sum(function ($project) { + return $project->nurseries->count(); + }); + } +} diff --git a/app/Http/Controllers/V2/ProjectPipeline/DeleteProjectPipelineController.php b/app/Http/Controllers/V2/ProjectPipeline/DeleteProjectPipelineController.php new file mode 100644 index 000000000..191790b39 --- /dev/null +++ b/app/Http/Controllers/V2/ProjectPipeline/DeleteProjectPipelineController.php @@ -0,0 +1,19 @@ +delete(); + + return response()->json(['message' => 'Project pipeline deleted successfully.'], 200); + } +} diff --git a/app/Http/Controllers/V2/ProjectPipeline/GetProjectPipelineController.php b/app/Http/Controllers/V2/ProjectPipeline/GetProjectPipelineController.php new file mode 100644 index 000000000..a9a786521 --- /dev/null +++ b/app/Http/Controllers/V2/ProjectPipeline/GetProjectPipelineController.php @@ -0,0 +1,25 @@ +first(); + + return new ProjectPipelineResource($projectsPipeline); + } else { + $projectsPipeline = ProjectPipeline::orderBy('updated_at', 'desc') + ->orderBy('created_at', 'desc') + ->get(); + + return ProjectPipelineResource::collection($projectsPipeline); + } + } +} diff --git a/app/Http/Controllers/V2/ProjectPipeline/StoreProjectPipelineController.php b/app/Http/Controllers/V2/ProjectPipeline/StoreProjectPipelineController.php new file mode 100644 index 000000000..312d021e4 --- /dev/null +++ b/app/Http/Controllers/V2/ProjectPipeline/StoreProjectPipelineController.php @@ -0,0 +1,21 @@ +all(); + $data['submitted_by'] = Auth::user()->id; + $projectPipeline = ProjectPipeline::create($data); + + return new ProjectPipelineResource($projectPipeline); + } +} diff --git a/app/Http/Controllers/V2/ProjectPipeline/UpdateProjectPipelineController.php b/app/Http/Controllers/V2/ProjectPipeline/UpdateProjectPipelineController.php new file mode 100644 index 000000000..098512d93 --- /dev/null +++ b/app/Http/Controllers/V2/ProjectPipeline/UpdateProjectPipelineController.php @@ -0,0 +1,20 @@ +all(); + $projectPipeline = ProjectPipeline::findOrFail($id); + $projectPipeline->update($requestUpdateData); + + return new ProjectPipelineResource($projectPipeline); + } +} diff --git a/app/Http/Requests/V2/ProjectPipelineRequest.php b/app/Http/Requests/V2/ProjectPipelineRequest.php new file mode 100644 index 000000000..ddd81eb48 --- /dev/null +++ b/app/Http/Requests/V2/ProjectPipelineRequest.php @@ -0,0 +1,25 @@ + ['sometimes', 'string', 'nullable', 'max:256'], + 'description' => ['sometimes', 'string', 'nullable', 'max:500'], + 'program' => ['sometimes', 'string', 'nullable', 'max:256'], + 'cohort' => ['sometimes', 'string', 'nullable', 'max:256'], + 'publish_for' => ['sometimes', 'string', 'nullable', 'max:256'], + 'url' => ['sometimes', 'string', 'nullable', 'max:256'], + ]; + } +} diff --git a/app/Http/Resources/V2/Dashboard/TopProjectsAndTopTreeSpeciesResource.php b/app/Http/Resources/V2/Dashboard/TopProjectsAndTopTreeSpeciesResource.php new file mode 100644 index 000000000..45dcde4f5 --- /dev/null +++ b/app/Http/Resources/V2/Dashboard/TopProjectsAndTopTreeSpeciesResource.php @@ -0,0 +1,22 @@ + $this->top_projects_most_planted_trees, + 'top_tree_species_planted' => $this->top_tree_species_planted, + ]; + } +} diff --git a/app/Http/Resources/V2/ProjectPipelineResource.php b/app/Http/Resources/V2/ProjectPipelineResource.php new file mode 100644 index 000000000..6ff39b155 --- /dev/null +++ b/app/Http/Resources/V2/ProjectPipelineResource.php @@ -0,0 +1,32 @@ + [ + 'id' => $this->id, + 'name' => $this->name, + 'description' => $this->description, + ], + 'date' => $this->updated_at, + 'id' => $this->id, + 'submitted_by' => ($this->submittedBy->first_name ?? '') . ' ' . ($this->submittedBy->last_name ?? ''), + 'program' => $this->program, + 'cohort' => $this->cohort, + 'publish_for' => $this->publish_for, + 'url' => $this->url, + 'created_at' => $this->created_at, + 'updated_at' => $this->updated_at, + ]; + } +} diff --git a/app/Models/V2/ProjectPipeline.php b/app/Models/V2/ProjectPipeline.php new file mode 100644 index 000000000..f68ecc5d9 --- /dev/null +++ b/app/Models/V2/ProjectPipeline.php @@ -0,0 +1,34 @@ +belongsTo(User::class, 'submitted_by'); + } +} diff --git a/database/migrations/2024_06_07_163000_create_project_pipeline_table.php b/database/migrations/2024_06_07_163000_create_project_pipeline_table.php new file mode 100644 index 000000000..40fa93f88 --- /dev/null +++ b/database/migrations/2024_06_07_163000_create_project_pipeline_table.php @@ -0,0 +1,29 @@ +id(); + $table->string('name', 256)->nullable(); + $table->foreignIdFor(User::class, 'submitted_by')->nullable(); + $table->string('description', 500)->nullable(); + $table->string('program', 256)->nullable(); + $table->string('cohort', 256)->nullable(); + $table->string('publish_for', 256)->nullable(); + $table->string('url', 256)->nullable(); + $table->timestamps(); + $table->softDeletes(); + }); + } + + public function down() + { + Schema::dropIfExists('project_pipelines'); + } +}; diff --git a/openapi-src/V2/definitions/DashboardActiveCountriesData.yml b/openapi-src/V2/definitions/DashboardActiveCountriesData.yml new file mode 100644 index 000000000..5627badb1 --- /dev/null +++ b/openapi-src/V2/definitions/DashboardActiveCountriesData.yml @@ -0,0 +1,16 @@ +type: object +properties: + country_slug: + type: string + country: + type: string + number_of_projects: + type: integer + total_trees_planted: + type: integer + total_jobs_created: + type: integer + number_of_sites: + type: integer + number_of_nurseries: + type: integer \ No newline at end of file diff --git a/openapi-src/V2/definitions/DashboardActiveCountriesResponse.yml b/openapi-src/V2/definitions/DashboardActiveCountriesResponse.yml new file mode 100644 index 000000000..7fc68a1c5 --- /dev/null +++ b/openapi-src/V2/definitions/DashboardActiveCountriesResponse.yml @@ -0,0 +1,5 @@ +properties: + data: + type: array + items: + $ref: './DashboardActiveCountriesData.yml' \ No newline at end of file diff --git a/openapi-src/V2/definitions/DashboardActiveProjectData.yml b/openapi-src/V2/definitions/DashboardActiveProjectData.yml new file mode 100644 index 000000000..53366af70 --- /dev/null +++ b/openapi-src/V2/definitions/DashboardActiveProjectData.yml @@ -0,0 +1,30 @@ +type: object +properties: + uuid: + type: string + name: + type: string + organisation: + type: string + trees_under_restoration: + type: integer + jobs_created: + type: integer + volunteers: + type: integer + beneficiaries: + type: integer + survival_rate: + type: integer + number_of_sites: + type: integer + number_of_nurseries: + type: integer + project_country: + type: string + country_slug: + type: string + number_of_trees_goal: + type: integer + date_added: + type: string \ No newline at end of file diff --git a/openapi-src/V2/definitions/DashboardActiveProjectsListViewResponse.yml b/openapi-src/V2/definitions/DashboardActiveProjectsListViewResponse.yml new file mode 100644 index 000000000..a97477469 --- /dev/null +++ b/openapi-src/V2/definitions/DashboardActiveProjectsListViewResponse.yml @@ -0,0 +1,14 @@ +type: object +properties: + data: + type: array + items: + $ref: './DashboardActiveProjectData.yml' + current_page: + type: integer + per_page: + type: integer + total: + type: integer + last_page: + type: integer \ No newline at end of file diff --git a/openapi-src/V2/definitions/DashboardCountriesResponse.yml b/openapi-src/V2/definitions/DashboardCountriesResponse.yml new file mode 100644 index 000000000..c35a8bd16 --- /dev/null +++ b/openapi-src/V2/definitions/DashboardCountriesResponse.yml @@ -0,0 +1,6 @@ +type: object +properties: + data: + type: array + items: + $ref: './DashboardCountryData.yml' \ No newline at end of file diff --git a/openapi-src/V2/definitions/DashboardCountryData.yml b/openapi-src/V2/definitions/DashboardCountryData.yml new file mode 100644 index 000000000..75b0d04f4 --- /dev/null +++ b/openapi-src/V2/definitions/DashboardCountryData.yml @@ -0,0 +1,8 @@ +type: object +properties: + id: + type: integer + country_slug: + type: string + data: + $ref: './DashboardCountryInfo.yml' \ No newline at end of file diff --git a/openapi-src/V2/definitions/DashboardCountryInfo.yml b/openapi-src/V2/definitions/DashboardCountryInfo.yml new file mode 100644 index 000000000..73bbc267d --- /dev/null +++ b/openapi-src/V2/definitions/DashboardCountryInfo.yml @@ -0,0 +1,6 @@ +type: object +properties: + label: + type: string + icon: + type: string \ No newline at end of file diff --git a/openapi-src/V2/definitions/DashboardGetProjectsData copy.yml b/openapi-src/V2/definitions/DashboardGetProjectsData copy.yml new file mode 100644 index 000000000..9b5159a05 --- /dev/null +++ b/openapi-src/V2/definitions/DashboardGetProjectsData copy.yml @@ -0,0 +1,12 @@ +type: object +properties: + uuid: + type: string + name: + type: string + lat: + type: number + format: double + long: + type: number + format: double \ No newline at end of file diff --git a/openapi-src/V2/definitions/DashboardGetProjectsResponse copy.yml b/openapi-src/V2/definitions/DashboardGetProjectsResponse copy.yml new file mode 100644 index 000000000..e8dec6cf7 --- /dev/null +++ b/openapi-src/V2/definitions/DashboardGetProjectsResponse copy.yml @@ -0,0 +1,5 @@ +properties: + data: + type: array + items: + $ref: './DashboardGetProjectsData.yml' \ No newline at end of file diff --git a/openapi-src/V2/definitions/DashboardProjectProfileData.yml b/openapi-src/V2/definitions/DashboardProjectProfileData.yml new file mode 100644 index 000000000..7f65e1c62 --- /dev/null +++ b/openapi-src/V2/definitions/DashboardProjectProfileData.yml @@ -0,0 +1,35 @@ +type: object +properties: + name: + type: string + descriptionObjetive: + type: string + country: + type: string + organisation: + type: string + survivalRate: + type: integer + countrySlug: + type: string + restorationStrategy: + type: object + properties: + data: + type: array + items: + type: string + targetLandUse: + type: object + properties: + data: + type: array + items: + type: string + landTenure: + type: object + properties: + data: + type: array + items: + type: string \ No newline at end of file diff --git a/openapi-src/V2/definitions/DashboardProjectProfileResponse.yml b/openapi-src/V2/definitions/DashboardProjectProfileResponse.yml new file mode 100644 index 000000000..1c7225d81 --- /dev/null +++ b/openapi-src/V2/definitions/DashboardProjectProfileResponse.yml @@ -0,0 +1,4 @@ +type: object +properties: + data: + $ref: './DashboardProjectProfileData.yml' \ No newline at end of file diff --git a/openapi-src/V2/definitions/DashboardTopPlantedTree.yml b/openapi-src/V2/definitions/DashboardTopPlantedTree.yml new file mode 100644 index 000000000..2f6e51418 --- /dev/null +++ b/openapi-src/V2/definitions/DashboardTopPlantedTree.yml @@ -0,0 +1,8 @@ +type: object +properties: + project: + type: string + uuid: + type: string + trees_planted: + type: integer \ No newline at end of file diff --git a/openapi-src/V2/definitions/DashboardTopProjectsData.yml b/openapi-src/V2/definitions/DashboardTopProjectsData.yml new file mode 100644 index 000000000..21d30f0ed --- /dev/null +++ b/openapi-src/V2/definitions/DashboardTopProjectsData.yml @@ -0,0 +1,10 @@ +type: object +properties: + top_projects_most_planted_trees: + type: array + items: + $ref: './DashboardTopPlantedTree.yml' + top_tree_species_planted: + type: array + items: + $ref: './DashboardTopTreeSpecies.yml' \ No newline at end of file diff --git a/openapi-src/V2/definitions/DashboardTopProjectsResponse.yml b/openapi-src/V2/definitions/DashboardTopProjectsResponse.yml new file mode 100644 index 000000000..209ea08d5 --- /dev/null +++ b/openapi-src/V2/definitions/DashboardTopProjectsResponse.yml @@ -0,0 +1,3 @@ +properties: + data: + $ref: './DashboardTopProjectsData.yml' \ No newline at end of file diff --git a/openapi-src/V2/definitions/DashboardTopTreeSpecies.yml b/openapi-src/V2/definitions/DashboardTopTreeSpecies.yml new file mode 100644 index 000000000..2b0a30d64 --- /dev/null +++ b/openapi-src/V2/definitions/DashboardTopTreeSpecies.yml @@ -0,0 +1,6 @@ +type: object +properties: + name: + type: string + amount: + type: integer \ No newline at end of file diff --git a/openapi-src/V2/definitions/DashboardTotalSectionHeaderData.yml b/openapi-src/V2/definitions/DashboardTotalSectionHeaderData.yml new file mode 100644 index 000000000..179fa97fd --- /dev/null +++ b/openapi-src/V2/definitions/DashboardTotalSectionHeaderData.yml @@ -0,0 +1,23 @@ +type: object +properties: + total_non_profit_count: + type: integer + description: Total number of non profit projects. + total_enterprise_count: + type: integer + description: Total number of enterprise projects. + total_entries: + type: integer + description: Total number of jobs created. + total_hectares_restored: + type: integer + description: Total number of hectares restored. + total_hectares_restored_goal: + type: integer + description: Total number of hectares restored goal. + total_trees_restored: + type: integer + description: Total number of trees restored. + total_trees_restored_goal: + type: integer + description: Total number of trees restored goal. \ No newline at end of file diff --git a/openapi-src/V2/definitions/DashboardTotalSectionHeaderResponse.yml b/openapi-src/V2/definitions/DashboardTotalSectionHeaderResponse.yml new file mode 100644 index 000000000..a227534ff --- /dev/null +++ b/openapi-src/V2/definitions/DashboardTotalSectionHeaderResponse.yml @@ -0,0 +1,4 @@ +type: object +properties: + data: + $ref: './DashboardTotalSectionHeaderData.yml' \ No newline at end of file diff --git a/openapi-src/V2/definitions/DashboardVolundteersSurvivalRateData.yml b/openapi-src/V2/definitions/DashboardVolundteersSurvivalRateData.yml new file mode 100644 index 000000000..774b5b883 --- /dev/null +++ b/openapi-src/V2/definitions/DashboardVolundteersSurvivalRateData.yml @@ -0,0 +1,29 @@ +type: object +properties: + total_volunteers: + type: integer + description: Total number of volunteers. + men_volunteers: + type: integer + description: Total number of male volunteers. + women_volunteers: + type: integer + description: Total number of female volunteers. + youth_volunteers: + type: integer + description: Total number of youth volunteers. + non_youth_volunteers: + type: integer + description: Total number of non-youth volunteers. + non_profit_survival_rate: + type: number + description: Survival rate for non-profit entities. + enterprise_survival_rate: + type: number + description: Survival rate for enterprise entities. + number_of_sites: + type: number + description: number of sites. + number_of_nurseries: + type: number + description: number of nurseries. \ No newline at end of file diff --git a/openapi-src/V2/definitions/DashboardVolunteersSurvivalRateResponse.yml b/openapi-src/V2/definitions/DashboardVolunteersSurvivalRateResponse.yml new file mode 100644 index 000000000..666692e8c --- /dev/null +++ b/openapi-src/V2/definitions/DashboardVolunteersSurvivalRateResponse.yml @@ -0,0 +1,4 @@ +type: object +properties: + data: + $ref: './DashboardVolundteersSurvivalRateData.yml' \ No newline at end of file diff --git a/openapi-src/V2/definitions/ProjectPipeline.yml b/openapi-src/V2/definitions/ProjectPipeline.yml new file mode 100644 index 000000000..eaf402e19 --- /dev/null +++ b/openapi-src/V2/definitions/ProjectPipeline.yml @@ -0,0 +1,33 @@ +type: object +properties: + data: + type: object + properties: + name: + type: object + properties: + name: + type: string + description: + type: string + date: + type: string + format: date + id: + type: integer + submitted_by: + type: string + program: + type: string + cohort: + type: string + publish_for: + type: string + url: + type: string + created_at: + type: string + format: date + updated_at: + type: string + format: date \ No newline at end of file diff --git a/openapi-src/V2/definitions/ProjectPipelinePost.yml b/openapi-src/V2/definitions/ProjectPipelinePost.yml index a0a029652..b29b78d33 100644 --- a/openapi-src/V2/definitions/ProjectPipelinePost.yml +++ b/openapi-src/V2/definitions/ProjectPipelinePost.yml @@ -5,19 +5,13 @@ properties: format: date id: type: integer - SubmittedBy: + submitted_by: type: string - Program: + program: type: string - Cohort: + cohort: type: string - PublishFor: + publish_for: type: string - URL: + url: type: string - CreatedDate: - type: string - format: date - ModifiedDate: - type: string - format: date \ No newline at end of file diff --git a/openapi-src/V2/definitions/_index.yml b/openapi-src/V2/definitions/_index.yml index 933fa226d..f37c369f5 100644 --- a/openapi-src/V2/definitions/_index.yml +++ b/openapi-src/V2/definitions/_index.yml @@ -276,6 +276,10 @@ GeoJSON: $ref: './GeoJSON.yml' GeometryPost: $ref: './GeometryPost.yml' +DashboardVolunteersSurvivalRateResponse: + $ref: './DashboardVolunteersSurvivalRateResponse.yml' +DashboardVolundteersSurvivalRateData: + $ref: './DashboardVolundteersSurvivalRateData.yml' AuditStatusCreateRequest: $ref: './AuditStatusCreateRequest.yml' AuditStatusResponse: @@ -326,6 +330,32 @@ DashboardBBOXCountry: $ref: './DashboardBBOXCountry.yml' DashboardPolygonData: $ref: './DashboardPolygonData.yml' +DashboardActiveProjectsListViewResponse: + $ref: './DashboardActiveProjectsListViewResponse.yml' +DashboardTotalSectionHeaderResponse: + $ref: './DashboardTotalSectionHeaderResponse.yml' +DashboardActiveCountriesResponse: + $ref: './DashboardActiveCountriesResponse.yml' +DashboardCountriesResponse: + $ref: './DashboardCountriesResponse.yml' +DashboardCountryData: + $ref: './DashboardCountryData.yml' +DashboardCountryInfo: + $ref: './DashboardCountryInfo.yml' +DashboardProjectProfileResponse: + $ref: './DashboardProjectProfileResponse.yml' +DashboardProjectProfileData: + $ref: './DashboardProjectProfileData.yml' +DashboardTopProjectsResponse: + $ref: './DashboardTopProjectsResponse.yml' +DashboardTopPlantedTree: + $ref: './DashboardTopPlantedTree.yml' +DashboardTopTreeSpecies: + $ref: './DashboardTopTreeSpecies.yml' +ProjectPipeline: + $ref: './ProjectPipeline.yml' +ProjectPipelinePost: + $ref: './ProjectPipelinePost.yml' GeojsonData: $ref: './GeojsonData.yml' EntityTypeResponse: @@ -337,4 +367,4 @@ SitePolygonResource: SiteCheckApproveResponse: $ref: './SiteCheckApproveResponse.yml' DashboardProjectViewResponse: - $ref: './DashboardProjectViewResponse.yml' \ No newline at end of file + $ref: './DashboardProjectViewResponse.yml' diff --git a/openapi-src/V2/paths/Dashboard/get-v2-dashboard-active-countries.yml b/openapi-src/V2/paths/Dashboard/get-v2-dashboard-active-countries.yml new file mode 100644 index 000000000..57d85237b --- /dev/null +++ b/openapi-src/V2/paths/Dashboard/get-v2-dashboard-active-countries.yml @@ -0,0 +1,21 @@ +summary: Retrieve all active countries. +description: | + This endpoint returns all countries and metrics related to number of projects, trees planted, jobs created, number of sites, and number of nurseries. +parameters: + - in: query + name: country + type: string + description: Optional. Filter counts and metrics by country. + - in: query + name: uuid + type: string + description: Optional. Filter restoration strategy by UUID. +responses: + '200': + description: Successful response + schema: + $ref: '../../definitions/_index.yml#/DashboardActiveCountriesResponse' + '400': + description: Bad request + '500': + description: Internal server error \ No newline at end of file diff --git a/openapi-src/V2/paths/Dashboard/get-v2-dashboard-active-projects.yml b/openapi-src/V2/paths/Dashboard/get-v2-dashboard-active-projects.yml new file mode 100644 index 000000000..b77137ee1 --- /dev/null +++ b/openapi-src/V2/paths/Dashboard/get-v2-dashboard-active-projects.yml @@ -0,0 +1,25 @@ +summary: Retrieve all active projects list view. +description: | + This endpoint returns all projects and metrics related to name of project, name of organisation, trees under restoration, jobs created, volunteers, beneficiaries, survival rate, number of sites, number of nurseries, country, number of tree goal, and date added. +parameters: + - in: query + name: country + type: string + description: Optional. Filter counts and metrics by country. + - in: query + name: per_page + type: string + description: Optional. per_page to projects. + - in: query + name: page + type: string + description: Optional. page to projects. +responses: + '200': + description: Successful response + schema: + $ref: '../../definitions/_index.yml#/DashboardActiveProjectsListViewResponse' + '400': + description: Bad request + '500': + description: 'Internal server error' \ No newline at end of file diff --git a/openapi-src/V2/paths/Dashboard/get-v2-dashboard-countries.yml b/openapi-src/V2/paths/Dashboard/get-v2-dashboard-countries.yml new file mode 100644 index 000000000..cb836edd9 --- /dev/null +++ b/openapi-src/V2/paths/Dashboard/get-v2-dashboard-countries.yml @@ -0,0 +1,17 @@ +summary: Retrieve all countries list view. +description: | + This endpoint returns all countries and metrics related to id of country, country slug, label of country, and icon data. +parameters: + - in: query + name: country + type: string + description: Optional. Filter counts and metrics by country. +responses: + '200': + description: Successful response + schema: + $ref: '../../definitions/_index.yml#/DashboardCountriesResponse' + '400': + description: Bad request + '500': + description: 'Internal server error' \ No newline at end of file diff --git a/openapi-src/V2/paths/Dashboard/get-v2-dashboard-get-projects.yml b/openapi-src/V2/paths/Dashboard/get-v2-dashboard-get-projects.yml new file mode 100644 index 000000000..cb5bd108b --- /dev/null +++ b/openapi-src/V2/paths/Dashboard/get-v2-dashboard-get-projects.yml @@ -0,0 +1,17 @@ +summary: Retrieve all project. +description: | + This endpoint returns all project location. +parameters: + - in: query + name: country + type: string + description: Filter counts and metrics by country. +responses: + '200': + description: Successful response + schema: + $ref: '../../definitions/_index.yml#/DashboardGetProjectsResponse' + '400': + description: Bad request + '500': + description: Internal server error \ No newline at end of file diff --git a/openapi-src/V2/paths/Dashboard/get-v2-dashboard-project-details.yml b/openapi-src/V2/paths/Dashboard/get-v2-dashboard-project-details.yml new file mode 100644 index 000000000..307a0167f --- /dev/null +++ b/openapi-src/V2/paths/Dashboard/get-v2-dashboard-project-details.yml @@ -0,0 +1,18 @@ +summary: Retrieve project details view. +description: | + This endpoint return details to name of project, description objectives, restoration strategy, target land use type, and land tenure. +parameters: + - type: string + name: project + in: path + required: true + description: Optional. Filter counts and metrics by UUID. +responses: + '200': + description: Successful response + schema: + $ref: '../../definitions/_index.yml#/DashboardProjectProfileResponse' + '400': + description: Bad request + '500': + description: 'Internal server error' \ No newline at end of file diff --git a/openapi-src/V2/paths/Dashboard/get-v2-dashboard-top-trees-planted.yml b/openapi-src/V2/paths/Dashboard/get-v2-dashboard-top-trees-planted.yml new file mode 100644 index 000000000..49270a8ba --- /dev/null +++ b/openapi-src/V2/paths/Dashboard/get-v2-dashboard-top-trees-planted.yml @@ -0,0 +1,17 @@ +summary: Retrieve top 10 projects and top 20 tree species planted +description: | + This endpoint returns Tops and metrics related to projects and tree species. +parameters: + - in: query + name: country + type: string + description: Optional. Filter counts and metrics by country. +responses: + '200': + description: Successful response + schema: + $ref: '../../definitions/_index.yml#/DashboardTopProjectsResponse' + '400': + description: Bad request + '500': + description: Internal server error \ No newline at end of file diff --git a/openapi-src/V2/paths/Dashboard/get-v2-dashboard-total-section-header.yml b/openapi-src/V2/paths/Dashboard/get-v2-dashboard-total-section-header.yml new file mode 100644 index 000000000..2ac372dd6 --- /dev/null +++ b/openapi-src/V2/paths/Dashboard/get-v2-dashboard-total-section-header.yml @@ -0,0 +1,17 @@ +summary: Retrieve totals and metrics for total section header +description: | + This endpoint returns totals and metrics related to non-profit projects, enterprise projects, jobs created, hectares restored, trees restored, and trees restored goal. +parameters: + - in: query + name: country + type: string + description: Optional. Filter counts and metrics by country. +responses: + '200': + description: Successful response + schema: + $ref: '../../definitions/_index.yml#/DashboardTotalSectionHeaderResponse' + '400': + description: Bad request + '500': + description: Internal server error \ No newline at end of file diff --git a/openapi-src/V2/paths/Dashboard/get-v2-dashboard-volunteers-survival-rate.yml b/openapi-src/V2/paths/Dashboard/get-v2-dashboard-volunteers-survival-rate.yml new file mode 100644 index 000000000..a9fb02f8a --- /dev/null +++ b/openapi-src/V2/paths/Dashboard/get-v2-dashboard-volunteers-survival-rate.yml @@ -0,0 +1,21 @@ +summary: Retrieve counts and metrics for volunteers survival rate +description: | + This endpoint returns counts and metrics related to non-profit, enterprise, entries, hectares restored, and trees restored. +parameters: + - in: query + name: country + type: string + description: Optional. Filter counts and metrics by country. + - in: query + name: uuid + type: string + description: Optional. Filter counts and metrics by UUID. +responses: + '200': + description: Successful response + schema: + $ref: '../../definitions/_index.yml#/DashboardVolunteersSurvivalRateResponse' + '400': + description: Bad request + '500': + description: Internal server error \ No newline at end of file diff --git a/openapi-src/V2/paths/ProjectPipeline/delete-v2-project-pipeline-id.yml b/openapi-src/V2/paths/ProjectPipeline/delete-v2-project-pipeline-id.yml new file mode 100644 index 000000000..32d335c42 --- /dev/null +++ b/openapi-src/V2/paths/ProjectPipeline/delete-v2-project-pipeline-id.yml @@ -0,0 +1,10 @@ +summary: Delete a project from the pipeline by ID +parameters: + - type: string + name: id + in: path + required: true + description: delete a specific project pipeline. +responses: + '204': + description: No Content \ No newline at end of file diff --git a/openapi-src/V2/paths/ProjectPipeline/get-v2-project-pipeline-id.yml b/openapi-src/V2/paths/ProjectPipeline/get-v2-project-pipeline-id.yml new file mode 100644 index 000000000..282d8c5ea --- /dev/null +++ b/openapi-src/V2/paths/ProjectPipeline/get-v2-project-pipeline-id.yml @@ -0,0 +1,15 @@ +operationId: get-v2-project-pipeline +summary: Get a project from the pipeline by ID +tags: + - V2 Project Pipeline +parameters: + - type: string + name: id + in: path + required: true + description: show a specific project pipeline. +responses: + '200': + description: OK + schema: + $ref: '../../definitions/_index.yml#/ProjectPipeline' diff --git a/openapi-src/V2/paths/ProjectPipeline/get-v2-project-pipeline.yml b/openapi-src/V2/paths/ProjectPipeline/get-v2-project-pipeline.yml new file mode 100644 index 000000000..e78bd7cff --- /dev/null +++ b/openapi-src/V2/paths/ProjectPipeline/get-v2-project-pipeline.yml @@ -0,0 +1,16 @@ +operationId: get-v2-fproject-pipeline +summary: Get all projects from the pipeline +tags: + - V2 Project Pipeline +parameters: + - in: query + name: country + type: string + description: Optional. Filter counts and metrics by country. +responses: + '200': + description: OK + schema: + type: array + items: + $ref: '../../definitions/_index.yml#/ProjectPipeline' \ No newline at end of file diff --git a/openapi-src/V2/paths/ProjectPipeline/post-v2-project-pipeline.yml b/openapi-src/V2/paths/ProjectPipeline/post-v2-project-pipeline.yml new file mode 100644 index 000000000..00f1bfdd6 --- /dev/null +++ b/openapi-src/V2/paths/ProjectPipeline/post-v2-project-pipeline.yml @@ -0,0 +1,19 @@ +operationId: post-v2-fproject-pipeline +summary: Create a new project in the pipeline +tags: + - V2 Project Pipeline +parameters: + - in: query + name: country + type: string + description: Optional. Filter counts and metrics by country. + - name: body + in: body + required: true + schema: + $ref: '../../definitions/_index.yml#/ProjectPipelinePost' +responses: + '201': + description: Created + schema: + $ref: '../../definitions/_index.yml#/ProjectPipelinePost' diff --git a/openapi-src/V2/paths/ProjectPipeline/put-v2-project-pipeline-id.yml b/openapi-src/V2/paths/ProjectPipeline/put-v2-project-pipeline-id.yml new file mode 100644 index 000000000..429ade9d5 --- /dev/null +++ b/openapi-src/V2/paths/ProjectPipeline/put-v2-project-pipeline-id.yml @@ -0,0 +1,20 @@ +operationId: update-v2-project-pipeline +summary: Update a project in the pipeline by ID +tags: + - V2 Project Pipeline +parameters: + - type: string + name: id + in: path + required: true + description: edit a specific project pipeline. + - name: body + in: body + required: true + schema: + $ref: '../../definitions/_index.yml#/ProjectPipelinePost' +responses: + '200': + description: OK + schema: + $ref: '../../definitions/_index.yml#/ProjectPipelinePost' \ No newline at end of file diff --git a/openapi-src/V2/paths/_index.yml b/openapi-src/V2/paths/_index.yml index 8c508ed53..9f2997c7a 100644 --- a/openapi-src/V2/paths/_index.yml +++ b/openapi-src/V2/paths/_index.yml @@ -2615,6 +2615,42 @@ /v2/dashboard/project-data/{uuid}: get: $ref: './Dashboard/get-v2-dashboard-project-data-uuid.yml' +/v2/dashboard/active-projects: + get: + $ref: './Dashboard/get-v2-dashboard-active-projects.yml' +/v2/dashboard/volunteers-survival-rate: + get: + $ref: './Dashboard/get-v2-dashboard-volunteers-survival-rate.yml' +/v2/dashboard/total-section-header: + get: + $ref: './Dashboard/get-v2-dashboard-total-section-header.yml' +/v2/dashboard/active-countries: + get: + $ref: './Dashboard/get-v2-dashboard-active-countries.yml' +/v2/dashboard/countries: + get: + $ref: './Dashboard/get-v2-dashboard-countries.yml' +/v2/dashboard/get-projects: + get: + $ref: './Dashboard/get-v2-dashboard-get-projects.yml' +/v2/dashboard/project-details/{project}: + get: + $ref: './Dashboard/get-v2-dashboard-project-details.yml' +/v2/dashboard/top-trees-planted: + get: + $ref: './Dashboard/get-v2-dashboard-top-trees-planted.yml' +/v2/project-pipeline: + get: + $ref: './ProjectPipeline/get-v2-project-pipeline.yml' + post: + $ref: './ProjectPipeline/post-v2-project-pipeline.yml' +/v2/project-pipeline/{id}: + get: + $ref: './ProjectPipeline/get-v2-project-pipeline-id.yml' + put: + $ref: './ProjectPipeline/put-v2-project-pipeline-id.yml' + delete: + $ref: './ProjectPipeline/delete-v2-project-pipeline-id.yml' /v2/dashboard/view-project/{uuid}: get: $ref: './Dashboard/get-v2-dashboard-view-project-uuid.yml' diff --git a/resources/docs/swagger-v2.yml b/resources/docs/swagger-v2.yml index 084cc9470..1272c5363 100644 --- a/resources/docs/swagger-v2.yml +++ b/resources/docs/swagger-v2.yml @@ -44058,6 +44058,69 @@ definitions: message: type: string description: Human readable string in English to describe the error. + DashboardVolunteersSurvivalRateResponse: + type: object + properties: + data: + type: object + properties: + total_volunteers: + type: integer + description: Total number of volunteers. + men_volunteers: + type: integer + description: Total number of male volunteers. + women_volunteers: + type: integer + description: Total number of female volunteers. + youth_volunteers: + type: integer + description: Total number of youth volunteers. + non_youth_volunteers: + type: integer + description: Total number of non-youth volunteers. + non_profit_survival_rate: + type: number + description: Survival rate for non-profit entities. + enterprise_survival_rate: + type: number + description: Survival rate for enterprise entities. + number_of_sites: + type: number + description: number of sites. + number_of_nurseries: + type: number + description: number of nurseries. + DashboardVolundteersSurvivalRateData: + type: object + properties: + total_volunteers: + type: integer + description: Total number of volunteers. + men_volunteers: + type: integer + description: Total number of male volunteers. + women_volunteers: + type: integer + description: Total number of female volunteers. + youth_volunteers: + type: integer + description: Total number of youth volunteers. + non_youth_volunteers: + type: integer + description: Total number of non-youth volunteers. + non_profit_survival_rate: + type: number + description: Survival rate for non-profit entities. + enterprise_survival_rate: + type: number + description: Survival rate for enterprise entities. + number_of_sites: + type: number + description: number of sites. + number_of_nurseries: + type: number + description: number of nurseries. AuditStatusCreateRequest: title: AuditStatusCreateRequest type: object @@ -44654,6 +44717,306 @@ definitions: key: type: string description: Key of the data field + DashboardActiveProjectsListViewResponse: + type: object + properties: + data: + type: array + items: + type: object + properties: + uuid: + type: string + name: + type: string + organisation: + type: string + trees_under_restoration: + type: integer + jobs_created: + type: integer + volunteers: + type: integer + beneficiaries: + type: integer + survival_rate: + type: integer + number_of_sites: + type: integer + number_of_nurseries: + type: integer + project_country: + type: string + country_slug: + type: string + number_of_trees_goal: + type: integer + date_added: + type: string + current_page: + type: integer + per_page: + type: integer + total: + type: integer + last_page: + type: integer + DashboardTotalSectionHeaderResponse: + type: object + properties: + data: + type: object + properties: + total_non_profit_count: + type: integer + description: Total number of non profit projects. + total_enterprise_count: + type: integer + description: Total number of enterprise projects. + total_entries: + type: integer + description: Total number of jobs created. + total_hectares_restored: + type: integer + description: Total number of hectares restored. + total_hectares_restored_goal: + type: integer + description: Total number of hectares restored goal. + total_trees_restored: + type: integer + description: Total number of trees restored. + total_trees_restored_goal: + type: integer + description: Total number of trees restored goal. + DashboardActiveCountriesResponse: + properties: + data: + type: array + items: + type: object + properties: + country_slug: + type: string + country: + type: string + number_of_projects: + type: integer + total_trees_planted: + type: integer + total_jobs_created: + type: integer + number_of_sites: + type: integer + number_of_nurseries: + type: integer + DashboardCountriesResponse: + type: object + properties: + data: + type: array + items: + type: object + properties: + id: + type: integer + country_slug: + type: string + data: + type: object + properties: + label: + type: string + icon: + type: string + DashboardCountryData: + type: object + properties: + id: + type: integer + country_slug: + type: string + data: + type: object + properties: + label: + type: string + icon: + type: string + DashboardCountryInfo: + type: object + properties: + label: + type: string + icon: + type: string + DashboardProjectProfileResponse: + type: object + properties: + data: + type: object + properties: + name: + type: string + descriptionObjetive: + type: string + country: + type: string + organisation: + type: string + survivalRate: + type: integer + countrySlug: + type: string + restorationStrategy: + type: object + properties: + data: + type: array + items: + type: string + targetLandUse: + type: object + properties: + data: + type: array + items: + type: string + landTenure: + type: object + properties: + data: + type: array + items: + type: string + DashboardProjectProfileData: + type: object + properties: + name: + type: string + descriptionObjetive: + type: string + country: + type: string + organisation: + type: string + survivalRate: + type: integer + countrySlug: + type: string + restorationStrategy: + type: object + properties: + data: + type: array + items: + type: string + targetLandUse: + type: object + properties: + data: + type: array + items: + type: string + landTenure: + type: object + properties: + data: + type: array + items: + type: string + DashboardTopProjectsResponse: + properties: + data: + type: object + properties: + top_projects_most_planted_trees: + type: array + items: + type: object + properties: + project: + type: string + uuid: + type: string + trees_planted: + type: integer + top_tree_species_planted: + type: array + items: + type: object + properties: + name: + type: string + amount: + type: integer + DashboardTopPlantedTree: + type: object + properties: + project: + type: string + uuid: + type: string + trees_planted: + type: integer + DashboardTopTreeSpecies: + type: object + properties: + name: + type: string + amount: + type: integer + ProjectPipeline: + type: object + properties: + data: + type: object + properties: + name: + type: object + properties: + name: + type: string + description: + type: string + date: + type: string + format: date + id: + type: integer + submitted_by: + type: string + program: + type: string + cohort: + type: string + publish_for: + type: string + url: + type: string + created_at: + type: string + format: date + updated_at: + type: string + format: date + ProjectPipelinePost: + type: object + properties: + date: + type: string + format: date + id: + type: integer + submitted_by: + type: string + program: + type: string + cohort: + type: string + publish_for: + type: string + url: + type: string GeojsonData: type: object properties: @@ -96052,6 +96415,600 @@ paths: description: Key of the data field '500': description: Error in queries + /v2/dashboard/active-projects: + get: + summary: Retrieve all active projects list view. + description: | + This endpoint returns all projects and metrics related to name of project, name of organisation, trees under restoration, jobs created, volunteers, beneficiaries, survival rate, number of sites, number of nurseries, country, number of tree goal, and date added. + parameters: + - in: query + name: country + type: string + description: Optional. Filter counts and metrics by country. + - in: query + name: per_page + type: string + description: Optional. per_page to projects. + - in: query + name: page + type: string + description: Optional. page to projects. + responses: + '200': + description: Successful response + schema: + type: object + properties: + data: + type: array + items: + type: object + properties: + uuid: + type: string + name: + type: string + organisation: + type: string + trees_under_restoration: + type: integer + jobs_created: + type: integer + volunteers: + type: integer + beneficiaries: + type: integer + survival_rate: + type: integer + number_of_sites: + type: integer + number_of_nurseries: + type: integer + project_country: + type: string + country_slug: + type: string + number_of_trees_goal: + type: integer + date_added: + type: string + current_page: + type: integer + per_page: + type: integer + total: + type: integer + last_page: + type: integer + '400': + description: Bad request + '500': + description: Internal server error + /v2/dashboard/volunteers-survival-rate: + get: + summary: Retrieve counts and metrics for volunteers survival rate + description: | + This endpoint returns counts and metrics related to non-profit, enterprise, entries, hectares restored, and trees restored. + parameters: + - in: query + name: country + type: string + description: Optional. Filter counts and metrics by country. + - in: query + name: uuid + type: string + description: Optional. Filter counts and metrics by UUID. + responses: + '200': + description: Successful response + schema: + type: object + properties: + data: + type: object + properties: + total_volunteers: + type: integer + description: Total number of volunteers. + men_volunteers: + type: integer + description: Total number of male volunteers. + women_volunteers: + type: integer + description: Total number of female volunteers. + youth_volunteers: + type: integer + description: Total number of youth volunteers. + non_youth_volunteers: + type: integer + description: Total number of non-youth volunteers. + non_profit_survival_rate: + type: number + description: Survival rate for non-profit entities. + enterprise_survival_rate: + type: number + description: Survival rate for enterprise entities. + number_of_sites: + type: number + description: number of sites. + number_of_nurseries: + type: number + description: number of nurseries. + '400': + description: Bad request + '500': + description: Internal server error + /v2/dashboard/total-section-header: + get: + summary: Retrieve totals and metrics for total section header + description: | + This endpoint returns totals and metrics related to non-profit projects, enterprise projects, jobs created, hectares restored, trees restored, and trees restored goal. + parameters: + - in: query + name: country + type: string + description: Optional. Filter counts and metrics by country. + responses: + '200': + description: Successful response + schema: + type: object + properties: + data: + type: object + properties: + total_non_profit_count: + type: integer + description: Total number of non profit projects. + total_enterprise_count: + type: integer + description: Total number of enterprise projects. + total_entries: + type: integer + description: Total number of jobs created. + total_hectares_restored: + type: integer + description: Total number of hectares restored. + total_hectares_restored_goal: + type: integer + description: Total number of hectares restored goal. + total_trees_restored: + type: integer + description: Total number of trees restored. + total_trees_restored_goal: + type: integer + description: Total number of trees restored goal. + '400': + description: Bad request + '500': + description: Internal server error + /v2/dashboard/active-countries: + get: + summary: Retrieve all active countries. + description: | + This endpoint returns all countries and metrics related to number of projects, trees planted, jobs created, number of sites, and number of nurseries. + parameters: + - in: query + name: country + type: string + description: Optional. Filter counts and metrics by country. + - in: query + name: uuid + type: string + description: Optional. Filter restoration strategy by UUID. + responses: + '200': + description: Successful response + schema: + properties: + data: + type: array + items: + type: object + properties: + country_slug: + type: string + country: + type: string + number_of_projects: + type: integer + total_trees_planted: + type: integer + total_jobs_created: + type: integer + number_of_sites: + type: integer + number_of_nurseries: + type: integer + '400': + description: Bad request + '500': + description: Internal server error + /v2/dashboard/countries: + get: + summary: Retrieve all countries list view. + description: | + This endpoint returns all countries and metrics related to id of country, country slug, label of country, and icon data. + parameters: + - in: query + name: country + type: string + description: Optional. Filter counts and metrics by country. + responses: + '200': + description: Successful response + schema: + type: object + properties: + data: + type: array + items: + type: object + properties: + id: + type: integer + country_slug: + type: string + data: + type: object + properties: + label: + type: string + icon: + type: string + '400': + description: Bad request + '500': + description: Internal server error + /v2/dashboard/get-projects: + get: + summary: Retrieve all project. + description: | + This endpoint returns all project location. + parameters: + - in: query + name: country + type: string + description: Filter counts and metrics by country. + responses: + '200': + description: Successful response + schema: + type: object + properties: + data: + type: array + items: + type: object + properties: + uuid: + type: string + name: + type: string + lat: + type: number + format: double + long: + type: number + format: double + '400': + description: Bad request + '500': + description: Internal server error + '/v2/dashboard/project-details/{project}': + get: + summary: Retrieve project details view. + description: | + This endpoint return details to name of project, description objectives, restoration strategy, target land use type, and land tenure. + parameters: + - type: string + name: project + in: path + required: true + description: Optional. Filter counts and metrics by UUID. + responses: + '200': + description: Successful response + schema: + type: object + properties: + data: + type: object + properties: + name: + type: string + descriptionObjetive: + type: string + country: + type: string + organisation: + type: string + survivalRate: + type: integer + countrySlug: + type: string + restorationStrategy: + type: object + properties: + data: + type: array + items: + type: string + targetLandUse: + type: object + properties: + data: + type: array + items: + type: string + landTenure: + type: object + properties: + data: + type: array + items: + type: string + '400': + description: Bad request + '500': + description: Internal server error + /v2/dashboard/top-trees-planted: + get: + summary: Retrieve top 10 projects and top 20 tree species planted + description: | + This endpoint returns Tops and metrics related to projects and tree species. + parameters: + - in: query + name: country + type: string + description: Optional. Filter counts and metrics by country. + responses: + '200': + description: Successful response + schema: + properties: + data: + type: object + properties: + top_projects_most_planted_trees: + type: array + items: + type: object + properties: + project: + type: string + uuid: + type: string + trees_planted: + type: integer + top_tree_species_planted: + type: array + items: + type: object + properties: + name: + type: string + amount: + type: integer + '400': + description: Bad request + '500': + description: Internal server error + /v2/project-pipeline: + get: + operationId: get-v2-fproject-pipeline + summary: Get all projects from the pipeline + tags: + - V2 Project Pipeline + parameters: + - in: query + name: country + type: string + description: Optional. Filter counts and metrics by country. + responses: + '200': + description: OK + schema: + type: array + items: + type: object + properties: + data: + type: object + properties: + name: + type: object + properties: + name: + type: string + description: + type: string + date: + type: string + format: date + id: + type: integer + submitted_by: + type: string + program: + type: string + cohort: + type: string + publish_for: + type: string + url: + type: string + created_at: + type: string + format: date + updated_at: + type: string + format: date + post: + operationId: post-v2-fproject-pipeline + summary: Create a new project in the pipeline + tags: + - V2 Project Pipeline + parameters: + - in: query + name: country + type: string + description: Optional. Filter counts and metrics by country. + - name: body + in: body + required: true + schema: + type: object + properties: + date: + type: string + format: date + id: + type: integer + submitted_by: + type: string + program: + type: string + cohort: + type: string + publish_for: + type: string + url: + type: string + responses: + '201': + description: Created + schema: + type: object + properties: + date: + type: string + format: date + id: + type: integer + submitted_by: + type: string + program: + type: string + cohort: + type: string + publish_for: + type: string + url: + type: string + '/v2/project-pipeline/{id}': + get: + operationId: get-v2-project-pipeline + summary: Get a project from the pipeline by ID + tags: + - V2 Project Pipeline + parameters: + - type: string + name: id + in: path + required: true + description: show a specific project pipeline. + responses: + '200': + description: OK + schema: + type: object + properties: + data: + type: object + properties: + name: + type: object + properties: + name: + type: string + description: + type: string + date: + type: string + format: date + id: + type: integer + submitted_by: + type: string + program: + type: string + cohort: + type: string + publish_for: + type: string + url: + type: string + created_at: + type: string + format: date + updated_at: + type: string + format: date + put: + operationId: update-v2-project-pipeline + summary: Update a project in the pipeline by ID + tags: + - V2 Project Pipeline + parameters: + - type: string + name: id + in: path + required: true + description: edit a specific project pipeline. + - name: body + in: body + required: true + schema: + type: object + properties: + date: + type: string + format: date + id: + type: integer + submitted_by: + type: string + program: + type: string + cohort: + type: string + publish_for: + type: string + url: + type: string + responses: + '200': + description: OK + schema: + type: object + properties: + date: + type: string + format: date + id: + type: integer + submitted_by: + type: string + program: + type: string + cohort: + type: string + publish_for: + type: string + url: + type: string + delete: + summary: Delete a project from the pipeline by ID + parameters: + - type: string + name: id + in: path + required: true + description: delete a specific project pipeline. + responses: + '204': + description: No Content '/v2/dashboard/view-project/{uuid}': get: summary: Get allowed to project diff --git a/routes/api_v2.php b/routes/api_v2.php index ee9c74fa1..260b64c83 100644 --- a/routes/api_v2.php +++ b/routes/api_v2.php @@ -18,13 +18,21 @@ use App\Http\Controllers\V2\CoreTeamLeader\DeleteCoreTeamLeaderController; use App\Http\Controllers\V2\CoreTeamLeader\StoreCoreTeamLeaderController; use App\Http\Controllers\V2\CoreTeamLeader\UpdateCoreTeamLeaderController; +use App\Http\Controllers\V2\Dashboard\ActiveCountriesTableController; +use App\Http\Controllers\V2\Dashboard\ActiveProjectsTableController; +use App\Http\Controllers\V2\Dashboard\CountriesController; use App\Http\Controllers\V2\Dashboard\CountryDataController; use App\Http\Controllers\V2\Dashboard\GetJobsCreatedController; use App\Http\Controllers\V2\Dashboard\GetPolygonsController; +use App\Http\Controllers\V2\Dashboard\GetProjectsController; use App\Http\Controllers\V2\Dashboard\ProjectListExportController; +use App\Http\Controllers\V2\Dashboard\ProjectProfileDetailsController; +use App\Http\Controllers\V2\Dashboard\TopProjectsAndTopTreeSpeciesController; +use App\Http\Controllers\V2\Dashboard\TotalTerrafundHeaderDashboardController; use App\Http\Controllers\V2\Dashboard\ViewProjectController; use App\Http\Controllers\V2\Dashboard\ViewRestorationStrategyController; use App\Http\Controllers\V2\Dashboard\ViewTreeRestorationGoalController; +use App\Http\Controllers\V2\Dashboard\VolunteersAndAverageSurvivalRateController; use App\Http\Controllers\V2\Disturbances\DeleteDisturbanceController; use App\Http\Controllers\V2\Disturbances\GetDisturbancesForEntityController; use App\Http\Controllers\V2\Disturbances\StoreDisturbanceController; @@ -124,6 +132,10 @@ use App\Http\Controllers\V2\OwnershipStake\UpdateOwnershipStakeController; use App\Http\Controllers\V2\Polygons\ViewAllSitesPolygonsForProjectController; use App\Http\Controllers\V2\Polygons\ViewSitesPolygonsForProjectController; +use App\Http\Controllers\V2\ProjectPipeline\DeleteProjectPipelineController; +use App\Http\Controllers\V2\ProjectPipeline\GetProjectPipelineController; +use App\Http\Controllers\V2\ProjectPipeline\StoreProjectPipelineController; +use App\Http\Controllers\V2\ProjectPipeline\UpdateProjectPipelineController; use App\Http\Controllers\V2\ProjectPitches\AdminIndexProjectPitchController; use App\Http\Controllers\V2\ProjectPitches\DeleteProjectPitchController; use App\Http\Controllers\V2\ProjectPitches\ExportProjectPitchController; @@ -691,6 +703,7 @@ function () { Route::prefix('dashboard')->group(function () { Route::get('/restoration-strategy', ViewRestorationStrategyController::class); Route::get('/jobs-created', GetJobsCreatedController::class); + Route::get('/volunteers-survival-rate', VolunteersAndAverageSurvivalRateController::class); Route::get('/tree-restoration-goal', ViewTreeRestorationGoalController::class); Route::get('/project-list-export', ProjectListExportController::class); Route::get('/get-polygons', [GetPolygonsController::class, 'getPolygonsOfProject']); @@ -700,6 +713,21 @@ function () { Route::get('/country/{country}', [CountryDataController::class, 'getCountryBbox']); Route::get('/polygon-data/{uuid}', [CountryDataController::class, 'getPolygonData']); Route::get('/project-data/{uuid}', [CountryDataController::class, 'getProjectData']); + Route::get('/active-projects', ActiveProjectsTableController::class); + Route::get('/total-section-header', TotalTerrafundHeaderDashboardController::class); + Route::get('/active-countries', ActiveCountriesTableController::class); + Route::get('/countries', CountriesController::class); + Route::get('/get-projects', GetProjectsController::class); + Route::get('/project-details/{project}', ProjectProfileDetailsController::class); + Route::get('/top-trees-planted', TopProjectsAndTopTreeSpeciesController::class); +}); + +Route::prefix('project-pipeline')->group(function () { + Route::get('/', GetProjectPipelineController::class); + Route::get('/{id}', GetProjectPipelineController::class); + Route::post('/', StoreProjectPipelineController::class); + Route::put('/{id}', UpdateProjectPipelineController::class); + Route::delete('/{id}', DeleteProjectPipelineController::class); Route::get('/view-project/{uuid}', [ViewProjectController::class, 'getIfUserIsAllowedToProject']); }); From fc45699832f3ec20174d352f3f96428621b23dcd Mon Sep 17 00:00:00 2001 From: JORGE Date: Wed, 19 Jun 2024 09:47:51 -0400 Subject: [PATCH 093/164] [TM-848] add execution limit to -1 --- .../V2/Terrafund/TerrafundCreateGeometryController.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php b/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php index 655ab0bc4..a8ad2926a 100644 --- a/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php +++ b/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php @@ -132,6 +132,7 @@ public function getGeometryProperties(string $geojsonFilename) public function uploadKMLFile(Request $request) { + ini_set('max_execution_time', '-1'); if ($request->hasFile('file')) { $site_id = $request->input('uuid'); $kmlfile = $request->file('file'); @@ -178,6 +179,7 @@ private function findShpFile($directory) public function uploadShapefile(Request $request) { + ini_set('max_execution_time', '-1'); Log::debug('Upload Shape file data', ['request' => $request->all()]); if ($request->hasFile('file')) { $site_id = $request->input('uuid'); @@ -324,6 +326,7 @@ public function getCriteriaData(Request $request) public function uploadGeoJSONFile(Request $request) { + ini_set('max_execution_time', '-1'); if ($request->hasFile('file')) { $site_id = $request->input('uuid'); $file = $request->file('file'); From 3b96a37a8385931ded766d5f7d2217a894903dbf Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Wed, 19 Jun 2024 11:06:18 -0400 Subject: [PATCH 094/164] [TM-874] relocate view project controller --- routes/api_v2.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/routes/api_v2.php b/routes/api_v2.php index 260b64c83..d5fade2db 100644 --- a/routes/api_v2.php +++ b/routes/api_v2.php @@ -720,6 +720,7 @@ function () { Route::get('/get-projects', GetProjectsController::class); Route::get('/project-details/{project}', ProjectProfileDetailsController::class); Route::get('/top-trees-planted', TopProjectsAndTopTreeSpeciesController::class); + Route::get('/view-project/{uuid}', [ViewProjectController::class, 'getIfUserIsAllowedToProject']); }); Route::prefix('project-pipeline')->group(function () { @@ -728,7 +729,6 @@ function () { Route::post('/', StoreProjectPipelineController::class); Route::put('/{id}', UpdateProjectPipelineController::class); Route::delete('/{id}', DeleteProjectPipelineController::class); - Route::get('/view-project/{uuid}', [ViewProjectController::class, 'getIfUserIsAllowedToProject']); }); Route::get('/type-entity', EntityTypeController::class); From 686a11f4695d7e87ec143c8b81142fb9d6fa213c Mon Sep 17 00:00:00 2001 From: JORGE Date: Thu, 20 Jun 2024 11:11:02 -0400 Subject: [PATCH 095/164] [TM-874] add bbox polygon if not found --- app/Helpers/GeometryHelper.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/app/Helpers/GeometryHelper.php b/app/Helpers/GeometryHelper.php index b0a4099b7..1817f5139 100644 --- a/app/Helpers/GeometryHelper.php +++ b/app/Helpers/GeometryHelper.php @@ -90,6 +90,7 @@ public function updateProjectCentroid(string $projectUuid) } + public static function getPolygonsBbox($polygonsIds) { if (count($polygonsIds) === 0) { @@ -98,10 +99,11 @@ public static function getPolygonsBbox($polygonsIds) $envelopes = PolygonGeometry::whereIn('uuid', $polygonsIds) ->selectRaw('ST_ASGEOJSON(ST_Envelope(geom)) as envelope') ->get(); - $maxX = $maxY = PHP_INT_MIN; $minX = $minY = PHP_INT_MAX; - + if ($envelopes->isEmpty()) { + return null; + } foreach ($envelopes as $envelope) { $geojson = json_decode($envelope->envelope); $coordinates = $geojson->coordinates[0]; @@ -116,7 +118,9 @@ public static function getPolygonsBbox($polygonsIds) } } - return [$minX, $minY, $maxX, $maxY]; + $bboxCoordinates = [$minX, $minY, $maxX, $maxY]; + + return $bboxCoordinates; } public static function getCriteriaDataForPolygonGeometry($polygonGeometry) From c7fe8766a9289956236feac0a4bc1bbef8e1e30e Mon Sep 17 00:00:00 2001 From: JORGE Date: Thu, 20 Jun 2024 11:55:28 -0400 Subject: [PATCH 096/164] [TM-874] fix lint and return bbox only --- app/Helpers/GeometryHelper.php | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/app/Helpers/GeometryHelper.php b/app/Helpers/GeometryHelper.php index 1817f5139..24fd1d613 100644 --- a/app/Helpers/GeometryHelper.php +++ b/app/Helpers/GeometryHelper.php @@ -90,7 +90,6 @@ public function updateProjectCentroid(string $projectUuid) } - public static function getPolygonsBbox($polygonsIds) { if (count($polygonsIds) === 0) { @@ -102,7 +101,7 @@ public static function getPolygonsBbox($polygonsIds) $maxX = $maxY = PHP_INT_MIN; $minX = $minY = PHP_INT_MAX; if ($envelopes->isEmpty()) { - return null; + return null; } foreach ($envelopes as $envelope) { $geojson = json_decode($envelope->envelope); @@ -118,9 +117,7 @@ public static function getPolygonsBbox($polygonsIds) } } - $bboxCoordinates = [$minX, $minY, $maxX, $maxY]; - - return $bboxCoordinates; + return [$minX, $minY, $maxX, $maxY]; } public static function getCriteriaDataForPolygonGeometry($polygonGeometry) From efdefd0e27697c964f3859369af6dbe52c0b19cc Mon Sep 17 00:00:00 2001 From: Limber Mamani <154026979+LimberHope@users.noreply.github.com> Date: Thu, 20 Jun 2024 14:54:21 -0400 Subject: [PATCH 097/164] [TM-599] Add new roles to users (#289) * feat: add new roles to users and country and program fields * feat: add country and program to UserResource * feat: add isNewRoleUser Conditional to entity policy * feat: add functions options to new roles * feat: change primary_role -> user_type * feat: add country and program to user model * feat: add primary_role, country and program fields to swagger --------- Co-authored-by: Jose Carlos Laura Ramirez --- .../Migration/RolesMigrationCommand.php | 12 ++++++- .../AddProjectDeveloperNewPermission.php | 32 +++++++++++++++++++ app/Http/Controllers/UsersController.php | 3 +- .../V2/Dashboard/ViewProjectController.php | 2 +- .../V2/User/AdminUserController.php | 12 +++++-- app/Http/Resources/V2/User/UserResource.php | 2 ++ app/Models/User.php | 2 ++ app/Models/V2/User.php | 2 ++ app/Policies/Policy.php | 9 +++++- app/Policies/V2/Nurseries/NurseryPolicy.php | 4 +++ app/Policies/V2/Projects/ProjectPolicy.php | 4 +++ .../V2/Projects/ProjectReportPolicy.php | 4 +++ app/Policies/V2/Sites/SitePolicy.php | 4 +++ app/Policies/V2/Sites/SiteReportPolicy.php | 4 +++ app/Resources/UserResource.php | 2 ++ app/Validators/UserValidator.php | 9 ++++++ app/functions.php | 8 +++++ config/wri/permissions.php | 1 + ...6_14_145957_add_user_geospatial_fields.php | 29 +++++++++++++++++ ...19_135015_alter_user_table_column_role.php | 21 ++++++++++++ openapi-src/V2/definitions/UserCreate.yml | 6 ++++ resources/docs/swagger-v2.yml | 12 +++++++ tests/V2/Users/AdminUserControllerTest.php | 2 +- 23 files changed, 179 insertions(+), 7 deletions(-) create mode 100644 app/Console/Commands/OneOff/AddProjectDeveloperNewPermission.php create mode 100644 database/migrations/2024_06_14_145957_add_user_geospatial_fields.php create mode 100644 database/migrations/2024_06_19_135015_alter_user_table_column_role.php diff --git a/app/Console/Commands/Migration/RolesMigrationCommand.php b/app/Console/Commands/Migration/RolesMigrationCommand.php index 9855a097c..827c6c277 100644 --- a/app/Console/Commands/Migration/RolesMigrationCommand.php +++ b/app/Console/Commands/Migration/RolesMigrationCommand.php @@ -72,7 +72,7 @@ public function handle() if (Role::where('name', 'project-developer')->count() === 0) { $role = Role::create(['name' => 'project-developer']); - $role->givePermissionTo(['manage-own']); + $role->givePermissionTo(['manage-own', 'view-dashboard']); } if (Role::where('name', 'greenhouse-service-account')->count() === 0) { @@ -80,6 +80,16 @@ public function handle() $role->givePermissionTo(['projects-read', 'polygons-manage', 'media-manage']); } + if (Role::where('name', 'government')->count() === 0) { + $role = Role::create(['name' => 'government']); + $role->givePermissionTo(['view-dashboard']); + } + + if (Role::where('name', 'funder')->count() === 0) { + $role = Role::create(['name' => 'funder']); + $role->givePermissionTo(['view-dashboard']); + } + User::whereIn('role', ['user', 'admin', 'terrafund-admin', 'service'])->get() ->each(function (User $user) { if ($user->primary_role == null) { diff --git a/app/Console/Commands/OneOff/AddProjectDeveloperNewPermission.php b/app/Console/Commands/OneOff/AddProjectDeveloperNewPermission.php new file mode 100644 index 000000000..d541e19bf --- /dev/null +++ b/app/Console/Commands/OneOff/AddProjectDeveloperNewPermission.php @@ -0,0 +1,32 @@ +first(); + $role->givePermissionTo(['view-dashboard']); + } +} diff --git a/app/Http/Controllers/UsersController.php b/app/Http/Controllers/UsersController.php index 5cf901a45..f4f922af2 100644 --- a/app/Http/Controllers/UsersController.php +++ b/app/Http/Controllers/UsersController.php @@ -30,8 +30,9 @@ public function createAction(Request $request): JsonResponse $request->request->remove('callback_url'); $data = $request->json()->all(); UserValidator::validate('CREATE', $data); - $data['role'] = 'user'; + $data['role'] = $data['primary_role']; $user = new UserModel($data); + $user->assignRole($data['primary_role']); $user->saveOrFail(); $user->refresh(); diff --git a/app/Http/Controllers/V2/Dashboard/ViewProjectController.php b/app/Http/Controllers/V2/Dashboard/ViewProjectController.php index 1a3b6a380..1c44a318b 100644 --- a/app/Http/Controllers/V2/Dashboard/ViewProjectController.php +++ b/app/Http/Controllers/V2/Dashboard/ViewProjectController.php @@ -84,7 +84,7 @@ public function getAllProjectsAllowedToUser() return response()->json(['error' => 'An error occurred while fetching funder projects', 'message' => $errorMessage], 500); } - } elseif ($role === 'project_developer') { + } elseif ($role === 'project-developer') { try { $projectIds = ProjectInvite::where('email_address', $user->email_address)->pluck('project_id'); $projectUuids = Project::whereIn('id', $projectIds)->where('framework_key', 'terrafund')->pluck('uuid'); diff --git a/app/Http/Controllers/V2/User/AdminUserController.php b/app/Http/Controllers/V2/User/AdminUserController.php index 340ad9e53..2b0c0554a 100644 --- a/app/Http/Controllers/V2/User/AdminUserController.php +++ b/app/Http/Controllers/V2/User/AdminUserController.php @@ -120,7 +120,7 @@ public function update(User $user, UpdateUserRequest $request) $data = $request->all(); - if (! empty($request->get('primary_role')) && Auth::user()->hasRole('admin-super')) { + if (! empty($request->get('primary_role')) && (Auth::user()->hasRole('admin-super') || Auth::user()->role === 'admin')) { $v1User = V1User::find($user->id); $v1User->syncRoles([$request->get('primary_role')]); $user->syncRoles([$request->get('primary_role')]); @@ -136,7 +136,15 @@ public function update(User $user, UpdateUserRequest $request) break; case 'project-developer': - $data['role'] = 'user'; + $data['role'] = 'project-developer'; + + break; + case 'government': + $data['role'] = 'government'; + + break; + case 'funder': + $data['role'] = 'funder'; break; } diff --git a/app/Http/Resources/V2/User/UserResource.php b/app/Http/Resources/V2/User/UserResource.php index a11320c77..682a57246 100644 --- a/app/Http/Resources/V2/User/UserResource.php +++ b/app/Http/Resources/V2/User/UserResource.php @@ -15,6 +15,8 @@ public function toArray($request) 'user_type' => $this->role, 'job_role' => $this->job_role, 'role' => $this->primary_role ? $this->primary_role->name : '', + 'country' => $this->country, + 'program' => $this->program, 'first_name' => $this->first_name, 'last_name' => $this->last_name, diff --git a/app/Models/User.php b/app/Models/User.php index 7cec6c765..28862cf22 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -55,6 +55,8 @@ class User extends Authenticatable implements JWTSubject 'has_consented', 'whatsapp_phone', 'banners', + 'country', + 'program', ]; protected $casts = [ diff --git a/app/Models/V2/User.php b/app/Models/V2/User.php index 27a3808b0..d122fb6ab 100644 --- a/app/Models/V2/User.php +++ b/app/Models/V2/User.php @@ -67,6 +67,8 @@ class User extends Authenticatable implements JWTSubject 'has_consented', 'banners', 'api_key', + 'country', + 'program', ]; protected $casts = [ diff --git a/app/Policies/Policy.php b/app/Policies/Policy.php index fef9fcdff..43d10a6b7 100644 --- a/app/Policies/Policy.php +++ b/app/Policies/Policy.php @@ -37,6 +37,13 @@ protected function isAdmin(?UserModel $user): bool return ! $this->isGuest($user) && $user->role == 'admin'; } + protected function isNewRoleUser(?UserModel $user): bool + { + $newRoles = ['project-developer', 'funder', 'government']; + + return in_array($user->role, $newRoles); + } + protected function isServiceAccount(?UserModel $user): bool { return ! $this->isGuest($user) && $user->role == 'service'; @@ -49,7 +56,7 @@ protected function isOrphanedUser(?UserModel $user): bool protected function isVerifiedUser(?UserModel $user): bool { - return $this->isUser($user) && (bool) $user->email_address_verified_at; + return ($this->isUser($user) || $this->isNewRoleUser($user)) && (bool) $user->email_address_verified_at; } protected function isVerifiedAdmin(?UserModel $user): bool diff --git a/app/Policies/V2/Nurseries/NurseryPolicy.php b/app/Policies/V2/Nurseries/NurseryPolicy.php index bb7a96a33..55a12c542 100644 --- a/app/Policies/V2/Nurseries/NurseryPolicy.php +++ b/app/Policies/V2/Nurseries/NurseryPolicy.php @@ -20,6 +20,10 @@ public function read(?User $user, ?Nursery $nursey = null): bool return true; } + if ($this->isNewRoleUser($user)) { + return true; + } + return false; } diff --git a/app/Policies/V2/Projects/ProjectPolicy.php b/app/Policies/V2/Projects/ProjectPolicy.php index 307c5e73f..3501e302b 100644 --- a/app/Policies/V2/Projects/ProjectPolicy.php +++ b/app/Policies/V2/Projects/ProjectPolicy.php @@ -24,6 +24,10 @@ public function read(?User $user, ?Project $project = null): bool return true; } + if ($this->isNewRoleUser($user)) { + return true; + } + return false; } diff --git a/app/Policies/V2/Projects/ProjectReportPolicy.php b/app/Policies/V2/Projects/ProjectReportPolicy.php index cd83e87e4..e7a3f30fa 100644 --- a/app/Policies/V2/Projects/ProjectReportPolicy.php +++ b/app/Policies/V2/Projects/ProjectReportPolicy.php @@ -20,6 +20,10 @@ public function read(?User $user, ?ProjectReport $report = null): bool return true; } + if ($this->isNewRoleUser($user)) { + return true; + } + return false; } diff --git a/app/Policies/V2/Sites/SitePolicy.php b/app/Policies/V2/Sites/SitePolicy.php index 2b7b22a52..b2f27602c 100644 --- a/app/Policies/V2/Sites/SitePolicy.php +++ b/app/Policies/V2/Sites/SitePolicy.php @@ -20,6 +20,10 @@ public function read(?User $user, ?Site $site = null): bool return true; } + if ($this->isNewRoleUser($user)) { + return true; + } + return false; } diff --git a/app/Policies/V2/Sites/SiteReportPolicy.php b/app/Policies/V2/Sites/SiteReportPolicy.php index 74a2a2fdd..092894201 100644 --- a/app/Policies/V2/Sites/SiteReportPolicy.php +++ b/app/Policies/V2/Sites/SiteReportPolicy.php @@ -20,6 +20,10 @@ public function read(?User $user, ?SiteReport $report = null): bool return true; } + if ($this->isNewRoleUser($user)) { + return true; + } + return false; } diff --git a/app/Resources/UserResource.php b/app/Resources/UserResource.php index c3997acbd..7b13812cd 100644 --- a/app/Resources/UserResource.php +++ b/app/Resources/UserResource.php @@ -35,6 +35,8 @@ public function __construct(UserModel $user) $this->banners = $user->banners; $this->has_ppc_projects = $user->programmes->count() > 0; $this->has_terrafund_projects = $user->terrafundProgrammes->count() > 0; + $this->country = $user->country; + $this->program = $user->program; } private function getOrganisationName($user) diff --git a/app/Validators/UserValidator.php b/app/Validators/UserValidator.php index 0fd440fab..554f92f72 100644 --- a/app/Validators/UserValidator.php +++ b/app/Validators/UserValidator.php @@ -20,6 +20,9 @@ class UserValidator extends Validator 'email_address' => 'required|string|email|between:1,255|unique:users,email_address', 'password' => 'required|string|min:8|contain_upper|contain_lower|contain_number', 'job_role' => 'required|string|between:1,255', + 'country' => 'sometimes|nullable|between:1,255', + 'program' => 'sometimes|nullable|between:1,255', + 'primary_role' => 'required|string|between:1,255', 'facebook' => 'sometimes|nullable|string|soft_url|starts_with_facebook|between:1,255', 'twitter' => 'sometimes|nullable|string|soft_url|starts_with_twitter|between:1,255', 'linkedin' => 'sometimes|nullable|string|soft_url|starts_with_linkedin|between:1,255', @@ -39,6 +42,9 @@ class UserValidator extends Validator 'email_address' => 'required|string|email|exists:users,email_address', 'password' => 'required|string|min:8|contain_upper|contain_lower|contain_number', 'job_role' => 'required|string|between:1,255', + 'country' => 'sometimes|nullable|between:1,255', + 'program' => 'sometimes|nullable|between:1,255', + 'primary_role' => 'required|string|between:1,255', 'facebook' => 'sometimes|nullable|string|soft_url|starts_with_facebook|between:1,255', 'twitter' => 'sometimes|nullable|string|soft_url|starts_with_twitter|between:1,255', 'linkedin' => 'sometimes|nullable|string|soft_url|starts_with_linkedin|between:1,255', @@ -53,6 +59,9 @@ class UserValidator extends Validator 'email_address' => 'sometimes|required|string|email|between:1,255', 'password' => 'sometimes|required|string|min:10|contain_upper|contain_lower|contain_number', 'job_role' => 'sometimes|required|string|between:1,255', + 'country' => 'sometimes|nullable|between:1,255', + 'program' => 'sometimes|nullable|between:1,255', + 'primary_role' => 'required|string|between:1,255', 'facebook' => 'sometimes|present|nullable|string|soft_url|starts_with_facebook|between:1,255', 'twitter' => 'sometimes|present|nullable|string|soft_url|starts_with_twitter|between:1,255', 'linkedin' => 'sometimes|present|nullable|string|soft_url|starts_with_linkedin|between:1,255', diff --git a/app/functions.php b/app/functions.php index 9076847d6..2960817ea 100644 --- a/app/functions.php +++ b/app/functions.php @@ -167,5 +167,13 @@ function assignSpatieRole($user) break; case 'service': $user->assignRole('greenhouse-service-account'); + + break; + case 'project-developer': + case 'funder': + case 'government': + $user->assignRole($user->role); + + break; } } diff --git a/config/wri/permissions.php b/config/wri/permissions.php index 3e3f29c99..a8c9e8fa9 100644 --- a/config/wri/permissions.php +++ b/config/wri/permissions.php @@ -13,4 +13,5 @@ 'projects-read' => 'Read all projects', 'polygons-manage' => 'Manage polygons', 'media-manage' => 'Manage media', + 'view-dashboard' => 'View dashboard', ]; diff --git a/database/migrations/2024_06_14_145957_add_user_geospatial_fields.php b/database/migrations/2024_06_14_145957_add_user_geospatial_fields.php new file mode 100644 index 000000000..81cb2732b --- /dev/null +++ b/database/migrations/2024_06_14_145957_add_user_geospatial_fields.php @@ -0,0 +1,29 @@ +string('program')->nullable(); + $table->string('country')->nullable(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('users', function (Blueprint $table) { + $table->dropColumn('program'); + $table->dropColumn('country'); + }); + } +}; diff --git a/database/migrations/2024_06_19_135015_alter_user_table_column_role.php b/database/migrations/2024_06_19_135015_alter_user_table_column_role.php new file mode 100644 index 000000000..2a8049295 --- /dev/null +++ b/database/migrations/2024_06_19_135015_alter_user_table_column_role.php @@ -0,0 +1,21 @@ + Date: Thu, 20 Jun 2024 16:03:02 -0400 Subject: [PATCH 098/164] [TM-848] add memory limit to upload big files --- .../V2/Terrafund/TerrafundCreateGeometryController.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php b/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php index a8ad2926a..1b7b35424 100644 --- a/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php +++ b/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php @@ -133,6 +133,7 @@ public function getGeometryProperties(string $geojsonFilename) public function uploadKMLFile(Request $request) { ini_set('max_execution_time', '-1'); + ini_set('memory_limit', '-1'); if ($request->hasFile('file')) { $site_id = $request->input('uuid'); $kmlfile = $request->file('file'); @@ -180,6 +181,7 @@ private function findShpFile($directory) public function uploadShapefile(Request $request) { ini_set('max_execution_time', '-1'); + ini_set('memory_limit', '-1'); Log::debug('Upload Shape file data', ['request' => $request->all()]); if ($request->hasFile('file')) { $site_id = $request->input('uuid'); @@ -327,6 +329,7 @@ public function getCriteriaData(Request $request) public function uploadGeoJSONFile(Request $request) { ini_set('max_execution_time', '-1'); + ini_set('memory_limit', '-1'); if ($request->hasFile('file')) { $site_id = $request->input('uuid'); $file = $request->file('file'); From 3156162ffc9fc00d0449183393d16597de60b535 Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Thu, 20 Jun 2024 15:07:50 -0700 Subject: [PATCH 099/164] [TM-975] Add three new fields to project report. --- config/wri/linked-fields.php | 3 ++ ...06_20_215908_add_project_report_fields.php | 31 +++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 database/migrations/2024_06_20_215908_add_project_report_fields.php diff --git a/config/wri/linked-fields.php b/config/wri/linked-fields.php index cd25da2c6..13ddbdf54 100644 --- a/config/wri/linked-fields.php +++ b/config/wri/linked-fields.php @@ -431,6 +431,9 @@ // TODO (TM-912) Deprecated, to be removed. 'pro-rep-paid-other-activity-description' => ['property' => 'paid_other_activity_description', 'label' => 'Paid Other Activities Description', 'input_type' => 'long-text'], 'pro-rep-other-workdays-description' => ['property' => 'other_workdays_description', 'label' => 'Other Activities Description', 'input_type' => 'long-text'], + 'pro-rep-local-engagement-description' => ['property' => 'local_engagement_description', 'label' => 'Response to Local Priorities', 'input_type' => 'long-text'], + 'pro-rep-indirect-beneficiaries' => ['property' => 'indirect_beneficiaries', 'label' => 'Number of Indirect Beneficiaries', 'input_type' => 'number'], + 'pro-rep-indirect-beneficiaries-description' => ['property' => 'indirect_beneficiaries_description', 'label' => 'Indirect Beneficiaries Description', 'input_type' => 'long-text'], ], 'relations' => [ 'pro-rep-rel-tree-species' => [ diff --git a/database/migrations/2024_06_20_215908_add_project_report_fields.php b/database/migrations/2024_06_20_215908_add_project_report_fields.php new file mode 100644 index 000000000..4cb1fc0ef --- /dev/null +++ b/database/migrations/2024_06_20_215908_add_project_report_fields.php @@ -0,0 +1,31 @@ +text('local_engagement_description')->nullable(); + $table->integer('indirect_beneficiaries')->nullable(); + $table->text('indirect_beneficiaries_description')->nullable(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('v2_project_reports', function (Blueprint $table) { + $table->dropColumn('local_engagement_description'); + $table->dropColumn('indirect_beneficiaries'); + $table->dropColumn('indirect_beneficiaries_description'); + }); + } +}; From a03eb9c77323d5797aaa3add72685c76b42525be Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Fri, 21 Jun 2024 11:42:30 -0400 Subject: [PATCH 100/164] [TM-847] convert criteriaList to array --- .../V2/Auditable/UpdateAuditableStatusController.php | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/app/Http/Controllers/V2/Auditable/UpdateAuditableStatusController.php b/app/Http/Controllers/V2/Auditable/UpdateAuditableStatusController.php index 96e1c0d4d..b811d70b0 100644 --- a/app/Http/Controllers/V2/Auditable/UpdateAuditableStatusController.php +++ b/app/Http/Controllers/V2/Auditable/UpdateAuditableStatusController.php @@ -78,13 +78,16 @@ private function canChangeSitePolygonStatusTo($sitePolygon, $status) return false; } - $criteriaList = array_filter($criteriaList, function ($criteria) { - return $criteria['criteria_id'] !== PolygonService::ESTIMATED_AREA_CRITERIA_ID; + $criteriaArray = $criteriaList->toArray(); + + $criteriaArray = array_filter($criteriaArray, function ($criteria) { + return $criteria['criteria_id'] !== PolygonService::ESTIMATED_AREA_CRITERIA_ID && + $criteria['criteria_id'] !== PolygonService::DATA_CRITERIA_ID; }); $canApprove = true; - foreach ($criteriaList as $criteria) { - if (! $criteria['valid']) { + foreach ($criteriaArray as $criteria) { + if (!$criteria['valid']) { $canApprove = false; break; From 149df281751d54a9c0c9513636c0b5e544086246 Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Fri, 21 Jun 2024 11:49:51 -0400 Subject: [PATCH 101/164] [TM-847] make lint fix --- .../V2/Auditable/UpdateAuditableStatusController.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/V2/Auditable/UpdateAuditableStatusController.php b/app/Http/Controllers/V2/Auditable/UpdateAuditableStatusController.php index b811d70b0..63f1287bb 100644 --- a/app/Http/Controllers/V2/Auditable/UpdateAuditableStatusController.php +++ b/app/Http/Controllers/V2/Auditable/UpdateAuditableStatusController.php @@ -82,12 +82,12 @@ private function canChangeSitePolygonStatusTo($sitePolygon, $status) $criteriaArray = array_filter($criteriaArray, function ($criteria) { return $criteria['criteria_id'] !== PolygonService::ESTIMATED_AREA_CRITERIA_ID && - $criteria['criteria_id'] !== PolygonService::DATA_CRITERIA_ID; + $criteria['criteria_id'] !== PolygonService::DATA_CRITERIA_ID; }); $canApprove = true; foreach ($criteriaArray as $criteria) { - if (!$criteria['valid']) { + if (! $criteria['valid']) { $canApprove = false; break; From e1f771ca066bb131906dc65fa9977879173227ca Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Fri, 21 Jun 2024 11:24:10 -0700 Subject: [PATCH 102/164] [TM-882] Dump only the values on a dry run; the key is superfluous. --- app/Console/Commands/BulkWorkdayImport.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Console/Commands/BulkWorkdayImport.php b/app/Console/Commands/BulkWorkdayImport.php index 77d87d7af..ae9968349 100644 --- a/app/Console/Commands/BulkWorkdayImport.php +++ b/app/Console/Commands/BulkWorkdayImport.php @@ -145,7 +145,7 @@ public function handle(): void fclose($fileHandle); if ($this->option('dry-run')) { - $this->info(json_encode($rows, JSON_PRETTY_PRINT) . "\n\n"); + $this->info(json_encode($rows->values(), JSON_PRETTY_PRINT) . "\n\n"); } else { // A separate loop so we can validate as much input as possible before we start persisting any records foreach ($rows as $reportData) { From 2aa45f706fb00d8f86fe0eadb55ad852c12aace0 Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Fri, 21 Jun 2024 14:01:40 -0700 Subject: [PATCH 103/164] [TM-882] Include an extra warning when gender is not the largest. --- app/Console/Commands/BulkWorkdayImport.php | 29 ++++++++++++---------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/app/Console/Commands/BulkWorkdayImport.php b/app/Console/Commands/BulkWorkdayImport.php index ae9968349..ebfd4106f 100644 --- a/app/Console/Commands/BulkWorkdayImport.php +++ b/app/Console/Commands/BulkWorkdayImport.php @@ -129,13 +129,13 @@ public function handle(): void } if (! empty($parseErrors)) { - $this->warn("Errors encountered during parsing CSV Rows:\n"); + $this->warn("Errors and warnings encountered during parsing CSV Rows:\n"); foreach ($parseErrors as $error) { $this->logException($error); } - $firstError = collect($parseErrors)->first(fn ($e) => $e->level == ExceptionLevel::Error); - if (! empty($firstError)) { + $shouldAbort = ! empty(collect($parseErrors)->first(fn ($e) => $e->level == ExceptionLevel::Error)); + if ($shouldAbort) { $this->error("Parsing aborted\n"); exit(1); } @@ -292,16 +292,19 @@ protected function parseRow($csvRow): ?array } if (collect($totals)->values()->unique()->count() > 1) { - $this->assert( - collect($totals)->values()->unique()->count() == 1, - "Demographics for collection are unbalanced\n" . - json_encode([ - 'submission_id' => $submissionId, - 'collection' => $collection, - 'totals' => $totals, - ], JSON_PRETTY_PRINT) . "\n", - ExceptionLevel::Warning - ); + $message = "Demographics for collection are unbalanced\n"; + + if ($totals['gender'] < $totals['age'] || $totals['gender'] < $totals['ethnicity']) { + $message .= "GENDER IS NOT THE LARGEST VALUE IN THIS COLLECTION\n"; + } + + $message .= json_encode([ + 'submission_id' => $submissionId, + 'collection' => $collection, + 'totals' => $totals, + ], JSON_PRETTY_PRINT) . "\n"; + + $this->abort($message, ExceptionLevel::Warning); } } From 99f93730a6c3d84686c11908ad7644dfffedf55d Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Fri, 21 Jun 2024 14:52:07 -0700 Subject: [PATCH 104/164] [TM-971] Add a set of new fields for project establishment. --- .../CreateProjectWithFormController.php | 5 ++ app/Models/V2/Projects/Project.php | 5 ++ config/wri/linked-fields.php | 10 ++++ ...21015_add_fields_project_establishment.php | 47 +++++++++++++++++++ 4 files changed, 67 insertions(+) create mode 100644 database/migrations/2024_06_20_221015_add_fields_project_establishment.php diff --git a/app/Http/Controllers/V2/Projects/CreateProjectWithFormController.php b/app/Http/Controllers/V2/Projects/CreateProjectWithFormController.php index 6f9580fd0..00af8ff4a 100644 --- a/app/Http/Controllers/V2/Projects/CreateProjectWithFormController.php +++ b/app/Http/Controllers/V2/Projects/CreateProjectWithFormController.php @@ -90,6 +90,11 @@ public function __invoke(Request $request): EntityWithSchemaResource 'proj_boundary' => $projectPitch->proj_boundary, 'states' => $projectPitch->states, 'proj_impact_biodiv' => $projectPitch->biodiversity_impact, + 'water_source' => $projectPitch->water_source, + 'baseline_biodiversity' => $projectPitch->baseline_biodiversity, + 'goal_trees_restored_planting' => $projectPitch->goal_trees_restored_planting, + 'goal_trees_restored_anr' => $projectPitch->goal_trees_restored_anr, + 'goal_trees_restored_direct_seeding' => $projectPitch->goal_trees_restored_direct_seeding, ]); foreach ($projectPitch->treeSpecies()->get() as $treeSpecies) { diff --git a/app/Models/V2/Projects/Project.php b/app/Models/V2/Projects/Project.php index da6af51cc..f390ea725 100644 --- a/app/Models/V2/Projects/Project.php +++ b/app/Models/V2/Projects/Project.php @@ -139,6 +139,11 @@ class Project extends Model implements MediaModel, AuditableContract, EntityMode 'proj_boundary', 'states', 'proj_impact_biodiv', + 'water_source', + 'baseline_biodiversity', + 'goal_trees_restored_planting', + 'goal_trees_restored_anr', + 'goal_trees_restored_direct_seeding', ]; public $fileConfiguration = [ diff --git a/config/wri/linked-fields.php b/config/wri/linked-fields.php index cd25da2c6..ca3e9c328 100644 --- a/config/wri/linked-fields.php +++ b/config/wri/linked-fields.php @@ -258,6 +258,10 @@ 'pro-soil-health' => ['property' => 'soil_health', 'label' => 'Soil Health (project)', 'input_type' => 'long-text'], 'pro-pit-land-use-types' => ['property' => 'land_use_types', 'label' => 'Land use types', 'input_type' => 'select-image', 'multichoice' => true, 'option_list_key' => 'restoration-systems'], 'pro-pit-restoration_strategy' => ['property' => 'restoration_strategy', 'label' => 'Restoration strategy', 'input_type' => 'select-image', 'multichoice' => true, 'option_list_key' => 'restoration-practices'], + 'pro-pit-baseline-biodiversity' => ['property' => 'baseline_biodiversity', 'label' => 'Baseline Biodiversity Conditions', 'input_type' => 'long-text'], + 'pro-pit-goal-trees-restored-planting' => ['property' => 'goal_trees_restored_planting', 'label' => 'Trees Restored Goal - Planting', 'input_type' => 'number'], + 'pro-pit-goal-trees-restored-anr' => ['property' => 'goal_trees_restored_anr', 'label' => 'Trees Restored Goal - ANR', 'input_type' => 'number'], + 'pro-pit-goal-trees-restored-direct-seeding' => ['property' => 'goal_trees_restored_direct_seeding', 'label' => 'Trees Restored Goal - Direct Seeding', 'input_type' => 'number'], ], 'file-collections' => [ 'pro-pit-fcol-cover' => ['property' => 'cover', 'label' => 'Cover Image', 'input_type' => 'file', 'multichoice' => false], @@ -333,6 +337,12 @@ 'pro-proj-boundary' => ['property' => 'proj_boundary', 'label' => 'Project Boundary', 'input_type' => 'mapInput'], 'pro-states' => ['property' => 'states', 'label' => 'States', 'input_type' => 'select', 'multichoice' => true, 'option_list_key' => 'states'], 'pro-impact-biodiv' => ['property' => 'proj_impact_biodiv', 'label' => 'Biodiversity Impact (project)', 'input_type' => 'long-text'], + // This is breaking convention for linked field keys because project pitch was already using pro-water-source. + 'project-water-source' => ['property' => 'water_source', 'label' => 'Water Source', 'input_type' => 'long-text'], + 'pro-baseline-biodiversity' => ['property' => 'baseline_biodiversity', 'label' => 'Baseline Biodiversity Conditions', 'input_type' => 'long-text'], + 'pro-goal-trees-restored-planting' => ['property' => 'goal_trees_restored_planting', 'label' => 'Trees Restored Goal - Planting', 'input_type' => 'number'], + 'pro-goal-trees-restored-anr' => ['property' => 'goal_trees_restored_anr', 'label' => 'Trees Restored Goal - ANR', 'input_type' => 'number'], + 'pro-goal-trees-restored-direct-seeding' => ['property' => 'goal_trees_restored_direct_seeding', 'label' => 'Trees Restored Goal - Direct Seeding', 'input_type' => 'number'], ], 'file-collections' => [ 'pro-col-media' => ['property' => 'media', 'label' => 'Media', 'input_type' => 'file', 'multichoice' => true], diff --git a/database/migrations/2024_06_20_221015_add_fields_project_establishment.php b/database/migrations/2024_06_20_221015_add_fields_project_establishment.php new file mode 100644 index 000000000..3e26d2523 --- /dev/null +++ b/database/migrations/2024_06_20_221015_add_fields_project_establishment.php @@ -0,0 +1,47 @@ +text('water_source')->nullable(); + $table->text('baseline_biodiversity')->nullable(); + $table->integer('goal_trees_restored_planting')->nullable(); + $table->integer('goal_trees_restored_anr')->nullable(); + $table->integer('goal_trees_restored_direct_seeding')->nullable(); + }); + Schema::table('project_pitches', function (Blueprint $table) { + $table->text('baseline_biodiversity')->nullable(); + $table->integer('goal_trees_restored_planting')->nullable(); + $table->integer('goal_trees_restored_anr')->nullable(); + $table->integer('goal_trees_restored_direct_seeding')->nullable(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('v2_projects', function (Blueprint $table) { + $table->dropColumn('water_source'); + $table->dropColumn('baseline_biodiversity'); + $table->dropColumn('goal_trees_restored_planting'); + $table->dropColumn('goal_trees_restored_anr'); + $table->dropColumn('goal_trees_restored_direct_seeding'); + }); + Schema::table('project_pitches', function (Blueprint $table) { + $table->dropColumn('baseline_biodiversity'); + $table->dropColumn('goal_trees_restored_planting'); + $table->dropColumn('goal_trees_restored_anr'); + $table->dropColumn('goal_trees_restored_direct_seeding'); + }); + } +}; From a348189afc2ddd0fd1fc2abea7768af30b234824 Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Fri, 21 Jun 2024 15:07:03 -0700 Subject: [PATCH 105/164] [TM-989] Include update request status in entity exports --- app/Exports/V2/EntityExport.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/Exports/V2/EntityExport.php b/app/Exports/V2/EntityExport.php index 7481c9a8a..6a5055da6 100644 --- a/app/Exports/V2/EntityExport.php +++ b/app/Exports/V2/EntityExport.php @@ -86,6 +86,7 @@ protected function getAttachedMappedForEntity($entity): array $organisation->name ?? null, $entity->project->name ?? null, $entity->status ?? null, + $entity->update_request_status ?? null, $entity->due_at ?? null, ]); @@ -134,6 +135,7 @@ protected function getAttachedHeadingsForEntity(): array 'organization-name', 'project_name', 'status', + 'update_request_status', 'due_date', ]); From caf08172281b6ef66427b7394a288da624f4463c Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Fri, 21 Jun 2024 15:16:55 -0700 Subject: [PATCH 106/164] [TM-998] Remove deprecated endpoint. --- .../V2/Geometry/GeometryController.php | 18 --- .../Sites/post-v2-sites-uuid-geometry.yml | 25 ----- openapi-src/V2/paths/_index.yml | 3 - resources/docs/swagger-v2.yml | 104 ------------------ routes/api_v2.php | 2 - 5 files changed, 152 deletions(-) delete mode 100644 openapi-src/V2/paths/Sites/post-v2-sites-uuid-geometry.yml diff --git a/app/Http/Controllers/V2/Geometry/GeometryController.php b/app/Http/Controllers/V2/Geometry/GeometryController.php index 664d85d79..db1a7e3f7 100644 --- a/app/Http/Controllers/V2/Geometry/GeometryController.php +++ b/app/Http/Controllers/V2/Geometry/GeometryController.php @@ -38,24 +38,6 @@ class GeometryController extends Controller 'DATA', ]; - /** - * @throws AuthorizationException - * @deprecated Use POST /api/v2/geometry (include site id in the properties of each feature) - */ - public function storeSiteGeometry(Request $request, Site $site): JsonResponse - { - $this->authorize('uploadPolygons', $site); - - $request->validate([ - 'geometries' => 'required|array', - ]); - - $geometries = $request->input('geometries'); - data_set($geometries, '*.features.*.properties.site_id', $site->uuid); - - return response()->json($this->storeAndValidateGeometries($geometries), 201); - } - /** * @throws AuthorizationException * @throws ValidationException diff --git a/openapi-src/V2/paths/Sites/post-v2-sites-uuid-geometry.yml b/openapi-src/V2/paths/Sites/post-v2-sites-uuid-geometry.yml deleted file mode 100644 index c2cb3fe98..000000000 --- a/openapi-src/V2/paths/Sites/post-v2-sites-uuid-geometry.yml +++ /dev/null @@ -1,25 +0,0 @@ -summary: Upload bulk geometry to a specific site. -operationId: post-v2-sites-uuid-geometry -tags: - - V2 Sites -deprecated: true -description: Use POST /api/v2/geometry instead (and include the site ID in the polygon properties) -parameters: - - type: string - name: UUID - in: path - required: true - - in: body - name: body - schema: - type: object - properties: - geometries: - type: array - items: - $ref: '../../definitions/_index.yml#/GeoJSON' -responses: - '201': - description: Created - schema: - $ref: '../../definitions/_index.yml#/GeometryPost' diff --git a/openapi-src/V2/paths/_index.yml b/openapi-src/V2/paths/_index.yml index 9f2997c7a..c4d497c8a 100644 --- a/openapi-src/V2/paths/_index.yml +++ b/openapi-src/V2/paths/_index.yml @@ -2481,9 +2481,6 @@ $ref: './Sites/delete-v2-sites-uuid.yml' get: $ref: './Sites/get-v2-sites-uuid.yml' -/v2/sites/{UUID}/geometry: - post: - $ref: './Sites/post-v2-sites-uuid-geometry.yml' /v2/site-monitorings/{UUID}: get: $ref: './Sites/Monitoring/get-v2-site-monitorings-uuid.yml' diff --git a/resources/docs/swagger-v2.yml b/resources/docs/swagger-v2.yml index 26e2e0247..acff16d29 100644 --- a/resources/docs/swagger-v2.yml +++ b/resources/docs/swagger-v2.yml @@ -94188,110 +94188,6 @@ paths: description: 'this is a list of key value pairs eg slug: name ' items: type: string - '/v2/sites/{UUID}/geometry': - post: - summary: Upload bulk geometry to a specific site. - operationId: post-v2-sites-uuid-geometry - tags: - - V2 Sites - deprecated: true - description: Use POST /api/v2/geometry instead (and include the site ID in the polygon properties) - parameters: - - type: string - name: UUID - in: path - required: true - - in: body - name: body - schema: - type: object - properties: - geometries: - type: array - items: - title: GeoJSON - type: object - properties: - type: - type: string - enum: - - FeatureCollection - features: - type: array - items: - type: object - properties: - type: - type: string - enum: - - Feature - properties: - type: object - properties: - poly_name: - type: string - plantstart: - type: string - format: date - plantend: - type: string - format: date - practice: - type: string - target_sys: - type: string - distr: - type: string - num_trees: - type: number - site_id: - type: string - geometry: - type: object - properties: - type: - type: string - enum: - - Polygon - - Point - coordinates: - type: array - responses: - '201': - description: Created - schema: - title: SiteGeometryPost - type: object - properties: - polygon_uuids: - type: array - items: - type: string - description: The UUIDs generated by the system for the uploaded polygons. They are in the same order as the polygons in the request payload. - errors: - type: object - description: Mapping of geometry UUID to the errors associated with the geometry. The geometry was saved in the DB and must be updated instead of created once the issues are resolved. - additionalProperties: - type: array - items: - type: object - properties: - key: - type: string - enum: - - OVERLAPPING_POLYGON - - SELF_INTERSECTION - - COORDINATE_SYSTEM - - SIZE_LIMIT - - WITHIN_COUNTRY - - SPIKE - - GEOMETRY_TYPE - - TOTAL_AREA_EXPECTED - - TABLE_SCHEMA - - DATA_COMPLETED - message: - type: string - description: Human readable string in English to describe the error. '/v2/site-monitorings/{UUID}': get: summary: View a specific site monitoring diff --git a/routes/api_v2.php b/routes/api_v2.php index d5fade2db..132bab2de 100644 --- a/routes/api_v2.php +++ b/routes/api_v2.php @@ -580,8 +580,6 @@ Route::get('/image/locations', SiteImageLocationsController::class); Route::delete('/', SoftDeleteSiteController::class); Route::get('/export', ExportAllSiteDataAsProjectDeveloperController::class); - // deprecated, use POST api/v2/geometry instead (include site_id in the geometry's properties - Route::post('/geometry', [GeometryController::class, 'storeSiteGeometry']); Route::get('/polygon', [SitePolygonDataController::class, 'getSitePolygonData']); Route::get('/bbox', [SitePolygonDataController::class, 'getBboxOfCompleteSite']); Route::get('/check-approve', SiteCheckApproveController::class); From aa1913af3bd26d76fe4c66fffc517afa69594047 Mon Sep 17 00:00:00 2001 From: Limber Mamani <154026979+LimberHope@users.noreply.github.com> Date: Mon, 24 Jun 2024 09:22:50 -0400 Subject: [PATCH 107/164] [TM-984] fix: change logic to formOptionsLabelController reponse (#295) * [TM-984] fix: change logic to formOptionsLabelController reponse * fix lint --- .../V2/Forms/FormOptionsLabelController.php | 64 +++++++++++++++---- .../V2/Forms/FormQuestionOptionResource.php | 11 +++- 2 files changed, 63 insertions(+), 12 deletions(-) diff --git a/app/Http/Controllers/V2/Forms/FormOptionsLabelController.php b/app/Http/Controllers/V2/Forms/FormOptionsLabelController.php index 99eb11f53..a9be42f89 100644 --- a/app/Http/Controllers/V2/Forms/FormOptionsLabelController.php +++ b/app/Http/Controllers/V2/Forms/FormOptionsLabelController.php @@ -3,10 +3,13 @@ namespace App\Http\Controllers\V2\Forms; use App\Http\Controllers\Controller; +use App\Http\Resources\V2\Forms\FormQuestionOptionResource; use App\Models\V2\Forms\Form; use App\Models\V2\Forms\FormOptionListOption; +use App\Models\V2\Forms\FormQuestionOption; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; +use Illuminate\Support\Collection; class FormOptionsLabelController extends Controller { @@ -15,19 +18,17 @@ public function __invoke(Request $request): JsonResponse $this->authorize('listLinkedFields', Form::class); if (! empty($request->query('keys'))) { - $collection = FormOptionListOption::whereIn('slug', explode(',', $request->query('keys')))->get(); - - $list = []; - foreach ($collection as $item) { - $list[] = [ - 'slug' => $item->slug, - 'label' => $item->translated_label, - 'image_url' => $item->image_url, - ]; + $keys = explode(',', $request->query('keys')); + $collection = $this->getFormOptionListOptions($keys); + $missingSlugs = $this->getMissingSlugs($keys, $collection); + + if (! empty($missingSlugs)) { + $additionalCollection = $this->getAdditionalFormQuestionOptions($missingSlugs); + $collection = $this->mergeCollections($collection, $additionalCollection); } - if (count($list) > 0) { - return new JsonResponse(['data' => $list], 200); + if (count($collection) > 0) { + return new JsonResponse(['data' => $collection->values()->toArray()], 200); } return new JsonResponse(['data' => []], 200); @@ -35,4 +36,45 @@ public function __invoke(Request $request): JsonResponse return new JsonResponse('No keys provided.', 406); } + + public function getFormOptionListOptions(array $keys): Collection + { + $options = FormOptionListOption::whereIn('slug', $keys)->get(); + if ($options->isEmpty()) { + return collect([]); + } + + return $options->map(function ($item) { + return [ + 'slug' => $item->slug, + 'label' => $item->translated_label, + 'image_url' => $item->image_url, + ]; + })->unique('slug'); + } + + public function getMissingSlugs(array $keys, Collection $collection): array + { + $foundSlugs = $collection->pluck('slug')->toArray(); + + return array_diff($keys, $foundSlugs); + } + + public function getAdditionalFormQuestionOptions(array $missingSlugs): Collection + { + $formQuestionOptions = FormQuestionOption::whereIn('slug', $missingSlugs)->get(); + + return FormQuestionOptionResource::collection($formQuestionOptions)->map(function ($resource) { + return [ + 'slug' => $resource->slug, + 'label' => $resource->label, + 'image_url' => $resource->image_url, + ]; + }); + } + + public function mergeCollections(Collection $collection, Collection $additionalCollection): Collection + { + return $collection->merge($additionalCollection)->unique('slug'); + } } diff --git a/app/Http/Resources/V2/Forms/FormQuestionOptionResource.php b/app/Http/Resources/V2/Forms/FormQuestionOptionResource.php index 6ad9baa29..43bb827d5 100644 --- a/app/Http/Resources/V2/Forms/FormQuestionOptionResource.php +++ b/app/Http/Resources/V2/Forms/FormQuestionOptionResource.php @@ -12,13 +12,22 @@ class FormQuestionOptionResource extends JsonResource */ public function toArray($request) { + $imageUrl = null; + + if (! empty($this->image_url)) { + $imageUrl = url($this->image_url); + } elseif (! empty($this->getFirstMediaUrl('image'))) { + $imageUrl = url($this->getFirstMediaUrl('image')); + } + $data = [ + 'id' => $this->id, 'uuid' => $this->uuid, 'slug' => $this->slug, 'form_question_id' => $this->form_question_id, 'label' => $this->translated_label, 'order' => $this->order, - 'image_url' => ! empty($this->image_url) ? url($this->image_url) : null, + 'image_url' => $imageUrl, ]; return $this->appendFilesToResource($data); From 6077b5ab375d3fa6c5f28277577c1e5263a472e7 Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Mon, 24 Jun 2024 22:57:05 -0700 Subject: [PATCH 108/164] [TM-915] Create the user record when a non-existent users is added as a monitoring partner. --- app/Http/Controllers/AuthController.php | 7 ++++++ .../CreateProjectInviteController.php | 25 ++++++++++++++++++- app/Mail/V2ProjectInviteReceived.php | 6 ++--- .../CreateProjectInviteControllerTest.php | 1 - 4 files changed, 34 insertions(+), 5 deletions(-) diff --git a/app/Http/Controllers/AuthController.php b/app/Http/Controllers/AuthController.php index fb460ea05..03e769ec3 100644 --- a/app/Http/Controllers/AuthController.php +++ b/app/Http/Controllers/AuthController.php @@ -157,6 +157,13 @@ public function changeAction(ChangePasswordRequest $request): JsonResponse throw new SamePasswordException(); } $user->password = $data['password']; + + if (empty($user->email_address_verified_at)) { + // If they haven't verified yet, count this as a verification since they had to receive the email + // to complete the password reset action. + $user->email_address_verified_at = new DateTime('now', new DateTimeZone('UTC')); + } + $user->saveOrFail(); $passwordReset->delete(); diff --git a/app/Http/Controllers/V2/Projects/CreateProjectInviteController.php b/app/Http/Controllers/V2/Projects/CreateProjectInviteController.php index d3b29dbec..b8f3f0be3 100644 --- a/app/Http/Controllers/V2/Projects/CreateProjectInviteController.php +++ b/app/Http/Controllers/V2/Projects/CreateProjectInviteController.php @@ -17,6 +17,8 @@ class CreateProjectInviteController extends Controller { + private const PASSWORD_KEYSPACE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()'; + public function __invoke(CreateProjectInviteRequest $request, Project $project): ProjectInviteResource { $this->authorize('inviteUser', $project); @@ -41,6 +43,16 @@ public function __invoke(CreateProjectInviteRequest $request, Project $project): } Mail::to($data['email_address'])->queue(new V2ProjectMonitoringNotification($project->name, $url)); } else { + $user = User::create([ + 'email_address' => $data['email_address'], + // Accounts need to have a password assigned in order to go through the password reset flow. + 'password' => $this->generateRandomPassword(), + 'role' => 'user', + ]); + $user->assignRole('project-developer'); + $user->refresh(); + assignSpatieRole($user); + $organisation = Organisation::where('id', $project->organisation_id)->first(); $projectInvite = $project->invites()->create($data); Mail::to($data['email_address'])->queue(new V2ProjectInviteReceived($project->name, $organisation->name, $url)); @@ -53,8 +65,19 @@ private function generateUniqueToken(): string { do { $token = Str::random(64); - } while (ProjectInvite::whereToken($token)->first()); + } while (ProjectInvite::whereToken($token)->exists()); return $token; } + + private function generateRandomPassword(): string + { + $pieces = []; + $max = mb_strlen(self::PASSWORD_KEYSPACE, '8bit') - 1; + for ($i = 0; $i < 64; $i++) { + $pieces [] = self::PASSWORD_KEYSPACE[random_int(0, $max)]; + } + + return implode('', $pieces); + } } diff --git a/app/Mail/V2ProjectInviteReceived.php b/app/Mail/V2ProjectInviteReceived.php index 805342b52..cd5a5273a 100644 --- a/app/Mail/V2ProjectInviteReceived.php +++ b/app/Mail/V2ProjectInviteReceived.php @@ -9,10 +9,10 @@ public function __construct(String $name, String $nameOrganisation, String $call $this->subject = 'You have been invited to join TerraMatch'; $this->title = 'You have been invited to join TerraMatch'; $this->body = - $nameOrganisation .'has invited you to join TerraMatch as a monitoring - partner to '. e($name) .'. Create an account today to see the project’s + $nameOrganisation .' has invited you to join TerraMatch as a monitoring + partner to '. e($name) .'. Set an account password today to see the project’s progress and access their latest reports.

- Create an Account Here.

'; + Reset your password Here.

'; $this->link = $callbackUrl ? $callbackUrl . '' : ''; diff --git a/tests/V2/Projects/CreateProjectInviteControllerTest.php b/tests/V2/Projects/CreateProjectInviteControllerTest.php index 727972d55..c925c4bf4 100644 --- a/tests/V2/Projects/CreateProjectInviteControllerTest.php +++ b/tests/V2/Projects/CreateProjectInviteControllerTest.php @@ -79,7 +79,6 @@ public function test_it_creates_project_invitations_for_existing_users(string $p 'project_id' => $project->id, 'email_address' => $projectInvite->email_address, 'token' => $projectInvite->token, - 'accepted_at' => null, ]); $emailBody = 'You have been sent an invite to join ' . e($project->name) . '.

' . From dd2a991152a6351e2c85ace275990168577c1a48 Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Tue, 25 Jun 2024 11:28:20 -0400 Subject: [PATCH 109/164] [TM-1000] add site name to get polygon data function --- .../TerrafundEditGeometryController.php | 70 +++++++++++-------- .../get-api-v2-terrafund-polygon-uuid.yml | 2 + resources/docs/swagger-v2.yml | 2 + 3 files changed, 45 insertions(+), 29 deletions(-) diff --git a/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php b/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php index 88bcbfabc..ff524b151 100644 --- a/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php +++ b/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php @@ -24,7 +24,19 @@ public function getSitePolygonData(string $uuid) return response()->json(['message' => 'No site polygons found for the given UUID.'], 404); } - return response()->json(['site_polygon' => $sitePolygon]); + $sitePolygonArray = $sitePolygon->toArray(); + + if ($sitePolygon->site) { + $siteName = $sitePolygon->site->name; + $sitePolygonArray['site_name'] = $siteName; + + unset($sitePolygonArray['site']); + } + + return response()->json(['site_polygon' => $sitePolygonArray]); + + } catch (\Illuminate\Database\Eloquent\ModelNotFoundException $e) { + return response()->json(['message' => 'Site polygon not found.'], 404); } catch (\Exception $e) { return response()->json(['message' => $e->getMessage()], 500); } @@ -105,12 +117,12 @@ public function deletePolygonAndSitePolygon(string $uuid) { try { $polygonGeometry = PolygonGeometry::where('uuid', $uuid)->first(); - if (! $polygonGeometry) { + if (!$polygonGeometry) { return response()->json(['message' => 'No polygon geometry found for the given UUID.'], 404); } $sitePolygon = SitePolygon::where('poly_id', $uuid)->first(); $project = $sitePolygon->project; - if (! $project) { + if (!$project) { return response()->json(['message' => 'No project found for the given UUID.'], 404); } if ($sitePolygon) { @@ -137,7 +149,7 @@ public function updateGeometry(string $uuid, Request $request) Log::info("Updating geometry for polygon with UUID: $uuid"); $polygonGeometry = PolygonGeometry::where('uuid', $uuid)->first(); - if (! $polygonGeometry) { + if (!$polygonGeometry) { return response()->json(['message' => 'No polygon geometry found for the given UUID.'], 404); } $geometry = json_decode($request->input('geometry')); @@ -156,7 +168,7 @@ public function updateGeometry(string $uuid, Request $request) public function getPolygonGeojson(string $uuid) { $geometryQuery = PolygonGeometry::isUuid($uuid); - if (! $geometryQuery->exists()) { + if (!$geometryQuery->exists()) { return response()->json(['message' => 'No polygon geometry found for the given UUID.'], 404); } @@ -169,18 +181,18 @@ public function updateSitePolygon(string $uuid, Request $request) { try { $sitePolygon = SitePolygon::where('uuid', $uuid)->first(); - if (! $sitePolygon) { + if (!$sitePolygon) { return response()->json(['message' => 'No site polygons found for the given UUID.'], 404); } $validatedData = $request->validate([ - 'poly_name' => 'nullable|string', - 'plantstart' => 'nullable|date', - 'plantend' => 'nullable|date', - 'practice' => 'nullable|string', - 'distr' => 'nullable|string', - 'num_trees' => 'nullable|integer', - 'calc_area' => 'nullable|numeric', - 'target_sys' => 'nullable|string', + 'poly_name' => 'nullable|string', + 'plantstart' => 'nullable|date', + 'plantend' => 'nullable|date', + 'practice' => 'nullable|string', + 'distr' => 'nullable|string', + 'num_trees' => 'nullable|integer', + 'calc_area' => 'nullable|numeric', + 'target_sys' => 'nullable|string', ]); $sitePolygon->update($validatedData); @@ -197,28 +209,28 @@ public function createSitePolygon(string $uuid, string $siteUuid, Request $reque try { if ($request->getContent() === '{}') { $validatedData = [ - 'poly_name' => null, - 'plantstart' => null, - 'plantend' => null, - 'practice' => null, - 'distr' => null, - 'num_trees' => null, - 'target_sys' => null, + 'poly_name' => null, + 'plantstart' => null, + 'plantend' => null, + 'practice' => null, + 'distr' => null, + 'num_trees' => null, + 'target_sys' => null, ]; } else { $validatedData = $request->validate([ - 'poly_name' => 'nullable|string', - 'plantstart' => 'nullable|date', - 'plantend' => 'nullable|date', - 'practice' => 'nullable|string', - 'distr' => 'nullable|string', - 'num_trees' => 'nullable|integer', - 'target_sys' => 'nullable|string', + 'poly_name' => 'nullable|string', + 'plantstart' => 'nullable|date', + 'plantend' => 'nullable|date', + 'practice' => 'nullable|string', + 'distr' => 'nullable|string', + 'num_trees' => 'nullable|integer', + 'target_sys' => 'nullable|string', ]); } $polygonGeometry = PolygonGeometry::where('uuid', $uuid)->first(); - if (! $polygonGeometry) { + if (!$polygonGeometry) { return response()->json(['message' => 'No polygon geometry found for the given UUID.'], 404); } $areaSqDegrees = DB::selectOne('SELECT ST_Area(geom) AS area FROM polygon_geometry WHERE uuid = :uuid', ['uuid' => $uuid])->area; diff --git a/openapi-src/V2/paths/Terrafund/get-api-v2-terrafund-polygon-uuid.yml b/openapi-src/V2/paths/Terrafund/get-api-v2-terrafund-polygon-uuid.yml index 6e8169201..01499b013 100644 --- a/openapi-src/V2/paths/Terrafund/get-api-v2-terrafund-polygon-uuid.yml +++ b/openapi-src/V2/paths/Terrafund/get-api-v2-terrafund-polygon-uuid.yml @@ -59,6 +59,8 @@ responses: site_id: type: string nullable: true + site_name: + type: string status: type: string target_sys: diff --git a/resources/docs/swagger-v2.yml b/resources/docs/swagger-v2.yml index 26e2e0247..bbee5754a 100644 --- a/resources/docs/swagger-v2.yml +++ b/resources/docs/swagger-v2.yml @@ -95720,6 +95720,8 @@ paths: site_id: type: string nullable: true + site_name: + type: string status: type: string target_sys: From 5f31deab1fdbc517d377f2fd704f98e0366426e7 Mon Sep 17 00:00:00 2001 From: JORGE Date: Tue, 25 Jun 2024 11:30:03 -0400 Subject: [PATCH 110/164] add installer in requirements --- resources/python/polygon-voronoi/app.py | 0 resources/python/polygon-voronoi/requirements.txt | 1 + 2 files changed, 1 insertion(+) mode change 100644 => 100755 resources/python/polygon-voronoi/app.py mode change 100644 => 100755 resources/python/polygon-voronoi/requirements.txt diff --git a/resources/python/polygon-voronoi/app.py b/resources/python/polygon-voronoi/app.py old mode 100644 new mode 100755 diff --git a/resources/python/polygon-voronoi/requirements.txt b/resources/python/polygon-voronoi/requirements.txt old mode 100644 new mode 100755 index 633d98ebe..0d1ba9bb3 --- a/resources/python/polygon-voronoi/requirements.txt +++ b/resources/python/polygon-voronoi/requirements.txt @@ -1,2 +1,3 @@ pyproj==3.4.1 +numpy==1.26.4 shapely==2.0.1 From 81fba173acae7ada28461287c8ce2fb73f875669 Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Tue, 25 Jun 2024 11:31:05 -0400 Subject: [PATCH 111/164] [TM-1000] make lint fix --- .../V2/Terrafund/TerrafundEditGeometryController.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php b/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php index ff524b151..5fd8e97f9 100644 --- a/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php +++ b/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php @@ -117,12 +117,12 @@ public function deletePolygonAndSitePolygon(string $uuid) { try { $polygonGeometry = PolygonGeometry::where('uuid', $uuid)->first(); - if (!$polygonGeometry) { + if (! $polygonGeometry) { return response()->json(['message' => 'No polygon geometry found for the given UUID.'], 404); } $sitePolygon = SitePolygon::where('poly_id', $uuid)->first(); $project = $sitePolygon->project; - if (!$project) { + if (! $project) { return response()->json(['message' => 'No project found for the given UUID.'], 404); } if ($sitePolygon) { @@ -149,7 +149,7 @@ public function updateGeometry(string $uuid, Request $request) Log::info("Updating geometry for polygon with UUID: $uuid"); $polygonGeometry = PolygonGeometry::where('uuid', $uuid)->first(); - if (!$polygonGeometry) { + if (! $polygonGeometry) { return response()->json(['message' => 'No polygon geometry found for the given UUID.'], 404); } $geometry = json_decode($request->input('geometry')); @@ -168,7 +168,7 @@ public function updateGeometry(string $uuid, Request $request) public function getPolygonGeojson(string $uuid) { $geometryQuery = PolygonGeometry::isUuid($uuid); - if (!$geometryQuery->exists()) { + if (! $geometryQuery->exists()) { return response()->json(['message' => 'No polygon geometry found for the given UUID.'], 404); } @@ -181,7 +181,7 @@ public function updateSitePolygon(string $uuid, Request $request) { try { $sitePolygon = SitePolygon::where('uuid', $uuid)->first(); - if (!$sitePolygon) { + if (! $sitePolygon) { return response()->json(['message' => 'No site polygons found for the given UUID.'], 404); } $validatedData = $request->validate([ @@ -230,7 +230,7 @@ public function createSitePolygon(string $uuid, string $siteUuid, Request $reque } $polygonGeometry = PolygonGeometry::where('uuid', $uuid)->first(); - if (!$polygonGeometry) { + if (! $polygonGeometry) { return response()->json(['message' => 'No polygon geometry found for the given UUID.'], 404); } $areaSqDegrees = DB::selectOne('SELECT ST_Area(geom) AS area FROM polygon_geometry WHERE uuid = :uuid', ['uuid' => $uuid])->area; From 80f63f17b0a29fe97bf2314a046c62729af06093 Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Tue, 25 Jun 2024 11:32:39 -0400 Subject: [PATCH 112/164] [TM-1000] make lint fix --- .../TerrafundEditGeometryController.php | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php b/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php index 5fd8e97f9..80afa2532 100644 --- a/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php +++ b/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php @@ -209,23 +209,23 @@ public function createSitePolygon(string $uuid, string $siteUuid, Request $reque try { if ($request->getContent() === '{}') { $validatedData = [ - 'poly_name' => null, - 'plantstart' => null, - 'plantend' => null, - 'practice' => null, - 'distr' => null, - 'num_trees' => null, - 'target_sys' => null, + 'poly_name' => null, + 'plantstart' => null, + 'plantend' => null, + 'practice' => null, + 'distr' => null, + 'num_trees' => null, + 'target_sys' => null, ]; } else { $validatedData = $request->validate([ - 'poly_name' => 'nullable|string', - 'plantstart' => 'nullable|date', - 'plantend' => 'nullable|date', - 'practice' => 'nullable|string', - 'distr' => 'nullable|string', - 'num_trees' => 'nullable|integer', - 'target_sys' => 'nullable|string', + 'poly_name' => 'nullable|string', + 'plantstart' => 'nullable|date', + 'plantend' => 'nullable|date', + 'practice' => 'nullable|string', + 'distr' => 'nullable|string', + 'num_trees' => 'nullable|integer', + 'target_sys' => 'nullable|string', ]); } From 2ba7953e36cd51c8a74deb8eb6982c08f626b8cb Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Tue, 25 Jun 2024 11:33:14 -0400 Subject: [PATCH 113/164] [TM-1000] make lint fix --- .../TerrafundEditGeometryController.php | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php b/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php index 80afa2532..bf4b97f26 100644 --- a/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php +++ b/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php @@ -185,14 +185,14 @@ public function updateSitePolygon(string $uuid, Request $request) return response()->json(['message' => 'No site polygons found for the given UUID.'], 404); } $validatedData = $request->validate([ - 'poly_name' => 'nullable|string', - 'plantstart' => 'nullable|date', - 'plantend' => 'nullable|date', - 'practice' => 'nullable|string', - 'distr' => 'nullable|string', - 'num_trees' => 'nullable|integer', - 'calc_area' => 'nullable|numeric', - 'target_sys' => 'nullable|string', + 'poly_name' => 'nullable|string', + 'plantstart' => 'nullable|date', + 'plantend' => 'nullable|date', + 'practice' => 'nullable|string', + 'distr' => 'nullable|string', + 'num_trees' => 'nullable|integer', + 'calc_area' => 'nullable|numeric', + 'target_sys' => 'nullable|string', ]); $sitePolygon->update($validatedData); From eae812956c379364a745e641aec4bdaf5433e82e Mon Sep 17 00:00:00 2001 From: JORGE Date: Tue, 25 Jun 2024 11:33:44 -0400 Subject: [PATCH 114/164] [TM-999] add call for voronoi function --- app/Services/PolygonService.php | 5 +++++ 1 file changed, 5 insertions(+) mode change 100644 => 100755 app/Services/PolygonService.php diff --git a/app/Services/PolygonService.php b/app/Services/PolygonService.php old mode 100644 new mode 100755 index fd323c3a5..49fc5f52c --- a/app/Services/PolygonService.php +++ b/app/Services/PolygonService.php @@ -7,7 +7,9 @@ use App\Models\V2\Sites\CriteriaSite; use App\Models\V2\Sites\SitePolygon; use App\Validators\SitePolygonValidator; +use App\Services\PythonService; use Illuminate\Support\Carbon; +use Illuminate\Support\Facades\App; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Log; @@ -231,6 +233,7 @@ protected function transformAndStorePoints($geojson, $sitePolygonProperties): st foreach (self::POINT_PROPERTIES as $property) { $properties[$property] = collect(data_get($geojson, "features.*.properties.$property"))->filter()->first(); } + Log::info('Wrote geojson to '.json_encode($geojson)); // TODO: // * transform points into a polygon @@ -238,6 +241,8 @@ protected function transformAndStorePoints($geojson, $sitePolygonProperties): st // * Create the SitePolygon using the data in $properties (including $properties['site_id'] to identify the site) // * Return the PolygonGeometry's real UUID instead of this fake return + $value = App::make(PythonService::class)->voronoiTransformation($geojson); + Log::info(json_encode($value)); return self::TEMP_FAKE_POLYGON_UUID; } } From 93798b350d352aa49736bea04c7416e6709a22f2 Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Tue, 25 Jun 2024 12:01:00 -0400 Subject: [PATCH 115/164] [TM-1002] add non valid criteria in validation site endpoint --- .../V2/Terrafund/TerrafundCreateGeometryController.php | 5 +++-- openapi-src/V2/definitions/V2TerrafundCriteriaSite.yml | 7 ++++++- resources/docs/swagger-v2.yml | 10 ++++++++++ 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php b/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php index 1b7b35424..e6b37cff7 100644 --- a/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php +++ b/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php @@ -558,11 +558,11 @@ public function getCurrentSiteValidation(Request $request) $isValid = false; $isChecked = false; } else { + $nonValidCriteria = []; foreach ($criteriaData['criteria_list'] as $criteria) { if ($criteria['valid'] == 0) { $isValid = false; - - break; + $nonValidCriteria[] = $criteria; } } } @@ -571,6 +571,7 @@ public function getCurrentSiteValidation(Request $request) 'uuid' => $polygonUuid, 'valid' => $isValid, 'checked' => $isChecked, + 'nonValidCriteria' => $nonValidCriteria, ]; } diff --git a/openapi-src/V2/definitions/V2TerrafundCriteriaSite.yml b/openapi-src/V2/definitions/V2TerrafundCriteriaSite.yml index 667dc4b02..8aba0b839 100644 --- a/openapi-src/V2/definitions/V2TerrafundCriteriaSite.yml +++ b/openapi-src/V2/definitions/V2TerrafundCriteriaSite.yml @@ -10,4 +10,9 @@ items: description: Indicates if the polygon is valid or not. checked: type: boolean - description: Indicates if the polygon has been checked before or not. \ No newline at end of file + description: Indicates if the polygon has been checked before or not. + nonValidCriteria: + type: array + description: List of criteria that are not valid. + items: + type: object \ No newline at end of file diff --git a/resources/docs/swagger-v2.yml b/resources/docs/swagger-v2.yml index 26e2e0247..8670cf4da 100644 --- a/resources/docs/swagger-v2.yml +++ b/resources/docs/swagger-v2.yml @@ -44238,6 +44238,11 @@ definitions: checked: type: boolean description: Indicates if the polygon has been checked before or not. + nonValidCriteria: + type: array + description: List of criteria that are not valid. + items: + type: object SitePolygon: title: SitePolygon type: object @@ -94918,6 +94923,11 @@ paths: checked: type: boolean description: Indicates if the polygon has been checked before or not. + nonValidCriteria: + type: array + description: List of criteria that are not valid. + items: + type: object /v2/geometry/validate: post: summary: Test a set of geometries for validity From 2bc94c1423a2952ce3cb830d0044cf74d6515b1b Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Tue, 25 Jun 2024 09:55:17 -0700 Subject: [PATCH 116/164] [TM-999] Fix path for accessing the voronoi script. --- app/Services/PythonService.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Services/PythonService.php b/app/Services/PythonService.php index 7929ddebe..80bba0f74 100644 --- a/app/Services/PythonService.php +++ b/app/Services/PythonService.php @@ -23,7 +23,7 @@ public function voronoiTransformation($geojson): ?array fclose($writeHandle); } - $process = new Process(['python3', 'resources/python/polygon-voronoi/app.py', $inputGeojson, $outputGeojson]); + $process = new Process(['python3', base_path() . '/resources/python/polygon-voronoi/app.py', $inputGeojson, $outputGeojson]); $process->run(); if (! $process->isSuccessful()) { Log::error('Error running voronoi script: ' . $process->getErrorOutput()); From 83524257f9c21b336e549ee0dfa8e26587bb4022 Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Tue, 25 Jun 2024 12:47:38 -0700 Subject: [PATCH 117/164] [TM-999] Make the Python venv available to the www-data user as well. --- docker/php.Dockerfile | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/docker/php.Dockerfile b/docker/php.Dockerfile index 585b9475d..11043308b 100644 --- a/docker/php.Dockerfile +++ b/docker/php.Dockerfile @@ -12,8 +12,7 @@ RUN apt-get install -y \ libzip-dev \ gdal-bin \ libgdal-dev \ - python3.11-venv \ - gdal-bin + python3.11-venv RUN docker-php-ext-configure gd --with-freetype --with-jpeg RUN docker-php-ext-install \ @@ -41,7 +40,11 @@ COPY docker/000-default.conf /etc/apache2/sites-available/000-default.conf COPY docker/php.ini /usr/local/etc/php/php.ini ## Python -RUN python3 -m venv /root/python +RUN python3 -m venv /opt/python COPY resources/python/polygon-voronoi/requirements.txt /root/voronoi-requirements.txt -ENV PATH="/root/python/bin:${PATH}" +ENV PATH="/opt/python/bin:${PATH}" RUN pip3 install -r /root/voronoi-requirements.txt +RUN chmod -R a+rx /opt/python +USER www-data +ENV PATH="/opt/python/bin:${PATH}" +USER root From edda12bbc0936f7e08a2d1686503be309463d6c0 Mon Sep 17 00:00:00 2001 From: JORGE Date: Wed, 26 Jun 2024 12:36:17 -0400 Subject: [PATCH 118/164] [TM-999] store points into DB --- app/Services/PolygonService.php | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/app/Services/PolygonService.php b/app/Services/PolygonService.php index 49fc5f52c..fcab907e4 100755 --- a/app/Services/PolygonService.php +++ b/app/Services/PolygonService.php @@ -44,7 +44,7 @@ class PolygonService public function createGeojsonModels($geojson, $sitePolygonProperties = []): array { if (data_get($geojson, 'features.0.geometry.type') == 'Point') { - return [$this->transformAndStorePoints($geojson, $sitePolygonProperties)]; + return $this->transformAndStorePoints($geojson, $sitePolygonProperties); } $uuids = []; @@ -213,6 +213,7 @@ protected function validateSitePolygonProperties(string $polygonUuid, array $pro 'num_trees' => $properties['num_trees'], 'calc_area' => $properties['area'] ?? null, 'status' => 'submitted', + 'point_id' => $properties['point_uuid'] ?? null ]; } @@ -222,27 +223,30 @@ protected function validateSitePolygonProperties(string $polygonUuid, array $pro * * @return string UUID of resulting PolygonGeometry */ - protected function transformAndStorePoints($geojson, $sitePolygonProperties): string + protected function transformAndStorePoints($geojson, $sitePolygonProperties): array { - $pointUuids = []; - foreach ($geojson['features'] as $feature) { - $pointUuids[] = $this->insertSinglePoint($feature); + foreach ($geojson['features'] as &$feature) { + $currentPointUUID = $this->insertSinglePoint($feature); + $feature['properties']['point_uuid'] = $currentPointUUID; } $properties = $sitePolygonProperties; + $mainSiteID = ''; foreach (self::POINT_PROPERTIES as $property) { $properties[$property] = collect(data_get($geojson, "features.*.properties.$property"))->filter()->first(); + if ($property === 'site_id') { + $mainSiteID = $properties[$property]; + } } - Log::info('Wrote geojson to '.json_encode($geojson)); // TODO: - // * transform points into a polygon - // * Insert the polygon into PolygonGeometry - // * Create the SitePolygon using the data in $properties (including $properties['site_id'] to identify the site) + // * transform points into a polygon DONE + // * Insert the polygon into PolygonGeometry DONE + // * Create the SitePolygon using the data in $properties (including $properties['site_id'] to identify the site) // * Return the PolygonGeometry's real UUID instead of this fake return - $value = App::make(PythonService::class)->voronoiTransformation($geojson); - Log::info(json_encode($value)); - return self::TEMP_FAKE_POLYGON_UUID; + $polygonsGeojson = App::make(PythonService::class)->voronoiTransformation($geojson); + $polygonsUuids = $this->createGeojsonModels($polygonsGeojson, ['site_id' => $mainSiteID]); + return $polygonsUuids; } } From ab04f6f5a0d68a91485316b2ae12f7192773312c Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Wed, 26 Jun 2024 12:48:21 -0400 Subject: [PATCH 119/164] [TM-1002] remove validation when creating geojson models records --- app/Services/PolygonService.php | 8 -------- 1 file changed, 8 deletions(-) diff --git a/app/Services/PolygonService.php b/app/Services/PolygonService.php index fd323c3a5..e99d6d408 100644 --- a/app/Services/PolygonService.php +++ b/app/Services/PolygonService.php @@ -192,14 +192,6 @@ protected function validateSitePolygonProperties(string $polygonUuid, array $pro } $properties['num_trees'] = is_int($properties['num_trees'] ?? null) ? $properties['num_trees'] : null; - $validationGeojson = ['features' => [ - 'feature' => ['properties' => $properties], - ]]; - $validSchema = SitePolygonValidator::isValid('SCHEMA', $validationGeojson); - $validData = SitePolygonValidator::isValid('DATA', $validationGeojson); - $this->createCriteriaSite($polygonUuid, self::SCHEMA_CRITERIA_ID, $validSchema); - $this->createCriteriaSite($polygonUuid, self::DATA_CRITERIA_ID, $validData); - return [ 'poly_name' => $properties['poly_name'] ?? null, 'site_id' => $properties['site_id'] ?? null, From 9bca897e710b78a3aaf56b87d984ad09b486ba78 Mon Sep 17 00:00:00 2001 From: Jose Carlos Laura Ramirez Date: Wed, 26 Jun 2024 15:09:30 -0400 Subject: [PATCH 120/164] [TM-855] feat: add endpoint to change status polygon (#306) * [TM-855] feat: add endpoint to change status polygon * rename method * [TM-855] change uuid -> id * fix lint * fix database query and response * [TM-855] fix * improve code --------- Co-authored-by: Limber Mamani --- .../ChangeStatusPolygonsController.php | 36 ++++ .../ChangeStatusPolygonsUpdateRequest.php | 23 +++ .../V2/definitions/PolygonChangeStatus.yml | 3 + .../definitions/PolygonChangeStatusUpdate.yml | 13 ++ openapi-src/V2/definitions/_index.yml | 4 + .../get-v2-polygons-uuid-change-status.yml | 18 ++ openapi-src/V2/paths/_index.yml | 3 + resources/docs/swagger-v2.yml | 160 ++++++++++++++++++ routes/api_v2.php | 5 + 9 files changed, 265 insertions(+) create mode 100644 app/Http/Controllers/V2/Polygons/ChangeStatusPolygonsController.php create mode 100644 app/Http/Requests/V2/Polygons/ChangeStatusPolygonsUpdateRequest.php create mode 100644 openapi-src/V2/definitions/PolygonChangeStatus.yml create mode 100644 openapi-src/V2/definitions/PolygonChangeStatusUpdate.yml create mode 100644 openapi-src/V2/paths/Polygons/get-v2-polygons-uuid-change-status.yml diff --git a/app/Http/Controllers/V2/Polygons/ChangeStatusPolygonsController.php b/app/Http/Controllers/V2/Polygons/ChangeStatusPolygonsController.php new file mode 100644 index 000000000..8dc79d8dc --- /dev/null +++ b/app/Http/Controllers/V2/Polygons/ChangeStatusPolygonsController.php @@ -0,0 +1,36 @@ +all(); + $polygonCollection = collect($body['updatePolygons']); + + $sitePolygons = SitePolygon::whereIn('uuid', $polygonCollection->map(fn ($p) => $p['uuid']))->get(); + + $polygonsChanged = []; + foreach ($sitePolygons as $sitePolygon) { + $foundPolygon = $polygonCollection->first(fn ($p) => $p['uuid'] === $sitePolygon->uuid); + + if (! $foundPolygon) { + continue; + } + $sitePolygon->status = $foundPolygon['status']; + $sitePolygon->save(); + $polygonsChanged[] = $sitePolygon; + $this->saveAuditStatus('polygon', $sitePolygon['id'], $sitePolygon['status'], $body['comment'], 'status'); + } + + return response()->json($polygonsChanged); + } +} diff --git a/app/Http/Requests/V2/Polygons/ChangeStatusPolygonsUpdateRequest.php b/app/Http/Requests/V2/Polygons/ChangeStatusPolygonsUpdateRequest.php new file mode 100644 index 000000000..0b209a065 --- /dev/null +++ b/app/Http/Requests/V2/Polygons/ChangeStatusPolygonsUpdateRequest.php @@ -0,0 +1,23 @@ + 'sometimes|nullable|string', + 'updatePolygons' => 'sometimes|nullable|array', + 'updatePolygons.*.uuid' => 'sometimes|nullable|string', + 'updatePolygons.*.status' => 'sometimes|nullable|string', + ]; + } +} diff --git a/openapi-src/V2/definitions/PolygonChangeStatus.yml b/openapi-src/V2/definitions/PolygonChangeStatus.yml new file mode 100644 index 000000000..23ea6d2e2 --- /dev/null +++ b/openapi-src/V2/definitions/PolygonChangeStatus.yml @@ -0,0 +1,3 @@ +type: array +items: + $ref: './_index.yml#/SitePolygon' diff --git a/openapi-src/V2/definitions/PolygonChangeStatusUpdate.yml b/openapi-src/V2/definitions/PolygonChangeStatusUpdate.yml new file mode 100644 index 000000000..60007eea9 --- /dev/null +++ b/openapi-src/V2/definitions/PolygonChangeStatusUpdate.yml @@ -0,0 +1,13 @@ +type: object +properties: + comment: + type: string + updatePolygons: + type: array + items: + type: object + properties: + uuid: + type: string + status: + type: string \ No newline at end of file diff --git a/openapi-src/V2/definitions/_index.yml b/openapi-src/V2/definitions/_index.yml index f37c369f5..4231e8679 100644 --- a/openapi-src/V2/definitions/_index.yml +++ b/openapi-src/V2/definitions/_index.yml @@ -368,3 +368,7 @@ SiteCheckApproveResponse: $ref: './SiteCheckApproveResponse.yml' DashboardProjectViewResponse: $ref: './DashboardProjectViewResponse.yml' +PolygonChangeStatus: + $ref: './PolygonChangeStatus.yml' +PolygonChangeStatusUpdate: + $ref: './PolygonChangeStatusUpdate.yml' \ No newline at end of file diff --git a/openapi-src/V2/paths/Polygons/get-v2-polygons-uuid-change-status.yml b/openapi-src/V2/paths/Polygons/get-v2-polygons-uuid-change-status.yml new file mode 100644 index 000000000..3219db689 --- /dev/null +++ b/openapi-src/V2/paths/Polygons/get-v2-polygons-uuid-change-status.yml @@ -0,0 +1,18 @@ +summary: update the status of the polygons +operationId: get-v2-polygons-uuid-change-status +tags: + - V2 Polygons +parameters: + - in: body + name: body + required: true + schema: + $ref: '../../definitions/_index.yml#/PolygonChangeStatusUpdate' +responses: + '200': + description: OK + schema: + type: object + properties: + data: + $ref: '../../definitions/_index.yml#/PolygonChangeStatus' diff --git a/openapi-src/V2/paths/_index.yml b/openapi-src/V2/paths/_index.yml index c4d497c8a..02b27bbc1 100644 --- a/openapi-src/V2/paths/_index.yml +++ b/openapi-src/V2/paths/_index.yml @@ -2666,3 +2666,6 @@ /v2/sites/{site}/check-approve: get: $ref: './Sites/get-v2-sites-uuid-check-approve.yml' +/v2/site-polygon/status/bulk: + put: + $ref: './Polygons/get-v2-polygons-uuid-change-status.yml' diff --git a/resources/docs/swagger-v2.yml b/resources/docs/swagger-v2.yml index 9dbcc1685..0885d3cbb 100644 --- a/resources/docs/swagger-v2.yml +++ b/resources/docs/swagger-v2.yml @@ -45152,6 +45152,78 @@ definitions: properties: allowed: type: boolean + PolygonChangeStatus: + type: array + items: + title: SitePolygon + type: object + properties: + id: + type: integer + uuid: + type: string + project_id: + type: string + proj_name: + type: string + org_name: + type: string + poly_id: + type: string + poly_name: + type: string + site_id: + type: string + site_name: + type: string + plantstart: + type: string + format: date + plantend: + type: string + format: date + practice: + type: string + target_sys: + type: string + distr: + type: string + num_trees: + type: integer + calc_area: + type: number + format: float + created_by: + type: string + last_modified_by: + type: string + deleted_at: + type: string + format: date-time + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + status: + type: string + country: + type: string + PolygonChangeStatusUpdate: + type: object + properties: + comment: + type: string + updatePolygons: + type: array + items: + type: object + properties: + uuid: + type: string + status: + type: string paths: '/v2/tree-species/{entity}/{UUID}': get: @@ -97173,3 +97245,91 @@ paths: properties: can_approve: type: boolean + /v2/site-polygon/status/bulk: + put: + summary: update the status of the polygons + operationId: get-v2-polygons-uuid-change-status + tags: + - V2 Polygons + parameters: + - in: body + name: body + required: true + schema: + type: object + properties: + comment: + type: string + updatePolygons: + type: array + items: + type: object + properties: + uuid: + type: string + status: + type: string + responses: + '200': + description: OK + schema: + type: object + properties: + data: + type: array + items: + title: SitePolygon + type: object + properties: + id: + type: integer + uuid: + type: string + project_id: + type: string + proj_name: + type: string + org_name: + type: string + poly_id: + type: string + poly_name: + type: string + site_id: + type: string + site_name: + type: string + plantstart: + type: string + format: date + plantend: + type: string + format: date + practice: + type: string + target_sys: + type: string + distr: + type: string + num_trees: + type: integer + calc_area: + type: number + format: float + created_by: + type: string + last_modified_by: + type: string + deleted_at: + type: string + format: date-time + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + status: + type: string + country: + type: string diff --git a/routes/api_v2.php b/routes/api_v2.php index 132bab2de..671c9671b 100644 --- a/routes/api_v2.php +++ b/routes/api_v2.php @@ -130,6 +130,7 @@ use App\Http\Controllers\V2\OwnershipStake\DeleteOwnershipStakeController; use App\Http\Controllers\V2\OwnershipStake\StoreOwnershipStakeController; use App\Http\Controllers\V2\OwnershipStake\UpdateOwnershipStakeController; +use App\Http\Controllers\V2\Polygons\ChangeStatusPolygonsController; use App\Http\Controllers\V2\Polygons\ViewAllSitesPolygonsForProjectController; use App\Http\Controllers\V2\Polygons\ViewSitesPolygonsForProjectController; use App\Http\Controllers\V2\ProjectPipeline\DeleteProjectPipelineController; @@ -729,4 +730,8 @@ function () { Route::delete('/{id}', DeleteProjectPipelineController::class); }); +Route::prefix('site-polygon')->group(function () { + Route::put('/status/bulk', ChangeStatusPolygonsController::class); +}); + Route::get('/type-entity', EntityTypeController::class); From cfd4ccfef8920dcbf1e08decdc1a4632de5736bb Mon Sep 17 00:00:00 2001 From: JORGE Date: Wed, 26 Jun 2024 15:25:43 -0400 Subject: [PATCH 121/164] [TM-999] change names of point id --- app/Services/PolygonService.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/Services/PolygonService.php b/app/Services/PolygonService.php index fcab907e4..0745d2627 100755 --- a/app/Services/PolygonService.php +++ b/app/Services/PolygonService.php @@ -213,7 +213,7 @@ protected function validateSitePolygonProperties(string $polygonUuid, array $pro 'num_trees' => $properties['num_trees'], 'calc_area' => $properties['area'] ?? null, 'status' => 'submitted', - 'point_id' => $properties['point_uuid'] ?? null + 'point_id' => $properties['point_id'] ?? null ]; } @@ -227,7 +227,7 @@ protected function transformAndStorePoints($geojson, $sitePolygonProperties): ar { foreach ($geojson['features'] as &$feature) { $currentPointUUID = $this->insertSinglePoint($feature); - $feature['properties']['point_uuid'] = $currentPointUUID; + $feature['properties']['point_id'] = $currentPointUUID; } $properties = $sitePolygonProperties; @@ -247,6 +247,7 @@ protected function transformAndStorePoints($geojson, $sitePolygonProperties): ar $polygonsGeojson = App::make(PythonService::class)->voronoiTransformation($geojson); $polygonsUuids = $this->createGeojsonModels($polygonsGeojson, ['site_id' => $mainSiteID]); + Log::info('Polygons UUIDs: ' . json_encode($polygonsUuids)); return $polygonsUuids; } } From 40cd0c6273d8e54bc81076e551f5485d560153a4 Mon Sep 17 00:00:00 2001 From: JORGE Date: Wed, 26 Jun 2024 19:12:33 -0400 Subject: [PATCH 122/164] [TM-999] add delete related point once polygon is deleted --- .../V2/Geometry/GeometryController.php | 2 +- app/Models/V2/PolygonGeometry.php | 27 +++++++++++++++++++ app/Models/V2/Sites/SitePolygon.php | 5 ++++ 3 files changed, 33 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/V2/Geometry/GeometryController.php b/app/Http/Controllers/V2/Geometry/GeometryController.php index 664d85d79..ba3b880a5 100644 --- a/app/Http/Controllers/V2/Geometry/GeometryController.php +++ b/app/Http/Controllers/V2/Geometry/GeometryController.php @@ -157,7 +157,7 @@ public function deleteGeometries(Request $request): JsonResponse } foreach ($polygons as $polygon) { - $polygon->sitePolygon()->delete(); + $polygon->deleteWithRelated(); $polygon->delete(); } diff --git a/app/Models/V2/PolygonGeometry.php b/app/Models/V2/PolygonGeometry.php index 199ac5c6e..b6d9acfcf 100644 --- a/app/Models/V2/PolygonGeometry.php +++ b/app/Models/V2/PolygonGeometry.php @@ -11,7 +11,9 @@ use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\HasOne; +use Illuminate\Database\Eloquent\Relations\HasOneThrough; use Illuminate\Database\Eloquent\SoftDeletes; +use Illuminate\Support\Facades\DB; class PolygonGeometry extends Model { @@ -47,4 +49,29 @@ public function createdBy(): HasOne { return $this->hasOne(User::class, 'id', 'created_by'); } + public function point(): HasOneThrough + { + return $this->hasOneThrough( + PointGeometry::class, + SitePolygon::class, + 'poly_id', // Foreign Key on SitePolygon table to Polygon + 'uuid', // Foreign Key on Points table + 'uuid', // Local Key on Polygon table + 'point_id' // Local Key on SitePolygon table + ); + } + + // New convenience method + public function deleteWithRelated() + { + DB::transaction(function () { + if ($this->sitePolygon) { + if ($this->sitePolygon->point) { + $this->sitePolygon->point->delete(); + } + $this->sitePolygon->delete(); + } + $this->delete(); + }); + } } diff --git a/app/Models/V2/Sites/SitePolygon.php b/app/Models/V2/Sites/SitePolygon.php index 0d37ca430..8f5e1f583 100644 --- a/app/Models/V2/Sites/SitePolygon.php +++ b/app/Models/V2/Sites/SitePolygon.php @@ -5,6 +5,7 @@ use App\Models\Traits\HasUuid; use App\Models\V2\AuditableModel; use App\Models\V2\AuditStatus\AuditStatus; +use App\Models\V2\PointGeometry; use App\Models\V2\PolygonGeometry; use App\Models\V2\Projects\Project; use App\Models\V2\User; @@ -50,6 +51,10 @@ public function polygonGeometry(): BelongsTo { return $this->belongsTo(PolygonGeometry::class, 'poly_id', 'uuid'); } + public function point(): BelongsTo + { + return $this->belongsTo(PointGeometry::class, 'point_id', 'uuid'); + } public function scopeForPolygonGeometry($query, $uuid): Builder { From 59b2117420b0694548a5fe1c06b4932f75295854 Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Wed, 26 Jun 2024 20:10:45 -0700 Subject: [PATCH 123/164] [TM-999] Change the response shape of the bulk polygon create endpoint to accommodate multiple geometries created as part of a Point upload. --- .../V2/Geometry/GeometryController.php | 22 +- openapi-src/V2/definitions/GeometryPost.yml | 72 +++---- .../V2/paths/Geometry/post-v2-geometry.yml | 3 + resources/docs/swagger-v2.yml | 192 ++++++++++-------- 4 files changed, 156 insertions(+), 133 deletions(-) diff --git a/app/Http/Controllers/V2/Geometry/GeometryController.php b/app/Http/Controllers/V2/Geometry/GeometryController.php index ba3b880a5..754319d62 100644 --- a/app/Http/Controllers/V2/Geometry/GeometryController.php +++ b/app/Http/Controllers/V2/Geometry/GeometryController.php @@ -74,24 +74,26 @@ protected function storeAndValidateGeometries($geometries): array { /** @var PolygonService $service */ $service = App::make(PolygonService::class); - $polygonUuids = []; + $results = []; foreach ($geometries as $geometry) { - // In this controller we require either single polys or a collection of Points, which get turned into a - // single poly, so just pull the first UUID returned - $polygonUuids[] = $service->createGeojsonModels($geometry)[0]; + $results[] = ['polygon_uuids' => $service->createGeojsonModels($geometry)]; } // Do the validation in a separate step so that all of the existing polygons are taken into account // for things like overlapping and estimated area. - $polygonErrors = []; - foreach ($polygonUuids as $polygonUuid) { - $errors = $this->runStoredGeometryValidations($polygonUuid); - if (! empty($errors)) { - $polygonErrors[$polygonUuid] = $errors; + foreach ($results as $index => $result) { + $polygonErrors = []; + foreach ($result['polygon_uuids'] as $polygonUuid) { + $errors = $this->runStoredGeometryValidations($polygonUuid); + if (! empty($errors)) { + $polygonErrors[$polygonUuid] = $errors; + } } + + data_set($results, "$index.errors", $polygonErrors); } - return ['polygon_uuids' => $polygonUuids, 'errors' => $polygonErrors]; + return $results; } public function validateGeometries(Request $request): JsonResponse diff --git a/openapi-src/V2/definitions/GeometryPost.yml b/openapi-src/V2/definitions/GeometryPost.yml index c4b833860..1d5db72f5 100644 --- a/openapi-src/V2/definitions/GeometryPost.yml +++ b/openapi-src/V2/definitions/GeometryPost.yml @@ -1,39 +1,39 @@ title: SiteGeometryPost -type: object -properties: - polygon_uuids: - type: array - items: - type: string - description: - The UUIDs generated by the system for the uploaded polygons. They are in the same order as the polygons in the - request payload. - errors: - type: object - description: - Mapping of geometry UUID to the errors associated with the geometry. The geometry was saved in the DB and must - be updated instead of created once the issues are resolved. - additionalProperties: +type: array +items: + type: object + properties: + polygon_uuids: type: array items: - type: object - properties: - key: - type: string - enum: - - OVERLAPPING_POLYGON - - SELF_INTERSECTION - - COORDINATE_SYSTEM - - SIZE_LIMIT - - WITHIN_COUNTRY - - SPIKE - - GEOMETRY_TYPE - - TOTAL_AREA_EXPECTED - - TABLE_SCHEMA - - DATA_COMPLETED - message: - type: string - description: Human readable string in English to describe the error. - - - + type: string + description: | + The UUIDs generated by the system for the uploaded geometry at this index. For a polygon geometry, this + always be an array with 1 member. For Point geometry, there will be the same number of UUIDS associated as + there were Points in the request payload at this index, and the order will be the same. + errors: + type: object + description: + Mapping of polygon UUID to the errors associated with the polygon. The geometry was saved in the DB and must + be updated instead of created once the issues are resolved. + additionalProperties: + type: array + items: + type: object + properties: + key: + type: string + enum: + - OVERLAPPING_POLYGON + - SELF_INTERSECTION + - COORDINATE_SYSTEM + - SIZE_LIMIT + - WITHIN_COUNTRY + - SPIKE + - GEOMETRY_TYPE + - TOTAL_AREA_EXPECTED + - TABLE_SCHEMA + - DATA_COMPLETED + message: + type: string + description: Human readable string in English to describe the error. diff --git a/openapi-src/V2/paths/Geometry/post-v2-geometry.yml b/openapi-src/V2/paths/Geometry/post-v2-geometry.yml index 6c68ff071..723d55ea5 100644 --- a/openapi-src/V2/paths/Geometry/post-v2-geometry.yml +++ b/openapi-src/V2/paths/Geometry/post-v2-geometry.yml @@ -10,6 +10,9 @@ description: | For additional properties (plantstart, num_trees, etc) on Point geometries, if the properties are present on multiple Points, the first non-null value for each is used. + + The response is an array of objects. Each index in the response corresponds to the geometry at the same index in the + request payload. parameters: - in: body name: body diff --git a/resources/docs/swagger-v2.yml b/resources/docs/swagger-v2.yml index 26e2e0247..9b716db3f 100644 --- a/resources/docs/swagger-v2.yml +++ b/resources/docs/swagger-v2.yml @@ -44033,37 +44033,42 @@ definitions: type: array GeometryPost: title: SiteGeometryPost - type: object - properties: - polygon_uuids: - type: array - items: - type: string - description: The UUIDs generated by the system for the uploaded polygons. They are in the same order as the polygons in the request payload. - errors: - type: object - description: Mapping of geometry UUID to the errors associated with the geometry. The geometry was saved in the DB and must be updated instead of created once the issues are resolved. - additionalProperties: + type: array + items: + type: object + properties: + polygon_uuids: type: array items: - type: object - properties: - key: - type: string - enum: - - OVERLAPPING_POLYGON - - SELF_INTERSECTION - - COORDINATE_SYSTEM - - SIZE_LIMIT - - WITHIN_COUNTRY - - SPIKE - - GEOMETRY_TYPE - - TOTAL_AREA_EXPECTED - - TABLE_SCHEMA - - DATA_COMPLETED - message: - type: string - description: Human readable string in English to describe the error. + type: string + description: | + The UUIDs generated by the system for the uploaded geometry at this index. For a polygon geometry, this + always be an array with 1 member. For Point geometry, there will be the same number of UUIDS associated as + there were Points in the request payload at this index, and the order will be the same. + errors: + type: object + description: Mapping of polygon UUID to the errors associated with the polygon. The geometry was saved in the DB and must be updated instead of created once the issues are resolved. + additionalProperties: + type: array + items: + type: object + properties: + key: + type: string + enum: + - OVERLAPPING_POLYGON + - SELF_INTERSECTION + - COORDINATE_SYSTEM + - SIZE_LIMIT + - WITHIN_COUNTRY + - SPIKE + - GEOMETRY_TYPE + - TOTAL_AREA_EXPECTED + - TABLE_SCHEMA + - DATA_COMPLETED + message: + type: string + description: Human readable string in English to describe the error. DashboardVolunteersSurvivalRateResponse: type: object properties: @@ -94261,37 +94266,42 @@ paths: description: Created schema: title: SiteGeometryPost - type: object - properties: - polygon_uuids: - type: array - items: - type: string - description: The UUIDs generated by the system for the uploaded polygons. They are in the same order as the polygons in the request payload. - errors: - type: object - description: Mapping of geometry UUID to the errors associated with the geometry. The geometry was saved in the DB and must be updated instead of created once the issues are resolved. - additionalProperties: + type: array + items: + type: object + properties: + polygon_uuids: type: array items: - type: object - properties: - key: - type: string - enum: - - OVERLAPPING_POLYGON - - SELF_INTERSECTION - - COORDINATE_SYSTEM - - SIZE_LIMIT - - WITHIN_COUNTRY - - SPIKE - - GEOMETRY_TYPE - - TOTAL_AREA_EXPECTED - - TABLE_SCHEMA - - DATA_COMPLETED - message: - type: string - description: Human readable string in English to describe the error. + type: string + description: | + The UUIDs generated by the system for the uploaded geometry at this index. For a polygon geometry, this + always be an array with 1 member. For Point geometry, there will be the same number of UUIDS associated as + there were Points in the request payload at this index, and the order will be the same. + errors: + type: object + description: Mapping of polygon UUID to the errors associated with the polygon. The geometry was saved in the DB and must be updated instead of created once the issues are resolved. + additionalProperties: + type: array + items: + type: object + properties: + key: + type: string + enum: + - OVERLAPPING_POLYGON + - SELF_INTERSECTION + - COORDINATE_SYSTEM + - SIZE_LIMIT + - WITHIN_COUNTRY + - SPIKE + - GEOMETRY_TYPE + - TOTAL_AREA_EXPECTED + - TABLE_SCHEMA + - DATA_COMPLETED + message: + type: string + description: Human readable string in English to describe the error. '/v2/site-monitorings/{UUID}': get: summary: View a specific site monitoring @@ -95033,6 +95043,9 @@ paths: For additional properties (plantstart, num_trees, etc) on Point geometries, if the properties are present on multiple Points, the first non-null value for each is used. + + The response is an array of objects. Each index in the response corresponds to the geometry at the same index in the + request payload. parameters: - in: body name: body @@ -95094,37 +95107,42 @@ paths: description: Created schema: title: SiteGeometryPost - type: object - properties: - polygon_uuids: - type: array - items: - type: string - description: The UUIDs generated by the system for the uploaded polygons. They are in the same order as the polygons in the request payload. - errors: - type: object - description: Mapping of geometry UUID to the errors associated with the geometry. The geometry was saved in the DB and must be updated instead of created once the issues are resolved. - additionalProperties: + type: array + items: + type: object + properties: + polygon_uuids: type: array items: - type: object - properties: - key: - type: string - enum: - - OVERLAPPING_POLYGON - - SELF_INTERSECTION - - COORDINATE_SYSTEM - - SIZE_LIMIT - - WITHIN_COUNTRY - - SPIKE - - GEOMETRY_TYPE - - TOTAL_AREA_EXPECTED - - TABLE_SCHEMA - - DATA_COMPLETED - message: - type: string - description: Human readable string in English to describe the error. + type: string + description: | + The UUIDs generated by the system for the uploaded geometry at this index. For a polygon geometry, this + always be an array with 1 member. For Point geometry, there will be the same number of UUIDS associated as + there were Points in the request payload at this index, and the order will be the same. + errors: + type: object + description: Mapping of polygon UUID to the errors associated with the polygon. The geometry was saved in the DB and must be updated instead of created once the issues are resolved. + additionalProperties: + type: array + items: + type: object + properties: + key: + type: string + enum: + - OVERLAPPING_POLYGON + - SELF_INTERSECTION + - COORDINATE_SYSTEM + - SIZE_LIMIT + - WITHIN_COUNTRY + - SPIKE + - GEOMETRY_TYPE + - TOTAL_AREA_EXPECTED + - TABLE_SCHEMA + - DATA_COMPLETED + message: + type: string + description: Human readable string in English to describe the error. delete: summary: Bulk delete geometries operationId: delete-v2-geometry From 9404b8ec9b361b3515278f369faa7de68dc96a38 Mon Sep 17 00:00:00 2001 From: JORGE Date: Thu, 27 Jun 2024 10:11:38 -0400 Subject: [PATCH 124/164] [TM-999] delete point on any delete polygon --- .../Controllers/V2/Geometry/GeometryController.php | 1 - .../V2/Terrafund/TerrafundEditGeometryController.php | 10 ++-------- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/app/Http/Controllers/V2/Geometry/GeometryController.php b/app/Http/Controllers/V2/Geometry/GeometryController.php index 754319d62..2512b0570 100644 --- a/app/Http/Controllers/V2/Geometry/GeometryController.php +++ b/app/Http/Controllers/V2/Geometry/GeometryController.php @@ -160,7 +160,6 @@ public function deleteGeometries(Request $request): JsonResponse foreach ($polygons as $polygon) { $polygon->deleteWithRelated(); - $polygon->delete(); } return response()->json(['success' => 'geometries have been deleted'], 202); diff --git a/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php b/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php index 88bcbfabc..3d9bf959f 100644 --- a/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php +++ b/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php @@ -113,20 +113,14 @@ public function deletePolygonAndSitePolygon(string $uuid) if (! $project) { return response()->json(['message' => 'No project found for the given UUID.'], 404); } - if ($sitePolygon) { - Log::info("Deleting associated site polygon for UUID: $uuid"); - $sitePolygon->delete(); - } $geometryHelper = new GeometryHelper(); + $polygonGeometry->deleteWithRelated(); $geometryHelper->updateProjectCentroid($project->uuid); - $polygonGeometry->delete(); + Log::info("Polygon geometry and associated site polygon deleted successfully for UUID: $uuid"); - return response()->json(['message' => 'Polygon geometry and associated site polygon deleted successfully.', 'uuid' => $uuid]); } catch (\Exception $e) { Log::error('An error occurred: ' . $e->getMessage()); - - // Return error response if an exception occurs return response()->json(['error' => 'An error occurred: ' . $e->getMessage()], 500); } } From abeece2a43895b982dc7a5ffe5293a7dd563fc70 Mon Sep 17 00:00:00 2001 From: JORGE Date: Thu, 27 Jun 2024 12:15:11 -0400 Subject: [PATCH 125/164] [TM-999] update centroid of projects on delete, create polygons --- .../V2/Geometry/GeometryController.php | 15 +++++++++- .../TerrafundEditGeometryController.php | 30 +++---------------- app/Services/PolygonService.php | 28 +++++++---------- 3 files changed, 29 insertions(+), 44 deletions(-) diff --git a/app/Http/Controllers/V2/Geometry/GeometryController.php b/app/Http/Controllers/V2/Geometry/GeometryController.php index 2512b0570..d466dae8f 100644 --- a/app/Http/Controllers/V2/Geometry/GeometryController.php +++ b/app/Http/Controllers/V2/Geometry/GeometryController.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers\V2\Geometry; +use App\Helpers\GeometryHelper; use App\Http\Controllers\Controller; use App\Http\Requests\V2\Geometry\StoreGeometryRequest; use App\Models\V2\PolygonGeometry; @@ -12,6 +13,7 @@ use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; use Illuminate\Support\Facades\App; +use Illuminate\Support\Facades\Log; use Illuminate\Validation\ValidationException; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; @@ -157,11 +159,22 @@ public function deleteGeometries(Request $request): JsonResponse foreach ($polygons as $polygon) { $this->authorize('delete', $polygon); } + $projectUuids = []; foreach ($polygons as $polygon) { + $sitePolygon = $polygon->sitePolygon; + if ($sitePolygon && $sitePolygon->project) { + $projectUuid = $sitePolygon->project->uuid; + $projectUuids[] = $projectUuid; + } $polygon->deleteWithRelated(); } - + + $distinctProjectUuids = array_unique($projectUuids); + $geometryHelper = new GeometryHelper(); + foreach ($distinctProjectUuids as $projectUuid) { + $geometryHelper->updateProjectCentroid($projectUuid); + } return response()->json(['success' => 'geometries have been deleted'], 202); } diff --git a/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php b/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php index 3d9bf959f..0595a8ea3 100644 --- a/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php +++ b/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php @@ -55,7 +55,7 @@ public function updateEstAreainSitePolygon($polygonGeometry, $geometry) } } - public function updateProjectCentroid($polygonGeometry) + public function updateProjectCentroidFromPolygon($polygonGeometry) { try { $sitePolygon = SitePolygon::where('poly_id', $polygonGeometry->uuid)->first(); @@ -66,29 +66,7 @@ public function updateProjectCentroid($polygonGeometry) if ($project) { $geometryHelper = new GeometryHelper(); - $centroid = $geometryHelper->centroidOfProject($project->uuid); - - if ($centroid === null) { - Log::warning("Invalid centroid for project UUID: $project->uuid"); - } - $centroidData = json_decode($centroid, true); - - if (isset($centroidData['coordinates']) && is_array($centroidData['coordinates'])) { - $longitude = $centroidData['coordinates'][0]; - $latitude = $centroidData['coordinates'][1]; - $project->lat = $latitude; - $project->long = $longitude; - $project->save(); - - Log::info("Updated project centroid for project UUID: $project->uuid with lat: $latitude, lng: $longitude"); - } else { - Log::warning("Centroid data for project UUID: $project->uuid is malformed."); - } - if (is_array($centroid) && isset($centroid['lat']) && isset($centroid['lng'])) { - Log::info("Updated project centroid for project UUID: $project->uuid with lat: {$centroid['lat']}, lng: {$centroid['lng']}"); - } else { - Log::error('Centroid is not properly defined. Centroid data: ' . print_r($centroid, true)); - } + $geometryHelper->updateProjectCentroid($project->uuid); } else { Log::warning("Project with UUID $relatedSite->project_id not found."); @@ -139,7 +117,7 @@ public function updateGeometry(string $uuid, Request $request) $polygonGeometry->geom = $geom; $polygonGeometry->save(); $this->updateEstAreainSitePolygon($polygonGeometry, $geometry); - $this->updateProjectCentroid($polygonGeometry); + $this->updateProjectCentroidFromPolygon($polygonGeometry); return response()->json(['message' => 'Geometry updated successfully.', 'geometry' => $geometry, 'uuid' => $uuid]); } catch (\Exception $e) { @@ -234,7 +212,7 @@ public function createSitePolygon(string $uuid, string $siteUuid, Request $reque 'site_id' => $siteUuid, ]); $sitePolygon->save(); - + $this->updateProjectCentroidFromPolygon($polygonGeometry); return response()->json(['message' => 'Site polygon created successfully', 'uuid' => $sitePolygon, 'area' => $areaHectares], 201); } catch (\Exception $e) { // Handle other exceptions diff --git a/app/Services/PolygonService.php b/app/Services/PolygonService.php index 0745d2627..628e9a98b 100755 --- a/app/Services/PolygonService.php +++ b/app/Services/PolygonService.php @@ -2,9 +2,11 @@ namespace App\Services; +use App\Helpers\GeometryHelper; use App\Models\V2\PointGeometry; use App\Models\V2\PolygonGeometry; use App\Models\V2\Sites\CriteriaSite; +use App\Models\V2\Sites\Site; use App\Models\V2\Sites\SitePolygon; use App\Validators\SitePolygonValidator; use App\Services\PythonService; @@ -53,25 +55,19 @@ public function createGeojsonModels($geojson, $sitePolygonProperties = []): arra $data = $this->insertSinglePolygon($feature['geometry']); $uuids[] = $data['uuid']; $sitePolygonProperties['area'] = $data['area']; - $returnSite = $this->insertSitePolygon( + $this->insertSitePolygon( $data['uuid'], array_merge($sitePolygonProperties, $feature['properties']), ); - if ($returnSite) { - Log::info($returnSite); - } } elseif ($feature['geometry']['type'] === 'MultiPolygon') { foreach ($feature['geometry']['coordinates'] as $polygon) { $singlePolygon = ['type' => 'Polygon', 'coordinates' => $polygon]; $data = $this->insertSinglePolygon($singlePolygon); $uuids[] = $data['uuid']; - $returnSite = $this->insertSitePolygon( + $this->insertSitePolygon( $data['uuid'], array_merge($sitePolygonProperties, $feature['properties']), ); - if ($returnSite) { - Log::info($returnSite); - } } } } @@ -108,6 +104,9 @@ public function updateGeojsonModels(PolygonGeometry $polygonGeometry, array $geo $polygonGeometry->uuid, array_merge(['area' => $dbGeometry['area']], data_get($geometry, 'features.0.properties', [])) )); + $project = $sitePolygon->project()->first(); + $geometryHelper = new GeometryHelper(); + $geometryHelper->updateProjectCentroid($project->uuid); } protected function getGeom(array $geometry) @@ -162,14 +161,16 @@ protected function insertSinglePoint(array $feature): string protected function insertSitePolygon(string $polygonUuid, array $properties) { try { - SitePolygon::create(array_merge( + $sitePolygon = SitePolygon::create(array_merge( $this->validateSitePolygonProperties($polygonUuid, $properties), [ 'poly_id' => $polygonUuid ?? null, 'created_by' => Auth::user()?->id, ], )); - + $project = $sitePolygon->project()->first(); + $geometryHelper = new GeometryHelper(); + $geometryHelper->updateProjectCentroid($project->uuid); return null; } catch (\Exception $e) { return $e->getMessage(); @@ -239,15 +240,8 @@ protected function transformAndStorePoints($geojson, $sitePolygonProperties): ar } } - // TODO: - // * transform points into a polygon DONE - // * Insert the polygon into PolygonGeometry DONE - // * Create the SitePolygon using the data in $properties (including $properties['site_id'] to identify the site) - // * Return the PolygonGeometry's real UUID instead of this fake return - $polygonsGeojson = App::make(PythonService::class)->voronoiTransformation($geojson); $polygonsUuids = $this->createGeojsonModels($polygonsGeojson, ['site_id' => $mainSiteID]); - Log::info('Polygons UUIDs: ' . json_encode($polygonsUuids)); return $polygonsUuids; } } From 8f88e6ab4fa29605b75fa936c004d7e0b4e563c6 Mon Sep 17 00:00:00 2001 From: JORGE Date: Thu, 27 Jun 2024 12:20:20 -0400 Subject: [PATCH 126/164] [TM-999] fix lint --- .../Controllers/V2/Geometry/GeometryController.php | 12 ++++++------ .../V2/Terrafund/TerrafundEditGeometryController.php | 5 ++++- app/Models/V2/PolygonGeometry.php | 1 + app/Models/V2/Sites/SitePolygon.php | 1 + app/Services/PolygonService.php | 6 +++--- 5 files changed, 15 insertions(+), 10 deletions(-) diff --git a/app/Http/Controllers/V2/Geometry/GeometryController.php b/app/Http/Controllers/V2/Geometry/GeometryController.php index 43298c536..81cb350f0 100644 --- a/app/Http/Controllers/V2/Geometry/GeometryController.php +++ b/app/Http/Controllers/V2/Geometry/GeometryController.php @@ -13,7 +13,6 @@ use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; use Illuminate\Support\Facades\App; -use Illuminate\Support\Facades\Log; use Illuminate\Validation\ValidationException; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; @@ -146,17 +145,18 @@ public function deleteGeometries(Request $request): JsonResponse foreach ($polygons as $polygon) { $sitePolygon = $polygon->sitePolygon; if ($sitePolygon && $sitePolygon->project) { - $projectUuid = $sitePolygon->project->uuid; - $projectUuids[] = $projectUuid; - } + $projectUuid = $sitePolygon->project->uuid; + $projectUuids[] = $projectUuid; + } $polygon->deleteWithRelated(); } - + $distinctProjectUuids = array_unique($projectUuids); $geometryHelper = new GeometryHelper(); foreach ($distinctProjectUuids as $projectUuid) { - $geometryHelper->updateProjectCentroid($projectUuid); + $geometryHelper->updateProjectCentroid($projectUuid); } + return response()->json(['success' => 'geometries have been deleted'], 202); } diff --git a/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php b/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php index 0d30e65c3..80060bb3d 100644 --- a/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php +++ b/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php @@ -106,11 +106,13 @@ public function deletePolygonAndSitePolygon(string $uuid) $geometryHelper = new GeometryHelper(); $polygonGeometry->deleteWithRelated(); $geometryHelper->updateProjectCentroid($project->uuid); - + Log::info("Polygon geometry and associated site polygon deleted successfully for UUID: $uuid"); + return response()->json(['message' => 'Polygon geometry and associated site polygon deleted successfully.', 'uuid' => $uuid]); } catch (\Exception $e) { Log::error('An error occurred: ' . $e->getMessage()); + return response()->json(['error' => 'An error occurred: ' . $e->getMessage()], 500); } } @@ -225,6 +227,7 @@ public function createSitePolygon(string $uuid, string $siteUuid, Request $reque ]); $sitePolygon->save(); $this->updateProjectCentroidFromPolygon($polygonGeometry); + return response()->json(['message' => 'Site polygon created successfully', 'uuid' => $sitePolygon, 'area' => $areaHectares], 201); } catch (\Exception $e) { // Handle other exceptions diff --git a/app/Models/V2/PolygonGeometry.php b/app/Models/V2/PolygonGeometry.php index b6d9acfcf..edf77dbf6 100644 --- a/app/Models/V2/PolygonGeometry.php +++ b/app/Models/V2/PolygonGeometry.php @@ -49,6 +49,7 @@ public function createdBy(): HasOne { return $this->hasOne(User::class, 'id', 'created_by'); } + public function point(): HasOneThrough { return $this->hasOneThrough( diff --git a/app/Models/V2/Sites/SitePolygon.php b/app/Models/V2/Sites/SitePolygon.php index 8f5e1f583..30ea4a52c 100644 --- a/app/Models/V2/Sites/SitePolygon.php +++ b/app/Models/V2/Sites/SitePolygon.php @@ -51,6 +51,7 @@ public function polygonGeometry(): BelongsTo { return $this->belongsTo(PolygonGeometry::class, 'poly_id', 'uuid'); } + public function point(): BelongsTo { return $this->belongsTo(PointGeometry::class, 'point_id', 'uuid'); diff --git a/app/Services/PolygonService.php b/app/Services/PolygonService.php index 4d16cc756..f1229cbcf 100755 --- a/app/Services/PolygonService.php +++ b/app/Services/PolygonService.php @@ -9,12 +9,10 @@ use App\Models\V2\Sites\Site; use App\Models\V2\Sites\SitePolygon; use App\Validators\SitePolygonValidator; -use App\Services\PythonService; use Illuminate\Support\Carbon; use Illuminate\Support\Facades\App; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\DB; -use Illuminate\Support\Facades\Log; class PolygonService { @@ -171,6 +169,7 @@ protected function insertSitePolygon(string $polygonUuid, array $properties) $project = $sitePolygon->project()->first(); $geometryHelper = new GeometryHelper(); $geometryHelper->updateProjectCentroid($project->uuid); + return null; } catch (\Exception $e) { return $e->getMessage(); @@ -206,7 +205,7 @@ protected function validateSitePolygonProperties(string $polygonUuid, array $pro 'num_trees' => $properties['num_trees'], 'calc_area' => $properties['area'] ?? null, 'status' => 'submitted', - 'point_id' => $properties['point_id'] ?? null + 'point_id' => $properties['point_id'] ?? null, ]; } @@ -234,6 +233,7 @@ protected function transformAndStorePoints($geojson, $sitePolygonProperties): ar $polygonsGeojson = App::make(PythonService::class)->voronoiTransformation($geojson); $polygonsUuids = $this->createGeojsonModels($polygonsGeojson, ['site_id' => $mainSiteID]); + return $polygonsUuids; } } From e35a5ae67d0b5ac5fa5c910a9fa59ad1ae6f80cc Mon Sep 17 00:00:00 2001 From: JORGE Date: Thu, 27 Jun 2024 12:21:52 -0400 Subject: [PATCH 127/164] [TM-999] remove comments --- app/Models/V2/PolygonGeometry.php | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/app/Models/V2/PolygonGeometry.php b/app/Models/V2/PolygonGeometry.php index edf77dbf6..7901cc200 100644 --- a/app/Models/V2/PolygonGeometry.php +++ b/app/Models/V2/PolygonGeometry.php @@ -55,14 +55,13 @@ public function point(): HasOneThrough return $this->hasOneThrough( PointGeometry::class, SitePolygon::class, - 'poly_id', // Foreign Key on SitePolygon table to Polygon - 'uuid', // Foreign Key on Points table - 'uuid', // Local Key on Polygon table - 'point_id' // Local Key on SitePolygon table + 'poly_id', + 'uuid', + 'uuid', + 'point_id' ); } - // New convenience method public function deleteWithRelated() { DB::transaction(function () { From 39cc3d6b283b545b6a400f16362401caf73a3418 Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Thu, 27 Jun 2024 09:26:29 -0700 Subject: [PATCH 128/164] [TM-999] Encode an empty error array as an empty object. --- app/Http/Controllers/V2/Geometry/GeometryController.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/V2/Geometry/GeometryController.php b/app/Http/Controllers/V2/Geometry/GeometryController.php index 81cb350f0..c61009485 100644 --- a/app/Http/Controllers/V2/Geometry/GeometryController.php +++ b/app/Http/Controllers/V2/Geometry/GeometryController.php @@ -14,6 +14,7 @@ use Illuminate\Http\Request; use Illuminate\Support\Facades\App; use Illuminate\Validation\ValidationException; +use stdClass; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; class GeometryController extends Controller @@ -73,7 +74,8 @@ protected function storeAndValidateGeometries($geometries): array } } - data_set($results, "$index.errors", $polygonErrors); + // Send an empty object instead of empty array if there are no errors to keep the response shape consistent. + data_set($results, "$index.errors", empty($polygonErrors) ? new stdClass() : $polygonErrors); } return $results; From 7866816a17a276ef1a8c511bd21a25f5a5ac3d80 Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Thu, 27 Jun 2024 09:56:55 -0700 Subject: [PATCH 129/164] [TM-999] Mock the PythonService in order to get the geometry controller test passing again. --- tests/V2/Geometry/GeometryControllerTest.php | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests/V2/Geometry/GeometryControllerTest.php b/tests/V2/Geometry/GeometryControllerTest.php index d304f5709..4a1e4b0b4 100644 --- a/tests/V2/Geometry/GeometryControllerTest.php +++ b/tests/V2/Geometry/GeometryControllerTest.php @@ -5,10 +5,12 @@ use App\Models\User; use App\Models\V2\Sites\Site; use App\Models\V2\WorldCountryGeneralized; +use App\Services\PythonService; use Database\Seeders\WorldCountriesGeneralizedTableSeeder; use Illuminate\Foundation\Testing\RefreshDatabase; use Illuminate\Foundation\Testing\WithFaker; use Illuminate\Support\Facades\Artisan; +use Mockery\MockInterface; use Tests\TestCase; class GeometryControllerTest extends TestCase @@ -72,6 +74,12 @@ public function test_geometry_payload_validation() ]); // Valid payload + $this->mock(PythonService::class, function (MockInterface $mock) { + $mock + ->shouldReceive('voronoiTransformation') + ->andReturn($this->fakeGeojson([$this->fakePolygon()])) + ->once(); + }); $this->actingAs($service) ->postJson('/api/v2/geometry', ['geometries' => [ $this->fakeGeojson([$this->fakePolygon(['site_id' => $site->uuid])]), From a7dfac16296e8a50389405c9967a639fdcf1d04d Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Thu, 27 Jun 2024 10:01:37 -0700 Subject: [PATCH 130/164] [TM-999] It's technically more accurate for the number of polys to match the number of points. --- tests/V2/Geometry/GeometryControllerTest.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/V2/Geometry/GeometryControllerTest.php b/tests/V2/Geometry/GeometryControllerTest.php index 4a1e4b0b4..3c7129d84 100644 --- a/tests/V2/Geometry/GeometryControllerTest.php +++ b/tests/V2/Geometry/GeometryControllerTest.php @@ -77,7 +77,10 @@ public function test_geometry_payload_validation() $this->mock(PythonService::class, function (MockInterface $mock) { $mock ->shouldReceive('voronoiTransformation') - ->andReturn($this->fakeGeojson([$this->fakePolygon()])) + ->andReturn($this->fakeGeojson([ + $this->fakePolygon(), + $this->fakePolygon(), + ])) ->once(); }); $this->actingAs($service) From 6019f5a768ae21f347a70a4c1bb320a4d9a18a52 Mon Sep 17 00:00:00 2001 From: Limber Mamani <154026979+LimberHope@users.noreply.github.com> Date: Thu, 27 Jun 2024 13:35:34 -0400 Subject: [PATCH 131/164] fix change getclass to polygon (#310) --- .../V2/Polygons/ChangeStatusPolygonsController.php | 4 ++-- app/Models/V2/Sites/SitePolygon.php | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/V2/Polygons/ChangeStatusPolygonsController.php b/app/Http/Controllers/V2/Polygons/ChangeStatusPolygonsController.php index 8dc79d8dc..94cbefaf4 100644 --- a/app/Http/Controllers/V2/Polygons/ChangeStatusPolygonsController.php +++ b/app/Http/Controllers/V2/Polygons/ChangeStatusPolygonsController.php @@ -11,7 +11,7 @@ class ChangeStatusPolygonsController extends Controller { use SaveAuditStatusTrait; - public function __invoke(ChangeStatusPolygonsUpdateRequest $request) + public function __invoke(ChangeStatusPolygonsUpdateRequest $request, SitePolygon $sitePolygon) { $body = $request->all(); $polygonCollection = collect($body['updatePolygons']); @@ -28,7 +28,7 @@ public function __invoke(ChangeStatusPolygonsUpdateRequest $request) $sitePolygon->status = $foundPolygon['status']; $sitePolygon->save(); $polygonsChanged[] = $sitePolygon; - $this->saveAuditStatus('polygon', $sitePolygon['id'], $sitePolygon['status'], $body['comment'], 'status'); + $this->saveAuditStatus(get_class($sitePolygon), $sitePolygon['id'], $sitePolygon['status'], $body['comment'], 'status'); } return response()->json($polygonsChanged); diff --git a/app/Models/V2/Sites/SitePolygon.php b/app/Models/V2/Sites/SitePolygon.php index 0d37ca430..76f673376 100644 --- a/app/Models/V2/Sites/SitePolygon.php +++ b/app/Models/V2/Sites/SitePolygon.php @@ -88,6 +88,6 @@ public function auditStatuses(): MorphMany public function getAuditableNameAttribute(): string { - return $this->poly_name; + return $this->poly_name ?? ''; } } From 05e9480deab27d88dd97757493e9fd6687e49305 Mon Sep 17 00:00:00 2001 From: Limber Mamani <154026979+LimberHope@users.noreply.github.com> Date: Thu, 27 Jun 2024 13:56:47 -0400 Subject: [PATCH 132/164] [TM-1013] all audit logs in nurseries report pages (#308) * feat: add audit log relation to entity report * feat: combine audit table * feat: improved code * improve code * lint fix * feat: add relation to nursery * fix resource and remove getModelInstance --- .../AuditStatus/GetAuditStatusController.php | 18 ++++++++++- app/Http/Resources/V2/AuditStatusResource.php | 30 +++++++++++-------- app/Models/V2/Nurseries/Nursery.php | 15 +++++++++- app/Models/V2/Nurseries/NurseryReport.php | 15 +++++++++- app/Models/V2/Projects/ProjectReport.php | 15 +++++++++- app/Models/V2/Sites/SiteReport.php | 14 ++++++++- 6 files changed, 90 insertions(+), 17 deletions(-) diff --git a/app/Http/Controllers/V2/AuditStatus/GetAuditStatusController.php b/app/Http/Controllers/V2/AuditStatus/GetAuditStatusController.php index e0132480b..60d308e00 100644 --- a/app/Http/Controllers/V2/AuditStatus/GetAuditStatusController.php +++ b/app/Http/Controllers/V2/AuditStatus/GetAuditStatusController.php @@ -20,6 +20,22 @@ public function __invoke(Request $request, AuditableModel $auditable) $auditStatus->entity_name = $auditable->getAuditableNameAttribute(); } - return AuditStatusResource::collection($auditStatuses); + $combinedData = $auditStatuses->concat($this->getAudits($auditable)); + + return AuditStatusResource::collection($combinedData); + } + + private function getAudits($auditable) + { + if (! method_exists($auditable, 'audits')) { + return collect(); + } + + $audits = $auditable->audits() + ->orderBy('updated_at', 'desc') + ->orderBy('created_at', 'desc') + ->get(); + + return $audits; } } diff --git a/app/Http/Resources/V2/AuditStatusResource.php b/app/Http/Resources/V2/AuditStatusResource.php index 52a1f8053..6256043ca 100644 --- a/app/Http/Resources/V2/AuditStatusResource.php +++ b/app/Http/Resources/V2/AuditStatusResource.php @@ -12,22 +12,28 @@ class AuditStatusResource extends JsonResource */ public function toArray($request) { + $isAuditStatus = isset($this->status); + $data = [ 'id' => $this->id, 'uuid' => $this->uuid, - 'entity_name' => $this->entity_name, - 'status' => $this->status, - 'comment' => $this->comment, - 'first_name' => $this->first_name, - 'last_name' => $this->last_name, - 'type' => $this->type, - 'is_submitted' => $this->is_submitted, - 'is_active' => $this->is_active, - 'request_removed' => $this->request_removed, - 'date_created' => $this->date_created, - 'created_by' => $this->created_by, + 'entity_name' => $this->entity_name ?? null, + 'status' => $isAuditStatus ? $this->status : ($this->new_values['status'] ?? $this->event), + 'comment' => $isAuditStatus ? $this->comment : ($this->new_values['feedback'] ?? null), + 'first_name' => $isAuditStatus ? $this->first_name : ($this->user->first_name ?? null), + 'last_name' => $isAuditStatus ? $this->last_name : ($this->user->last_name ?? null), + 'type' => $this->type ?? 'status', + 'is_submitted' => $this->is_submitted ?? null, + 'is_active' => $isAuditStatus ?? null, + 'request_removed' => $this->request_removed ?? null, + 'date_created' => $this->created_at, + 'created_by' => $isAuditStatus ? $this->created_by : ($this->user_id ?? null), ]; - return $this->appendFilesToResource($data); + if (method_exists($this->resource, 'appendFilesToResource')) { + return $this->resource->appendFilesToResource($data); + } + + return $data; } } diff --git a/app/Models/V2/Nurseries/Nursery.php b/app/Models/V2/Nurseries/Nursery.php index a5ba0ea12..847c9e829 100644 --- a/app/Models/V2/Nurseries/Nursery.php +++ b/app/Models/V2/Nurseries/Nursery.php @@ -11,6 +11,8 @@ use App\Models\Traits\HasUuid; use App\Models\Traits\HasV2MediaCollections; use App\Models\Traits\UsesLinkedFields; +use App\Models\V2\AuditableModel; +use App\Models\V2\AuditStatus\AuditStatus; use App\Models\V2\EntityModel; use App\Models\V2\MediaModel; use App\Models\V2\Polygon; @@ -22,6 +24,7 @@ use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\HasMany; +use Illuminate\Database\Eloquent\Relations\MorphMany; use Illuminate\Database\Eloquent\SoftDeletes; use Laravel\Scout\Searchable; use OwenIt\Auditing\Auditable; @@ -29,7 +32,7 @@ use Spatie\MediaLibrary\InteractsWithMedia; use Spatie\MediaLibrary\MediaCollections\Models\Media; -class Nursery extends Model implements MediaModel, AuditableContract, EntityModel +class Nursery extends Model implements MediaModel, AuditableContract, EntityModel, AuditableModel { use HasFrameworkKey; use HasFactory; @@ -205,4 +208,14 @@ public function scopeOrganisationUuid(Builder $query, string $uuid): Builder }); }); } + + public function auditStatuses(): MorphMany + { + return $this->morphMany(AuditStatus::class, 'auditable'); + } + + public function getAuditableNameAttribute(): string + { + return $this->title ?? ''; + } } diff --git a/app/Models/V2/Nurseries/NurseryReport.php b/app/Models/V2/Nurseries/NurseryReport.php index bf3be635f..0bc7b6d14 100644 --- a/app/Models/V2/Nurseries/NurseryReport.php +++ b/app/Models/V2/Nurseries/NurseryReport.php @@ -11,6 +11,8 @@ use App\Models\Traits\HasUuid; use App\Models\Traits\HasV2MediaCollections; use App\Models\Traits\UsesLinkedFields; +use App\Models\V2\AuditableModel; +use App\Models\V2\AuditStatus\AuditStatus; use App\Models\V2\MediaModel; use App\Models\V2\Organisation; use App\Models\V2\Polygon; @@ -24,6 +26,7 @@ use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; +use Illuminate\Database\Eloquent\Relations\MorphMany; use Illuminate\Database\Eloquent\SoftDeletes; use Laravel\Scout\Searchable; use OwenIt\Auditing\Auditable; @@ -33,7 +36,7 @@ use Znck\Eloquent\Relations\BelongsToThrough; use Znck\Eloquent\Traits\BelongsToThrough as BelongsToThroughTrait; -class NurseryReport extends Model implements MediaModel, AuditableContract, ReportModel +class NurseryReport extends Model implements MediaModel, AuditableContract, ReportModel, AuditableModel { use HasFrameworkKey; use HasFactory; @@ -259,4 +262,14 @@ public function parentEntity(): BelongsTo { return $this->nursery(); } + + public function auditStatuses(): MorphMany + { + return $this->morphMany(AuditStatus::class, 'auditable'); + } + + public function getAuditableNameAttribute(): string + { + return $this->title ?? ''; + } } diff --git a/app/Models/V2/Projects/ProjectReport.php b/app/Models/V2/Projects/ProjectReport.php index 6a740cc22..f8cbdb44f 100644 --- a/app/Models/V2/Projects/ProjectReport.php +++ b/app/Models/V2/Projects/ProjectReport.php @@ -12,6 +12,8 @@ use App\Models\Traits\HasV2MediaCollections; use App\Models\Traits\HasWorkdays; use App\Models\Traits\UsesLinkedFields; +use App\Models\V2\AuditableModel; +use App\Models\V2\AuditStatus\AuditStatus; use App\Models\V2\MediaModel; use App\Models\V2\Organisation; use App\Models\V2\Polygon; @@ -27,6 +29,7 @@ use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; +use Illuminate\Database\Eloquent\Relations\MorphMany; use Illuminate\Database\Eloquent\SoftDeletes; use Laravel\Scout\Searchable; use OwenIt\Auditing\Auditable; @@ -36,7 +39,7 @@ use Znck\Eloquent\Relations\BelongsToThrough; use Znck\Eloquent\Traits\BelongsToThrough as BelongsToThroughTrait; -class ProjectReport extends Model implements MediaModel, AuditableContract, ReportModel +class ProjectReport extends Model implements MediaModel, AuditableContract, ReportModel, AuditableModel { use HasFactory; use HasUuid; @@ -401,4 +404,14 @@ public function parentEntity(): BelongsTo { return $this->project(); } + + public function auditStatuses(): MorphMany + { + return $this->morphMany(AuditStatus::class, 'auditable'); + } + + public function getAuditableNameAttribute(): string + { + return $this->title ?? ''; + } } diff --git a/app/Models/V2/Sites/SiteReport.php b/app/Models/V2/Sites/SiteReport.php index dbc5752d5..885b4468c 100644 --- a/app/Models/V2/Sites/SiteReport.php +++ b/app/Models/V2/Sites/SiteReport.php @@ -13,6 +13,8 @@ use App\Models\Traits\HasV2MediaCollections; use App\Models\Traits\HasWorkdays; use App\Models\Traits\UsesLinkedFields; +use App\Models\V2\AuditableModel; +use App\Models\V2\AuditStatus\AuditStatus; use App\Models\V2\Disturbance; use App\Models\V2\Invasive; use App\Models\V2\MediaModel; @@ -41,7 +43,7 @@ use Znck\Eloquent\Relations\BelongsToThrough; use Znck\Eloquent\Traits\BelongsToThrough as BelongsToThroughTrait; -class SiteReport extends Model implements MediaModel, AuditableContract, ReportModel +class SiteReport extends Model implements MediaModel, AuditableContract, ReportModel, AuditableModel { use HasFactory; use HasUuid; @@ -355,4 +357,14 @@ public function parentEntity(): BelongsTo { return $this->site(); } + + public function auditStatuses(): MorphMany + { + return $this->morphMany(AuditStatus::class, 'auditable'); + } + + public function getAuditableNameAttribute(): string + { + return $this->title ?? ''; + } } From 741394e3f504758a1b6faccd556a24ee43310aba Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Thu, 27 Jun 2024 14:40:05 -0400 Subject: [PATCH 133/164] [TM-999] Add exception handling for null Voronoi transformation result --- app/Services/PolygonService.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/Services/PolygonService.php b/app/Services/PolygonService.php index f1229cbcf..97f46fd14 100755 --- a/app/Services/PolygonService.php +++ b/app/Services/PolygonService.php @@ -232,6 +232,11 @@ protected function transformAndStorePoints($geojson, $sitePolygonProperties): ar } $polygonsGeojson = App::make(PythonService::class)->voronoiTransformation($geojson); + + if (is_null($polygonsGeojson)) { + throw new \Exception('Voronoi transformation returned null'); + } + $polygonsUuids = $this->createGeojsonModels($polygonsGeojson, ['site_id' => $mainSiteID]); return $polygonsUuids; From af5127942ed8902bcb2882b7b5c5089d676a486f Mon Sep 17 00:00:00 2001 From: JORGE Date: Thu, 27 Jun 2024 15:07:36 -0400 Subject: [PATCH 134/164] [TM-999] remove populating loop for point uploader --- app/Services/PolygonService.php | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/app/Services/PolygonService.php b/app/Services/PolygonService.php index 97f46fd14..b8e172b1a 100755 --- a/app/Services/PolygonService.php +++ b/app/Services/PolygonService.php @@ -222,14 +222,6 @@ protected function transformAndStorePoints($geojson, $sitePolygonProperties): ar $feature['properties']['point_id'] = $currentPointUUID; } - $properties = $sitePolygonProperties; - $mainSiteID = ''; - foreach (self::POINT_PROPERTIES as $property) { - $properties[$property] = collect(data_get($geojson, "features.*.properties.$property"))->filter()->first(); - if ($property === 'site_id') { - $mainSiteID = $properties[$property]; - } - } $polygonsGeojson = App::make(PythonService::class)->voronoiTransformation($geojson); @@ -237,7 +229,7 @@ protected function transformAndStorePoints($geojson, $sitePolygonProperties): ar throw new \Exception('Voronoi transformation returned null'); } - $polygonsUuids = $this->createGeojsonModels($polygonsGeojson, ['site_id' => $mainSiteID]); + $polygonsUuids = $this->createGeojsonModels($polygonsGeojson, $sitePolygonProperties); return $polygonsUuids; } From 1b48c74425e611f84ececc0e6d94449df28ca888 Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Thu, 27 Jun 2024 12:46:18 -0700 Subject: [PATCH 135/164] [TM-999] Fix up validations and unit testing. --- .../V2/Geometry/StoreGeometryRequest.php | 2 + app/Services/PolygonService.php | 5 +- openapi-src/V2/definitions/GeoJSON.yml | 3 + .../V2/paths/Geometry/post-v2-geometry.yml | 7 +- resources/docs/swagger-v2.yml | 128 ++---------------- tests/V2/Geometry/GeometryControllerTest.php | 8 +- 6 files changed, 24 insertions(+), 129 deletions(-) diff --git a/app/Http/Requests/V2/Geometry/StoreGeometryRequest.php b/app/Http/Requests/V2/Geometry/StoreGeometryRequest.php index 41a587d40..11fc750ef 100644 --- a/app/Http/Requests/V2/Geometry/StoreGeometryRequest.php +++ b/app/Http/Requests/V2/Geometry/StoreGeometryRequest.php @@ -84,6 +84,8 @@ public function validateGeometries(): void 'geometry.features.*.geometry.type' => 'required|string|in:Point', 'geometry.features.*.geometry.coordinates' => 'required|array|size:2', 'geometry.features.*.properties.est_area' => 'required|numeric|min:1', + // All points require a site id set, and they must all be the same site (enforced via site_ids below) + 'geometry.features.*.properties.site_id' => 'required|string', 'site_ids' => 'required|array|size:1', ])->validate(); } diff --git a/app/Services/PolygonService.php b/app/Services/PolygonService.php index b8e172b1a..939b2634c 100755 --- a/app/Services/PolygonService.php +++ b/app/Services/PolygonService.php @@ -222,15 +222,12 @@ protected function transformAndStorePoints($geojson, $sitePolygonProperties): ar $feature['properties']['point_id'] = $currentPointUUID; } - $polygonsGeojson = App::make(PythonService::class)->voronoiTransformation($geojson); if (is_null($polygonsGeojson)) { throw new \Exception('Voronoi transformation returned null'); } - $polygonsUuids = $this->createGeojsonModels($polygonsGeojson, $sitePolygonProperties); - - return $polygonsUuids; + return $this->createGeojsonModels($polygonsGeojson, $sitePolygonProperties); } } diff --git a/openapi-src/V2/definitions/GeoJSON.yml b/openapi-src/V2/definitions/GeoJSON.yml index ca7ad6bd7..25c3795e2 100644 --- a/openapi-src/V2/definitions/GeoJSON.yml +++ b/openapi-src/V2/definitions/GeoJSON.yml @@ -33,6 +33,9 @@ properties: type: number site_id: type: string + required: true + est_area: + type: number geometry: type: object properties: diff --git a/openapi-src/V2/paths/Geometry/post-v2-geometry.yml b/openapi-src/V2/paths/Geometry/post-v2-geometry.yml index 723d55ea5..c58501782 100644 --- a/openapi-src/V2/paths/Geometry/post-v2-geometry.yml +++ b/openapi-src/V2/paths/Geometry/post-v2-geometry.yml @@ -4,12 +4,7 @@ tags: - V2 Geometry description: | Takes an array of geometries and adds them to the sites indicated. For each geometry, it may either be a - single Polygon (in which case the site_id is required), or it may be a FeatureCollection of Points. If a geometry - is a collection of points, then the site_id must be present on at least one of the points. If it is present on - multiple points, all points within a given collection must have the same site_id. - - For additional properties (plantstart, num_trees, etc) on Point geometries, if the properties are present on - multiple Points, the first non-null value for each is used. + single Polygon or it may be a FeatureCollection of Points. The response is an array of objects. Each index in the response corresponds to the geometry at the same index in the request payload. diff --git a/resources/docs/swagger-v2.yml b/resources/docs/swagger-v2.yml index c7bb8f0b2..908561b91 100644 --- a/resources/docs/swagger-v2.yml +++ b/resources/docs/swagger-v2.yml @@ -44021,6 +44021,9 @@ definitions: type: number site_id: type: string + required: true + est_area: + type: number geometry: type: object properties: @@ -94270,115 +94273,6 @@ paths: description: 'this is a list of key value pairs eg slug: name ' items: type: string - '/v2/sites/{UUID}/geometry': - post: - summary: Upload bulk geometry to a specific site. - operationId: post-v2-sites-uuid-geometry - tags: - - V2 Sites - deprecated: true - description: Use POST /api/v2/geometry instead (and include the site ID in the polygon properties) - parameters: - - type: string - name: UUID - in: path - required: true - - in: body - name: body - schema: - type: object - properties: - geometries: - type: array - items: - title: GeoJSON - type: object - properties: - type: - type: string - enum: - - FeatureCollection - features: - type: array - items: - type: object - properties: - type: - type: string - enum: - - Feature - properties: - type: object - properties: - poly_name: - type: string - plantstart: - type: string - format: date - plantend: - type: string - format: date - practice: - type: string - target_sys: - type: string - distr: - type: string - num_trees: - type: number - site_id: - type: string - geometry: - type: object - properties: - type: - type: string - enum: - - Polygon - - Point - coordinates: - type: array - responses: - '201': - description: Created - schema: - title: SiteGeometryPost - type: array - items: - type: object - properties: - polygon_uuids: - type: array - items: - type: string - description: | - The UUIDs generated by the system for the uploaded geometry at this index. For a polygon geometry, this - always be an array with 1 member. For Point geometry, there will be the same number of UUIDS associated as - there were Points in the request payload at this index, and the order will be the same. - errors: - type: object - description: Mapping of polygon UUID to the errors associated with the polygon. The geometry was saved in the DB and must be updated instead of created once the issues are resolved. - additionalProperties: - type: array - items: - type: object - properties: - key: - type: string - enum: - - OVERLAPPING_POLYGON - - SELF_INTERSECTION - - COORDINATE_SYSTEM - - SIZE_LIMIT - - WITHIN_COUNTRY - - SPIKE - - GEOMETRY_TYPE - - TOTAL_AREA_EXPECTED - - TABLE_SCHEMA - - DATA_COMPLETED - message: - type: string - description: Human readable string in English to describe the error. '/v2/site-monitorings/{UUID}': get: summary: View a specific site monitoring @@ -95062,6 +94956,9 @@ paths: type: number site_id: type: string + required: true + est_area: + type: number geometry: type: object properties: @@ -95119,12 +95016,7 @@ paths: - V2 Geometry description: | Takes an array of geometries and adds them to the sites indicated. For each geometry, it may either be a - single Polygon (in which case the site_id is required), or it may be a FeatureCollection of Points. If a geometry - is a collection of points, then the site_id must be present on at least one of the points. If it is present on - multiple points, all points within a given collection must have the same site_id. - - For additional properties (plantstart, num_trees, etc) on Point geometries, if the properties are present on - multiple Points, the first non-null value for each is used. + single Polygon or it may be a FeatureCollection of Points. The response is an array of objects. Each index in the response corresponds to the geometry at the same index in the request payload. @@ -95174,6 +95066,9 @@ paths: type: number site_id: type: string + required: true + est_area: + type: number geometry: type: object properties: @@ -95298,6 +95193,9 @@ paths: type: number site_id: type: string + required: true + est_area: + type: number geometry: type: object properties: diff --git a/tests/V2/Geometry/GeometryControllerTest.php b/tests/V2/Geometry/GeometryControllerTest.php index 3c7129d84..37ed17ac3 100644 --- a/tests/V2/Geometry/GeometryControllerTest.php +++ b/tests/V2/Geometry/GeometryControllerTest.php @@ -74,12 +74,12 @@ public function test_geometry_payload_validation() ]); // Valid payload - $this->mock(PythonService::class, function (MockInterface $mock) { + $this->mock(PythonService::class, function (MockInterface $mock) use ($site) { $mock ->shouldReceive('voronoiTransformation') ->andReturn($this->fakeGeojson([ - $this->fakePolygon(), - $this->fakePolygon(), + $this->fakePolygon(['site_id' => $site->uuid]), + $this->fakePolygon(['site_id' => $site->uuid]), ])) ->once(); }); @@ -88,7 +88,7 @@ public function test_geometry_payload_validation() $this->fakeGeojson([$this->fakePolygon(['site_id' => $site->uuid])]), $this->fakeGeojson([ $this->fakePoint(['site_id' => $site->uuid, 'est_area' => 10]), - $this->fakePoint(['est_area' => 20]), + $this->fakePoint(['site_id' => $site->uuid, 'est_area' => 20]), ]), ]]) ->assertStatus(201); From 84be794ca85836ff801bb3f2010a873498d67d6c Mon Sep 17 00:00:00 2001 From: JORGE Date: Fri, 28 Jun 2024 11:27:00 -0400 Subject: [PATCH 136/164] [TM-1045] change to draft as default --- app/Helpers/TerrafundDashboardQueryHelper.php | 4 ++-- app/Http/Controllers/V2/Dashboard/ViewProjectController.php | 1 + .../V2/Terrafund/TerrafundEditGeometryController.php | 2 +- app/Services/PolygonService.php | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/app/Helpers/TerrafundDashboardQueryHelper.php b/app/Helpers/TerrafundDashboardQueryHelper.php index 008641be8..560b4242c 100644 --- a/app/Helpers/TerrafundDashboardQueryHelper.php +++ b/app/Helpers/TerrafundDashboardQueryHelper.php @@ -53,7 +53,7 @@ public static function getPolygonUuidsOfProject($request) public static function getPolygonsByStatus() { try { - $statuses = ['needs-more-information', 'submitted', 'approved']; + $statuses = ['needs-more-information', 'submitted', 'approved', 'draft']; $polygons = []; foreach ($statuses as $status) { $polygonsOfProject = SitePolygon::where('status', $status) @@ -76,7 +76,7 @@ public static function retrievePolygonUuidsByStatusForProject($projectUuid) { $project = Project::where('uuid', $projectUuid)->first(); $sitePolygons = $project->sitePolygons; - $statuses = ['needs-more-information', 'submitted', 'approved']; + $statuses = ['needs-more-information', 'submitted', 'approved','draft']; $polygons = []; foreach ($statuses as $status) { diff --git a/app/Http/Controllers/V2/Dashboard/ViewProjectController.php b/app/Http/Controllers/V2/Dashboard/ViewProjectController.php index 1c44a318b..026747f0e 100644 --- a/app/Http/Controllers/V2/Dashboard/ViewProjectController.php +++ b/app/Http/Controllers/V2/Dashboard/ViewProjectController.php @@ -105,6 +105,7 @@ public function getAllProjectsAllowedToUser() 'needs-more-information' => [], 'submitted' => [], 'approved' => [], + 'draft' => [] ]; foreach ($projectUuids as $uuid) { diff --git a/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php b/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php index 80060bb3d..0fa5289ad 100644 --- a/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php +++ b/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php @@ -222,7 +222,7 @@ public function createSitePolygon(string $uuid, string $siteUuid, Request $reque 'target_sys' => $validatedData['target_sys'], 'poly_id' => $uuid, 'created_by' => Auth::user()?->id, - 'status' => 'submitted', + 'status' => 'draft', 'site_id' => $siteUuid, ]); $sitePolygon->save(); diff --git a/app/Services/PolygonService.php b/app/Services/PolygonService.php index 939b2634c..a9b618fd4 100755 --- a/app/Services/PolygonService.php +++ b/app/Services/PolygonService.php @@ -204,7 +204,7 @@ protected function validateSitePolygonProperties(string $polygonUuid, array $pro 'distr' => $properties['distr'] ?? null, 'num_trees' => $properties['num_trees'], 'calc_area' => $properties['area'] ?? null, - 'status' => 'submitted', + 'status' => 'draft', 'point_id' => $properties['point_id'] ?? null, ]; } From 5a93f96d2d9ca92f75d6b941a80e9024bb6a8888 Mon Sep 17 00:00:00 2001 From: JORGE Date: Fri, 28 Jun 2024 11:46:10 -0400 Subject: [PATCH 137/164] [TM-1045] fix lint --- app/Http/Controllers/V2/Dashboard/ViewProjectController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Http/Controllers/V2/Dashboard/ViewProjectController.php b/app/Http/Controllers/V2/Dashboard/ViewProjectController.php index 026747f0e..a9be71026 100644 --- a/app/Http/Controllers/V2/Dashboard/ViewProjectController.php +++ b/app/Http/Controllers/V2/Dashboard/ViewProjectController.php @@ -105,7 +105,7 @@ public function getAllProjectsAllowedToUser() 'needs-more-information' => [], 'submitted' => [], 'approved' => [], - 'draft' => [] + 'draft' => [], ]; foreach ($projectUuids as $uuid) { From 794daa078c0607512da612c172d860ba2e0e9e03 Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Fri, 28 Jun 2024 11:14:16 -0700 Subject: [PATCH 138/164] [TM-1031] Implement service for communicating with GH's GraphQL API --- app/Clients/GreenhouseClient.php | 71 ++++++++++++++++++++++++++++++++ config/services.php | 4 ++ 2 files changed, 75 insertions(+) create mode 100644 app/Clients/GreenhouseClient.php diff --git a/app/Clients/GreenhouseClient.php b/app/Clients/GreenhouseClient.php new file mode 100644 index 000000000..5a59fa7b6 --- /dev/null +++ b/app/Clients/GreenhouseClient.php @@ -0,0 +1,71 @@ +url = config('services.greenhouse_api.url'); + $this->token = config('services.greenhouse_api.token'); + $this->client = $client; + } + + public function getEnabled(): bool + { + return ! empty($this->url) && ! empty($this->token); + } + + /** + * @throws ExternalAPIException + */ + public function notifyPolygonUpdated(string $polygonUuid): ?array + { + return $this->runQuery('tmNotifyFeatureUpdated', $polygonUuid); + } + + /** + * @throws ExternalAPIException + */ + public function notifyMediaDeleted(string $mediaUuid): ?array + { + return $this->runQuery('tmNotifyMediaDeleted', $mediaUuid); + } + + /** + * @throws ExternalAPIException + */ + protected function runQuery(string $functionName, string $uuid): ?array + { + if (! $this->getEnabled()) { + return null; + } + + try { + $response = $this->client->request('POST', $this->url, [ + 'headers' => [ + 'api-key' => $this->token, + 'Content-Type' => 'application/json' + ], + 'body' => json_encode([ + 'query' => 'mutation ($uuid: Id!) { ' . $functionName . '(uuid: $uuid) { ok } }', + 'variables' => [ 'uuid' => $uuid ] + ]) + ]); + } catch (GuzzleException $exception) { + Log::error('Exception sending query to Greenhouse: ' . $exception->getMessage()); + throw new ExternalAPIException($exception->getMessage(), $exception->getCode(), $exception); + } + + return json_decode($response->getBody()->getContents(), true); + } +} diff --git a/config/services.php b/config/services.php index 6ffb2004a..632799769 100644 --- a/config/services.php +++ b/config/services.php @@ -49,4 +49,8 @@ 'url' => env('TREE_SEARCH_API_URL') ], + 'greenhouse_api' => [ + 'url' => env('GREENHOUSE_API_URL'), + 'token' => env('GREENHOUSE_API_TOKEN'), + ], ]; From b6a13d5660c0be5a8c1f4760741de959c8e196ef Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Fri, 28 Jun 2024 15:05:52 -0400 Subject: [PATCH 139/164] [TM-1055] Refactored getCurrentSiteValidation method to improve error handling and simplify logic --- .../TerrafundCreateGeometryController.php | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php b/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php index e6b37cff7..265f66605 100644 --- a/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php +++ b/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php @@ -543,22 +543,28 @@ public function getCurrentSiteValidation(Request $request) { try { $uuid = $request->input('uuid'); - $sitePolygonsUuids = $this->getSitePolygonsUuids($uuid); $checkedPolygons = []; foreach ($sitePolygonsUuids as $polygonUuid) { - $isValid = true; - $isChecked = true; - $criteriaData = $this->fetchCriteriaData($polygonUuid); if (isset($criteriaData['error'])) { Log::error('Error fetching criteria data', ['polygon_uuid' => $polygonUuid, 'error' => $criteriaData['error']]); + $checkedPolygons[] = [ + 'uuid' => $polygonUuid, + 'valid' => false, + 'checked' => false, + 'nonValidCriteria' => [], + ]; + continue; + } + + $isValid = true; + $nonValidCriteria = []; + if (empty($criteriaData["criteria_list"])) { $isValid = false; - $isChecked = false; } else { - $nonValidCriteria = []; foreach ($criteriaData['criteria_list'] as $criteria) { if ($criteria['valid'] == 0) { $isValid = false; @@ -570,7 +576,7 @@ public function getCurrentSiteValidation(Request $request) $checkedPolygons[] = [ 'uuid' => $polygonUuid, 'valid' => $isValid, - 'checked' => $isChecked, + 'checked' => !empty($criteriaData["criteria_list"]), 'nonValidCriteria' => $nonValidCriteria, ]; } From 6db72225647d3036afb08ab573bfe96319db4fe0 Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Fri, 28 Jun 2024 12:06:19 -0700 Subject: [PATCH 140/164] [TM-1031] Implement sending a notification to GH when media is deleted or polygons are updated. --- app/Clients/GreenhouseClient.php | 14 ++++-- app/Http/Controllers/V2/MediaController.php | 9 ++-- app/Jobs/NotifyGreenhouseJob.php | 47 +++++++++++++++++++++ app/Observers/MediaObserver.php | 31 ++++++++++++++ app/Observers/SitePolygonObserver.php | 33 +++++++++++++++ app/Providers/AppServiceProvider.php | 7 +++ 6 files changed, 132 insertions(+), 9 deletions(-) create mode 100644 app/Jobs/NotifyGreenhouseJob.php create mode 100644 app/Observers/MediaObserver.php create mode 100644 app/Observers/SitePolygonObserver.php diff --git a/app/Clients/GreenhouseClient.php b/app/Clients/GreenhouseClient.php index 5a59fa7b6..ee3f2673c 100644 --- a/app/Clients/GreenhouseClient.php +++ b/app/Clients/GreenhouseClient.php @@ -10,7 +10,9 @@ class GreenhouseClient { protected string $url; + protected string $token; + protected Client $client; public function __construct(Client $client) @@ -54,15 +56,19 @@ protected function runQuery(string $functionName, string $uuid): ?array $response = $this->client->request('POST', $this->url, [ 'headers' => [ 'api-key' => $this->token, - 'Content-Type' => 'application/json' + 'Content-Type' => 'application/json', ], 'body' => json_encode([ 'query' => 'mutation ($uuid: Id!) { ' . $functionName . '(uuid: $uuid) { ok } }', - 'variables' => [ 'uuid' => $uuid ] - ]) + 'variables' => [ 'uuid' => $uuid ], + ]), ]); } catch (GuzzleException $exception) { - Log::error('Exception sending query to Greenhouse: ' . $exception->getMessage()); + Log::error( + "Exception sending query to Greenhouse [fn=$functionName, uuid=$uuid]: " . + $exception->getMessage() + ); + throw new ExternalAPIException($exception->getMessage(), $exception->getCode(), $exception); } diff --git a/app/Http/Controllers/V2/MediaController.php b/app/Http/Controllers/V2/MediaController.php index 4631e0024..0f06266c2 100644 --- a/app/Http/Controllers/V2/MediaController.php +++ b/app/Http/Controllers/V2/MediaController.php @@ -27,11 +27,10 @@ public function delete(Request $request, string $uuid, string $collection = ''): $model = $media->model; - if (! empty($media)) { - $permission = empty($collection) ? 'deleteMedia' : 'delete' . ucfirst($collection) .'Media'; - $this->authorize($permission, $model); - } - Media::find($media->id)->delete(); + $permission = empty($collection) ? 'deleteMedia' : 'delete' . ucfirst($collection) .'Media'; + $this->authorize($permission, $model); + + $media->delete(); return response()->json(['success' => 'media has been deleted'], 202); } diff --git a/app/Jobs/NotifyGreenhouseJob.php b/app/Jobs/NotifyGreenhouseJob.php new file mode 100644 index 000000000..5f86ac765 --- /dev/null +++ b/app/Jobs/NotifyGreenhouseJob.php @@ -0,0 +1,47 @@ +method = $method; + $this->modelUuid = $modelUuid; + } + + /** + * Execute the job. + */ + public function handle(): void + { + try { + App::make(GreenhouseClient::class)->{$this->method}($this->modelUuid); + } catch (ExternalAPIException $exception) { + Log::error($exception->getMessage()); + } + } +} diff --git a/app/Observers/MediaObserver.php b/app/Observers/MediaObserver.php new file mode 100644 index 000000000..58b061a45 --- /dev/null +++ b/app/Observers/MediaObserver.php @@ -0,0 +1,31 @@ +uuid); + if (empty($media->created_by)) { + Log::info('no created by'); + + return; + } + + $owner = User::where('id', $media->created_by)->first(); + if ($owner?->primaryRole?->name != 'greenhouse-service-account') { + Log::info('not owned by GH'); + + return; + } + + Log::info('dispatching'); + NotifyGreenhouseJob::dispatch('notifyMediaDeleted', $media->uuid); + } +} diff --git a/app/Observers/SitePolygonObserver.php b/app/Observers/SitePolygonObserver.php new file mode 100644 index 000000000..1d2e59bc0 --- /dev/null +++ b/app/Observers/SitePolygonObserver.php @@ -0,0 +1,33 @@ +createdByGreenhouse($sitePolygon)) { + $this->notifyGreenhouse($sitePolygon->uuid); + } + } + + public function deleting(SitePolygon $sitePolygon): void + { + if ($this->createdByGreenhouse($sitePolygon)) { + $this->notifyGreenhouse($sitePolygon->uuid); + } + } + + protected function createdByGreenhouse(SitePolygon $sitePolygon): bool + { + return $sitePolygon->createdBy()->first()?->primaryRole?->name == 'greenhouse-service-account'; + } + + protected function notifyGreenhouse(string $uuid): void + { + NotifyGreenhouseJob::dispatch('notifyPolygonUpdated', $uuid); + } +} diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 7b05f1ea4..637859738 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -3,10 +3,14 @@ namespace App\Providers; use App\Auth\ServiceAccountGuard; +use App\Models\V2\Sites\SitePolygon; +use App\Observers\MediaObserver; +use App\Observers\SitePolygonObserver; use Illuminate\Contracts\Foundation\Application; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\URL; use Illuminate\Support\ServiceProvider; +use Spatie\MediaLibrary\MediaCollections\Models\Media; class AppServiceProvider extends ServiceProvider { @@ -29,5 +33,8 @@ public function boot() Auth::extend('service-account', function (Application $app, string $name, array $config) { return new ServiceAccountGuard($app['request']); }); + + SitePolygon::observe(SitePolygonObserver::class); + Media::observe(MediaObserver::class); } } From 180452b1edb49bd41df6c7044e0eab251d9148f0 Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Fri, 28 Jun 2024 15:36:34 -0400 Subject: [PATCH 141/164] [TM-1055]make lint fix --- .../V2/Terrafund/TerrafundCreateGeometryController.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php b/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php index 265f66605..fe4f6bbba 100644 --- a/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php +++ b/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php @@ -557,12 +557,13 @@ public function getCurrentSiteValidation(Request $request) 'checked' => false, 'nonValidCriteria' => [], ]; + continue; } $isValid = true; $nonValidCriteria = []; - if (empty($criteriaData["criteria_list"])) { + if (empty($criteriaData['criteria_list'])) { $isValid = false; } else { foreach ($criteriaData['criteria_list'] as $criteria) { @@ -576,7 +577,7 @@ public function getCurrentSiteValidation(Request $request) $checkedPolygons[] = [ 'uuid' => $polygonUuid, 'valid' => $isValid, - 'checked' => !empty($criteriaData["criteria_list"]), + 'checked' => ! empty($criteriaData['criteria_list']), 'nonValidCriteria' => $nonValidCriteria, ]; } From 8167b960d88b97a93a37cc06e37aa8fcfc9c9eb0 Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Mon, 1 Jul 2024 11:17:48 -0400 Subject: [PATCH 142/164] [TM-1022] migration to add source column in site polygon table --- ...8_add_column_source_site_polygon_table.php | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 database/migrations/2024_07_01_144528_add_column_source_site_polygon_table.php diff --git a/database/migrations/2024_07_01_144528_add_column_source_site_polygon_table.php b/database/migrations/2024_07_01_144528_add_column_source_site_polygon_table.php new file mode 100644 index 000000000..1964b8db5 --- /dev/null +++ b/database/migrations/2024_07_01_144528_add_column_source_site_polygon_table.php @@ -0,0 +1,32 @@ +string('source', 255)->nullable()->after('status'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('site_polygon', function (Blueprint $table) { + $table->dropColumn('source'); + }); + } +} From 57119c247971613e30d3d6ca57d9bc45719d3954 Mon Sep 17 00:00:00 2001 From: JORGE Date: Mon, 1 Jul 2024 11:30:01 -0400 Subject: [PATCH 143/164] [TM-1022] ADD STATUS UPLOAD for upload data KML GEOJSON SHAPEFILE --- .../V2/Terrafund/TerrafundCreateGeometryController.php | 4 +++- app/Models/V2/Sites/SitePolygon.php | 1 + app/Services/PolygonService.php | 5 +++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php b/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php index fe4f6bbba..b8bb75e27 100644 --- a/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php +++ b/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php @@ -28,6 +28,8 @@ class TerrafundCreateGeometryController extends Controller { + + public function processGeometry(string $uuid) { $geometry = PolygonGeometry::isUuid($uuid)->first(); @@ -68,7 +70,7 @@ public function insertGeojsonToDB(string $geojsonFilename, ?string $site_id = nu SitePolygonValidator::validate('FEATURE_BOUNDS', $geojson, false); - return App::make(PolygonService::class)->createGeojsonModels($geojson, ['site_id' => $site_id]); + return App::make(PolygonService::class)->createGeojsonModels($geojson, ['site_id' => $site_id , "source" => PolygonService::UPLOADED_SOURCE]); } public function validateDataInDB(Request $request) diff --git a/app/Models/V2/Sites/SitePolygon.php b/app/Models/V2/Sites/SitePolygon.php index 7b35fc77b..b64e2b6f9 100644 --- a/app/Models/V2/Sites/SitePolygon.php +++ b/app/Models/V2/Sites/SitePolygon.php @@ -45,6 +45,7 @@ class SitePolygon extends Model implements AuditableModel 'calc_area', 'status', 'created_by', + 'source' ]; public function polygonGeometry(): BelongsTo diff --git a/app/Services/PolygonService.php b/app/Services/PolygonService.php index a9b618fd4..a001901e3 100755 --- a/app/Services/PolygonService.php +++ b/app/Services/PolygonService.php @@ -27,6 +27,10 @@ class PolygonService public const SCHEMA_CRITERIA_ID = 13; public const DATA_CRITERIA_ID = 14; + public const UPLOADED_SOURCE = 'uploaded'; + public const TERRAMACH_SOURCE = 'terramatch'; + public const GREENHOUSE_SOURCE = 'greenhouse'; + // TODO: Remove this const and its usages when the point transformation ticket is complete. public const TEMP_FAKE_POLYGON_UUID = 'temp_fake_polygon_uuid'; @@ -206,6 +210,7 @@ protected function validateSitePolygonProperties(string $polygonUuid, array $pro 'calc_area' => $properties['area'] ?? null, 'status' => 'draft', 'point_id' => $properties['point_id'] ?? null, + 'source' => $properties['source'] ?? null ]; } From 919acb1ad11d52bf86781a928dea21740f044250 Mon Sep 17 00:00:00 2001 From: JORGE Date: Mon, 1 Jul 2024 11:52:26 -0400 Subject: [PATCH 144/164] [TM-1022] add source for create polygon --- .../V2/Terrafund/TerrafundEditGeometryController.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php b/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php index 0fa5289ad..c172f8f8f 100644 --- a/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php +++ b/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php @@ -8,6 +8,7 @@ use App\Models\V2\Projects\Project; use App\Models\V2\Sites\Site; use App\Models\V2\Sites\SitePolygon; +use App\Services\PolygonService; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\DB; @@ -223,6 +224,7 @@ public function createSitePolygon(string $uuid, string $siteUuid, Request $reque 'poly_id' => $uuid, 'created_by' => Auth::user()?->id, 'status' => 'draft', + 'source' => PolygonService::TERRAMACH_SOURCE, 'site_id' => $siteUuid, ]); $sitePolygon->save(); From f2b3a65f97c4823d6f977770bed06a8b3117d020 Mon Sep 17 00:00:00 2001 From: JORGE Date: Mon, 1 Jul 2024 12:18:04 -0400 Subject: [PATCH 145/164] [TM-1022] add source for greenhouse insert point and polygon --- app/Http/Controllers/V2/Geometry/GeometryController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Http/Controllers/V2/Geometry/GeometryController.php b/app/Http/Controllers/V2/Geometry/GeometryController.php index c61009485..9a269474d 100644 --- a/app/Http/Controllers/V2/Geometry/GeometryController.php +++ b/app/Http/Controllers/V2/Geometry/GeometryController.php @@ -60,7 +60,7 @@ protected function storeAndValidateGeometries($geometries): array $service = App::make(PolygonService::class); $results = []; foreach ($geometries as $geometry) { - $results[] = ['polygon_uuids' => $service->createGeojsonModels($geometry)]; + $results[] = ['polygon_uuids' => $service->createGeojsonModels($geometry, ['source' => PolygonService::GREENHOUSE_SOURCE] )]; } // Do the validation in a separate step so that all of the existing polygons are taken into account From 05f8abdb8f053acbf99e27fb84ebdbc1cf9e1877 Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Mon, 1 Jul 2024 12:35:52 -0400 Subject: [PATCH 146/164] [TM-1022] add source to sitePolygon definition --- openapi-src/V2/definitions/SitePolygon.yml | 2 ++ resources/docs/swagger-v2.yml | 14 ++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/openapi-src/V2/definitions/SitePolygon.yml b/openapi-src/V2/definitions/SitePolygon.yml index 51f5cd1e0..a0fb8bed3 100644 --- a/openapi-src/V2/definitions/SitePolygon.yml +++ b/openapi-src/V2/definitions/SitePolygon.yml @@ -51,5 +51,7 @@ properties: format: date-time status: type: string + source: + type: string country: type: string \ No newline at end of file diff --git a/resources/docs/swagger-v2.yml b/resources/docs/swagger-v2.yml index 908561b91..ed697e72e 100644 --- a/resources/docs/swagger-v2.yml +++ b/resources/docs/swagger-v2.yml @@ -44305,6 +44305,8 @@ definitions: format: date-time status: type: string + source: + type: string country: type: string GeometryString: @@ -44369,6 +44371,8 @@ definitions: format: date-time status: type: string + source: + type: string country: type: string SitePolygonsBboxResponse: @@ -45108,6 +45112,8 @@ definitions: format: date-time status: type: string + source: + type: string country: type: string bbox: @@ -45216,6 +45222,8 @@ definitions: format: date-time status: type: string + source: + type: string country: type: string PolygonChangeStatusUpdate: @@ -95484,6 +95492,8 @@ paths: format: date-time status: type: string + source: + type: string country: type: string '400': @@ -97168,6 +97178,8 @@ paths: format: date-time status: type: string + source: + type: string country: type: string bbox: @@ -97351,5 +97363,7 @@ paths: format: date-time status: type: string + source: + type: string country: type: string From 8cd31ed6b0ba35ed9dfb2c4ea71c0668e6ee92c3 Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Mon, 1 Jul 2024 15:48:40 -0400 Subject: [PATCH 147/164] [TM-1022] make lint fix --- app/Http/Controllers/V2/Geometry/GeometryController.php | 2 +- .../V2/Terrafund/TerrafundCreateGeometryController.php | 4 +--- app/Models/V2/Sites/SitePolygon.php | 2 +- app/Services/PolygonService.php | 2 +- 4 files changed, 4 insertions(+), 6 deletions(-) diff --git a/app/Http/Controllers/V2/Geometry/GeometryController.php b/app/Http/Controllers/V2/Geometry/GeometryController.php index 9a269474d..7e2d92cd4 100644 --- a/app/Http/Controllers/V2/Geometry/GeometryController.php +++ b/app/Http/Controllers/V2/Geometry/GeometryController.php @@ -60,7 +60,7 @@ protected function storeAndValidateGeometries($geometries): array $service = App::make(PolygonService::class); $results = []; foreach ($geometries as $geometry) { - $results[] = ['polygon_uuids' => $service->createGeojsonModels($geometry, ['source' => PolygonService::GREENHOUSE_SOURCE] )]; + $results[] = ['polygon_uuids' => $service->createGeojsonModels($geometry, ['source' => PolygonService::GREENHOUSE_SOURCE])]; } // Do the validation in a separate step so that all of the existing polygons are taken into account diff --git a/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php b/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php index b8bb75e27..9d4f823ba 100644 --- a/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php +++ b/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php @@ -28,8 +28,6 @@ class TerrafundCreateGeometryController extends Controller { - - public function processGeometry(string $uuid) { $geometry = PolygonGeometry::isUuid($uuid)->first(); @@ -70,7 +68,7 @@ public function insertGeojsonToDB(string $geojsonFilename, ?string $site_id = nu SitePolygonValidator::validate('FEATURE_BOUNDS', $geojson, false); - return App::make(PolygonService::class)->createGeojsonModels($geojson, ['site_id' => $site_id , "source" => PolygonService::UPLOADED_SOURCE]); + return App::make(PolygonService::class)->createGeojsonModels($geojson, ['site_id' => $site_id , 'source' => PolygonService::UPLOADED_SOURCE]); } public function validateDataInDB(Request $request) diff --git a/app/Models/V2/Sites/SitePolygon.php b/app/Models/V2/Sites/SitePolygon.php index b64e2b6f9..b28b2f89c 100644 --- a/app/Models/V2/Sites/SitePolygon.php +++ b/app/Models/V2/Sites/SitePolygon.php @@ -45,7 +45,7 @@ class SitePolygon extends Model implements AuditableModel 'calc_area', 'status', 'created_by', - 'source' + 'source', ]; public function polygonGeometry(): BelongsTo diff --git a/app/Services/PolygonService.php b/app/Services/PolygonService.php index a001901e3..0ebe52b93 100755 --- a/app/Services/PolygonService.php +++ b/app/Services/PolygonService.php @@ -210,7 +210,7 @@ protected function validateSitePolygonProperties(string $polygonUuid, array $pro 'calc_area' => $properties['area'] ?? null, 'status' => 'draft', 'point_id' => $properties['point_id'] ?? null, - 'source' => $properties['source'] ?? null + 'source' => $properties['source'] ?? null, ]; } From d1a73ec680c6f9f051ed5c437d1cfe38b1639ff0 Mon Sep 17 00:00:00 2001 From: Limber Mamani <154026979+LimberHope@users.noreply.github.com> Date: Mon, 1 Jul 2024 16:16:36 -0400 Subject: [PATCH 148/164] [TM-1068] feat: add new command to remove duplicates reports to entity (#315) --- .../RemoveDuplicatedReportsCommand.php | 84 +++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 app/Console/Commands/RemoveDuplicatedReportsCommand.php diff --git a/app/Console/Commands/RemoveDuplicatedReportsCommand.php b/app/Console/Commands/RemoveDuplicatedReportsCommand.php new file mode 100644 index 000000000..e1a7605fc --- /dev/null +++ b/app/Console/Commands/RemoveDuplicatedReportsCommand.php @@ -0,0 +1,84 @@ +option('due_at'); + $frameworkKey = $this->option('framework_key'); + $type = $this->option('type'); + + if (! $specificDueAt || ! $frameworkKey || ! $type) { + $this->error('The --due_at, --framework_key, and --type options are required.'); + + return 1; + } + + switch ($type) { + case 'project': + $reportModel = ProjectReport::class; + + break; + case 'nursery': + $reportModel = NurseryReport::class; + + break; + case 'site': + $reportModel = SiteReport::class; + + break; + default: + $this->error('Type must be one of "project", "nursery", or "site".'); + + return 1; + } + + $duplicateReports = DB::table("v2_{$type}_reports as pr1") + ->select('pr1.id') + ->join("v2_{$type}_reports as pr2", function ($join) use ($specificDueAt, $type) { + $join->on("pr1.{$type}_id", '=', "pr2.{$type}_id") + ->on('pr1.due_at', '=', 'pr2.due_at') + ->whereRaw('pr1.id > pr2.id') + ->where('pr1.due_at', '=', $specificDueAt); + }) + ->where('pr1.framework_key', $frameworkKey) + ->get(); + + $duplicateIds = $duplicateReports->pluck('id')->toArray(); + + $reportsToDelete = $reportModel::whereIn('id', $duplicateIds)->get(); + + $reportModel::whereIn('id', $duplicateIds)->delete(); + + $this->info('Duplicate reports with framework_key "' . $frameworkKey . '" and due_at "' . $specificDueAt . '" removed successfully.'); + + $this->showDeletedReports($reportsToDelete); + + $this->info('Reports processed successfully.'); + } + + protected function showDeletedReports($reportsToDelete) + { + $headers = ['ID', 'Due At', 'Framework Key']; + $reportRows = []; + + foreach ($reportsToDelete as $report) { + $reportRows[] = [$report->id, $report->due_at, $report->framework_key]; + } + + $this->info('Deleted reports:'); + $this->table($headers, $reportRows); + } +} From 7b206c370f8153c6e56e79e389b8e138401e3fa9 Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Mon, 1 Jul 2024 16:29:51 -0400 Subject: [PATCH 149/164] [TM-1022] verify existence of source column --- ..._07_01_144528_add_column_source_site_polygon_table.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/database/migrations/2024_07_01_144528_add_column_source_site_polygon_table.php b/database/migrations/2024_07_01_144528_add_column_source_site_polygon_table.php index 1964b8db5..94ac6999a 100644 --- a/database/migrations/2024_07_01_144528_add_column_source_site_polygon_table.php +++ b/database/migrations/2024_07_01_144528_add_column_source_site_polygon_table.php @@ -13,9 +13,11 @@ class AddColumnSourceSitePolygonTable extends Migration */ public function up() { - Schema::table('site_polygon', function (Blueprint $table) { - $table->string('source', 255)->nullable()->after('status'); - }); + if (!Schema::hasColumn('site_polygon', 'source')) { + Schema::table('site_polygon', function (Blueprint $table) { + $table->string('source', 255)->nullable()->after('status'); + }); + } } /** From 6ac00e025d734cbd77d38ae9810f9ba5e15e87d0 Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Mon, 1 Jul 2024 16:33:34 -0400 Subject: [PATCH 150/164] [TM-1022] make lint fix --- .../2024_07_01_144528_add_column_source_site_polygon_table.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/database/migrations/2024_07_01_144528_add_column_source_site_polygon_table.php b/database/migrations/2024_07_01_144528_add_column_source_site_polygon_table.php index 94ac6999a..d1d391c75 100644 --- a/database/migrations/2024_07_01_144528_add_column_source_site_polygon_table.php +++ b/database/migrations/2024_07_01_144528_add_column_source_site_polygon_table.php @@ -13,7 +13,7 @@ class AddColumnSourceSitePolygonTable extends Migration */ public function up() { - if (!Schema::hasColumn('site_polygon', 'source')) { + if (! Schema::hasColumn('site_polygon', 'source')) { Schema::table('site_polygon', function (Blueprint $table) { $table->string('source', 255)->nullable()->after('status'); }); From d81704b61c40baa20237342dd821c543347797f4 Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Mon, 1 Jul 2024 15:35:34 -0700 Subject: [PATCH 151/164] [TM-1068] Refactor script to cover tasks and take care of all associated reports in one run. --- .../RemoveDuplicatedReportsCommand.php | 84 ------------------- .../Commands/RemoveDuplicatedTasksCommand.php | 68 +++++++++++++++ 2 files changed, 68 insertions(+), 84 deletions(-) delete mode 100644 app/Console/Commands/RemoveDuplicatedReportsCommand.php create mode 100644 app/Console/Commands/RemoveDuplicatedTasksCommand.php diff --git a/app/Console/Commands/RemoveDuplicatedReportsCommand.php b/app/Console/Commands/RemoveDuplicatedReportsCommand.php deleted file mode 100644 index e1a7605fc..000000000 --- a/app/Console/Commands/RemoveDuplicatedReportsCommand.php +++ /dev/null @@ -1,84 +0,0 @@ -option('due_at'); - $frameworkKey = $this->option('framework_key'); - $type = $this->option('type'); - - if (! $specificDueAt || ! $frameworkKey || ! $type) { - $this->error('The --due_at, --framework_key, and --type options are required.'); - - return 1; - } - - switch ($type) { - case 'project': - $reportModel = ProjectReport::class; - - break; - case 'nursery': - $reportModel = NurseryReport::class; - - break; - case 'site': - $reportModel = SiteReport::class; - - break; - default: - $this->error('Type must be one of "project", "nursery", or "site".'); - - return 1; - } - - $duplicateReports = DB::table("v2_{$type}_reports as pr1") - ->select('pr1.id') - ->join("v2_{$type}_reports as pr2", function ($join) use ($specificDueAt, $type) { - $join->on("pr1.{$type}_id", '=', "pr2.{$type}_id") - ->on('pr1.due_at', '=', 'pr2.due_at') - ->whereRaw('pr1.id > pr2.id') - ->where('pr1.due_at', '=', $specificDueAt); - }) - ->where('pr1.framework_key', $frameworkKey) - ->get(); - - $duplicateIds = $duplicateReports->pluck('id')->toArray(); - - $reportsToDelete = $reportModel::whereIn('id', $duplicateIds)->get(); - - $reportModel::whereIn('id', $duplicateIds)->delete(); - - $this->info('Duplicate reports with framework_key "' . $frameworkKey . '" and due_at "' . $specificDueAt . '" removed successfully.'); - - $this->showDeletedReports($reportsToDelete); - - $this->info('Reports processed successfully.'); - } - - protected function showDeletedReports($reportsToDelete) - { - $headers = ['ID', 'Due At', 'Framework Key']; - $reportRows = []; - - foreach ($reportsToDelete as $report) { - $reportRows[] = [$report->id, $report->due_at, $report->framework_key]; - } - - $this->info('Deleted reports:'); - $this->table($headers, $reportRows); - } -} diff --git a/app/Console/Commands/RemoveDuplicatedTasksCommand.php b/app/Console/Commands/RemoveDuplicatedTasksCommand.php new file mode 100644 index 000000000..3cc0ae976 --- /dev/null +++ b/app/Console/Commands/RemoveDuplicatedTasksCommand.php @@ -0,0 +1,68 @@ +option('due_at'); + $frameworkKey = $this->option('framework_key'); + + if (! $specificDueAt || ! $frameworkKey) { + $this->error('The --due_at and --framework_key options are required.'); + exit(1); + } + + $duplicateTaskIds = DB::table("v2_tasks as t1") + ->select('t1.id') + ->join('v2_projects','t1.project_id', '=', 'v2_projects.id') + ->join("v2_tasks as t2", function ($join) use ($specificDueAt) { + $join->on("t1.project_id", '=', "t2.project_id") + ->on('t1.due_at', '=', 't2.due_at') + ->whereRaw('t1.id > t2.id') + ->where('t1.due_at', '=', $specificDueAt); + }) + ->where('v2_projects.framework_key', $frameworkKey) + ->pluck('t1.id'); + $duplicateTasks = Task::whereIn('id', $duplicateTaskIds)->get(); + + foreach ($duplicateTasks as $task) { + /** @var Task $task */ + $task->projectReport()->delete(); + $task->siteReports()->delete(); + $task->nurseryReports()->delete(); + $task->delete(); + } + + $this->info('Duplicate tasks and reports with framework_key "' . $frameworkKey . '" and due_at "' . $specificDueAt . '" removed successfully.'); + + $this->showDeletedTasks($duplicateTasks); + + $this->info('Tasks processed successfully.'); + } + + protected function showDeletedTasks($duplicateTasks): void + { + $headers = ['ID', 'Project ID', 'Due At']; + $taskRows = []; + + foreach ($duplicateTasks as $task) { + $taskRows[] = [$task->id, $task->project_id, $task->due_at]; + } + + $this->info('Deleted tasks:'); + $this->table($headers, $taskRows); + } +} From c90ff7bef2da30d3d07b6de9b7ae5109aaf793d3 Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Mon, 1 Jul 2024 15:37:45 -0700 Subject: [PATCH 152/164] [TM-1068] lint fix --- app/Console/Commands/RemoveDuplicatedTasksCommand.php | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/app/Console/Commands/RemoveDuplicatedTasksCommand.php b/app/Console/Commands/RemoveDuplicatedTasksCommand.php index 3cc0ae976..be1871070 100644 --- a/app/Console/Commands/RemoveDuplicatedTasksCommand.php +++ b/app/Console/Commands/RemoveDuplicatedTasksCommand.php @@ -2,9 +2,6 @@ namespace App\Console\Commands; -use App\Models\V2\Nurseries\NurseryReport; -use App\Models\V2\Projects\ProjectReport; -use App\Models\V2\Sites\SiteReport; use App\Models\V2\Tasks\Task; use Illuminate\Console\Command; use Illuminate\Support\Facades\DB; @@ -25,11 +22,11 @@ public function handle() exit(1); } - $duplicateTaskIds = DB::table("v2_tasks as t1") + $duplicateTaskIds = DB::table('v2_tasks as t1') ->select('t1.id') - ->join('v2_projects','t1.project_id', '=', 'v2_projects.id') - ->join("v2_tasks as t2", function ($join) use ($specificDueAt) { - $join->on("t1.project_id", '=', "t2.project_id") + ->join('v2_projects', 't1.project_id', '=', 'v2_projects.id') + ->join('v2_tasks as t2', function ($join) use ($specificDueAt) { + $join->on('t1.project_id', '=', 't2.project_id') ->on('t1.due_at', '=', 't2.due_at') ->whereRaw('t1.id > t2.id') ->where('t1.due_at', '=', $specificDueAt); From bbf73384f862a72a1ba43a4c8d9202b31fd055f6 Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Tue, 2 Jul 2024 12:06:41 -0400 Subject: [PATCH 153/164] [TM-1077] Add latitude and longitude columns to v2_projects table --- ..._columns_lat_long_to_v2_projects_table.php | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 database/migrations/2024_07_02_160257_add_columns_lat_long_to_v2_projects_table.php diff --git a/database/migrations/2024_07_02_160257_add_columns_lat_long_to_v2_projects_table.php b/database/migrations/2024_07_02_160257_add_columns_lat_long_to_v2_projects_table.php new file mode 100644 index 000000000..52aa02a11 --- /dev/null +++ b/database/migrations/2024_07_02_160257_add_columns_lat_long_to_v2_projects_table.php @@ -0,0 +1,37 @@ +decimal('lat', 10, 8)->nullable(); + } + if (! Schema::hasColumn('v2_projects', 'long')) { + $table->decimal('long', 11, 8)->nullable(); + } + }); + } + + /** + * Reverse the migrations. + */ + public function down() + { + Schema::table('v2_projects', function (Blueprint $table) { + if (Schema::hasColumn('v2_projects', 'lat')) { + $table->dropColumn('lat'); + } + if (Schema::hasColumn('v2_projects', 'long')) { + $table->dropColumn('long'); + } + }); + } +}; From ce7ca1397b14ec68c7159b88583c9901728affa0 Mon Sep 17 00:00:00 2001 From: Limber Mamani <154026979+LimberHope@users.noreply.github.com> Date: Tue, 2 Jul 2024 12:27:14 -0400 Subject: [PATCH 154/164] [TM-984]fix: improve logic to call image property (#322) * [TM-984]fix: improve logic to call image property * [TM-984] fix lint --- .../V2/Forms/FormOptionsLabelController.php | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/app/Http/Controllers/V2/Forms/FormOptionsLabelController.php b/app/Http/Controllers/V2/Forms/FormOptionsLabelController.php index a9be42f89..53024e3c8 100644 --- a/app/Http/Controllers/V2/Forms/FormOptionsLabelController.php +++ b/app/Http/Controllers/V2/Forms/FormOptionsLabelController.php @@ -3,7 +3,6 @@ namespace App\Http\Controllers\V2\Forms; use App\Http\Controllers\Controller; -use App\Http\Resources\V2\Forms\FormQuestionOptionResource; use App\Models\V2\Forms\Form; use App\Models\V2\Forms\FormOptionListOption; use App\Models\V2\Forms\FormQuestionOption; @@ -64,17 +63,19 @@ public function getAdditionalFormQuestionOptions(array $missingSlugs): Collectio { $formQuestionOptions = FormQuestionOption::whereIn('slug', $missingSlugs)->get(); - return FormQuestionOptionResource::collection($formQuestionOptions)->map(function ($resource) { + return $formQuestionOptions->flatMap(function ($resource) { return [ - 'slug' => $resource->slug, - 'label' => $resource->label, - 'image_url' => $resource->image_url, + $resource->slug => [ + 'slug' => $resource->slug, + 'label' => $resource->label, + 'image_url' => $resource->image_url ?? $resource->getFirstMediaUrl('image'), + ], ]; - }); + })->values(); } public function mergeCollections(Collection $collection, Collection $additionalCollection): Collection { - return $collection->merge($additionalCollection)->unique('slug'); + return $collection->merge($additionalCollection); } } From a282bbaf05691d1376c5641af5c4ac5d3f2cce1c Mon Sep 17 00:00:00 2001 From: Jose Carlos Laura Ramirez Date: Tue, 2 Jul 2024 12:41:46 -0400 Subject: [PATCH 155/164] [TM-985] add hbf permission to super admin (#320) --- .../AddHBFPermissionToSuperAdminCommand.php | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 app/Console/Commands/OneOff/AddHBFPermissionToSuperAdminCommand.php diff --git a/app/Console/Commands/OneOff/AddHBFPermissionToSuperAdminCommand.php b/app/Console/Commands/OneOff/AddHBFPermissionToSuperAdminCommand.php new file mode 100644 index 000000000..a8b6ee30d --- /dev/null +++ b/app/Console/Commands/OneOff/AddHBFPermissionToSuperAdminCommand.php @@ -0,0 +1,32 @@ +first(); + $superAdminRole->givePermissionTo('framework-hbf'); + } +} From 2a3e4d8a73315ef36c4b6e343d1f5875090ba9ce Mon Sep 17 00:00:00 2001 From: Jose Carlos Laura Ramirez Date: Tue, 2 Jul 2024 12:42:17 -0400 Subject: [PATCH 156/164] [TM-952] implement updated change request (#319) * TM-952 implement updated change request * attempt to fix the test * fix test passing missing attribute * fix test by including missing params --- .../SubmitEntityWithFormController.php | 4 + .../AdminStatusUpdateRequestController.php | 6 ++ app/Models/Traits/SaveAuditStatusTrait.php | 94 +++++++++++++++++++ ...alter_audit_statuses_table_type_column.php | 21 +++++ ...AdminStatusUpdateRequestControllerTest.php | 4 +- 5 files changed, 127 insertions(+), 2 deletions(-) create mode 100644 database/migrations/2024_07_02_010623_alter_audit_statuses_table_type_column.php diff --git a/app/Http/Controllers/V2/Entities/SubmitEntityWithFormController.php b/app/Http/Controllers/V2/Entities/SubmitEntityWithFormController.php index 2ffee728b..9ca1ebee1 100644 --- a/app/Http/Controllers/V2/Entities/SubmitEntityWithFormController.php +++ b/app/Http/Controllers/V2/Entities/SubmitEntityWithFormController.php @@ -3,6 +3,7 @@ namespace App\Http\Controllers\V2\Entities; use App\Http\Controllers\Controller; +use App\Models\Traits\SaveAuditStatusTrait; use App\Models\V2\Action; use App\Models\V2\EntityModel; use App\Models\V2\UpdateRequests\UpdateRequest; @@ -11,6 +12,8 @@ class SubmitEntityWithFormController extends Controller { + use SaveAuditStatusTrait; + public function __invoke(EntityModel $entity, Request $request) { $this->authorize('submit', $entity); @@ -24,6 +27,7 @@ public function __invoke(EntityModel $entity, Request $request) /** @var UpdateRequest $updateRequest */ $updateRequest = $entity->updateRequests()->isUnapproved()->first(); if (! empty($updateRequest)) { + $this->saveAuditStatusProjectDeveloperSubmit($entity, $updateRequest); $updateRequest->submitForApproval(); Action::forTarget($updateRequest)->delete(); } else { diff --git a/app/Http/Controllers/V2/UpdateRequests/AdminStatusUpdateRequestController.php b/app/Http/Controllers/V2/UpdateRequests/AdminStatusUpdateRequestController.php index e51e9faca..461c2f603 100644 --- a/app/Http/Controllers/V2/UpdateRequests/AdminStatusUpdateRequestController.php +++ b/app/Http/Controllers/V2/UpdateRequests/AdminStatusUpdateRequestController.php @@ -7,6 +7,7 @@ use App\Http\Requests\V2\UpdateRequests\StatusChangeRequest; use App\Http\Resources\V2\UpdateRequests\UpdateRequestResource; use App\Models\Site; +use App\Models\Traits\SaveAuditStatusTrait; use App\Models\V2\EntityModel; use App\Models\V2\Nurseries\Nursery; use App\Models\V2\Nurseries\NurseryReport; @@ -20,15 +21,19 @@ class AdminStatusUpdateRequestController extends Controller { + use SaveAuditStatusTrait; + public function __invoke(StatusChangeRequest $request, UpdateRequest $updateRequest, string $status) { $data = $request->validated(); $this->authorize($status, $updateRequest); + $entity = $updateRequest->updaterequestable; switch($status) { case 'approve': $this->applyUpdates($updateRequest); $updateRequest->approve(data_get($data, 'feedback')); + $this->saveAuditStatusAdminApprove($data, $entity); break; case 'moreinfo': @@ -36,6 +41,7 @@ public function __invoke(StatusChangeRequest $request, UpdateRequest $updateRequ data_get($data, 'feedback'), data_get($data, 'feedback_fields') ); + $this->saveAuditStatusAdminMoreInfo($data, $entity); break; default: diff --git a/app/Models/Traits/SaveAuditStatusTrait.php b/app/Models/Traits/SaveAuditStatusTrait.php index 4944ca76a..f62d92bd9 100644 --- a/app/Models/Traits/SaveAuditStatusTrait.php +++ b/app/Models/Traits/SaveAuditStatusTrait.php @@ -3,6 +3,13 @@ namespace App\Models\Traits; use App\Models\V2\AuditStatus\AuditStatus; +use App\Models\V2\Forms\FormQuestion; +use App\Models\V2\Nurseries\Nursery; +use App\Models\V2\Nurseries\NurseryReport; +use App\Models\V2\Projects\Project; +use App\Models\V2\Projects\ProjectReport; +use App\Models\V2\Sites\Site; +use App\Models\V2\Sites\SiteReport; use Illuminate\Support\Facades\Auth; trait SaveAuditStatusTrait @@ -24,4 +31,91 @@ public function saveAuditStatus($auditable_type, $auditable_id, $status, $commen 'request_removed' => $request_removed, ]); } + + public function saveAuditStatusProjectDeveloperSubmit($entity, $updateRequest) + { + $changes = $this->getUpdateRequestChange($entity, $updateRequest); + $this->saveAuditStatus(get_class($entity), $entity->id, $entity->status, 'Awaiting Review: '.$changes->join(', '), 'change-request', true); + } + + public function saveAuditStatusAdminApprove($data, $entity) + { + $comment = $this->getApproveComment($data); + $this->saveAuditStatus(get_class($entity), $entity->id, $entity->status, $comment, 'change-request-updated', true); + } + + public function saveAuditStatusAdminMoreInfo($data, $entity) + { + $comment = $this->getMoreInfoComment($data, $entity); + $this->saveAuditStatus(get_class($entity), $entity->id, $entity->status, $comment, 'change-request-updated', true); + } + + private function getApproveComment($data) + { + return 'Approve: '.data_get($data, 'feedback'); + } + + private function getMoreInfoComment($data, $entity) + { + $feedbackFields = data_get($data, 'feedback_fields'); + $feedbackFieldLabels = []; + foreach ($feedbackFields as $formQuestionUUID) { + $question = FormQuestion::isUuid($formQuestionUUID)->first(); + $entityModelLinkedName = $this->getEntityModelLinkedName($entity); + $fields = config('wri.linked-fields.models.'.$entityModelLinkedName.'.fields'); + foreach ($fields as $field => $fieldValue) { + if ($field == $question->linked_field_key) { + $feedbackFieldLabels[] = $fieldValue['label']; + } + } + } + + return 'Request More Information on the following fields: '.implode(', ', $feedbackFieldLabels).'. Feedback: '.data_get($data, 'feedback'); + } + + private function getUpdateRequestChange($entity, $updateRequest) + { + $changes = []; + foreach ($updateRequest->content as $formQuestionUUID => $value) { + if (is_array($value)) { + continue; + } + $question = FormQuestion::isUuid($formQuestionUUID)->first(); + $entityModelLinkedName = $this->getEntityModelLinkedName($entity); + $fields = config('wri.linked-fields.models.'.$entityModelLinkedName.'.fields'); + foreach ($fields as $field => $fieldValue) { + if ($field == $question->linked_field_key) { + $previousValue = $entity[$fieldValue['property']]; + + if ($previousValue != $value) { + $changes[] = $fieldValue['label']; + } + } + } + } + + return collect($changes); + } + + private function getEntityModelLinkedName($entity) + { + $class = get_class($entity); + + switch ($class) { + case Site::class: + return 'site'; + case Project::class: + return 'project'; + case Nursery::class: + return 'nursery'; + case SiteReport::class: + return 'site-report'; + case ProjectReport::class: + return 'project-report'; + case NurseryReport::class: + return 'nursery-report'; + default: + return 'entity'; + } + } } diff --git a/database/migrations/2024_07_02_010623_alter_audit_statuses_table_type_column.php b/database/migrations/2024_07_02_010623_alter_audit_statuses_table_type_column.php new file mode 100644 index 000000000..0652f0706 --- /dev/null +++ b/database/migrations/2024_07_02_010623_alter_audit_statuses_table_type_column.php @@ -0,0 +1,21 @@ +admin()->create(); $ppcAdmin->givePermissionTo('framework-ppc'); - $payload = ['comments' => 'testing more information']; + $payload = ['feedback' => 'testing more information', 'feedback_fields' => []]; $uri = '/api/v2/admin/update-requests/' . $updateRequest->uuid . '/moreinfo'; $this->actingAs($random) @@ -102,7 +102,7 @@ public function test_flow(): void $uri = '/api/v2/admin/update-requests/' . $updateRequest->uuid; $this->actingAs($ppcAdmin) - ->putJson($uri . '/moreinfo', ['comments' => 'blah blah blah']) + ->putJson($uri . '/moreinfo', ['feedback' => 'blah blah blah', 'feedback_fields' => []]) ->assertSuccessful() ->assertJsonFragment(['status' => UpdateRequestStatusStateMachine::NEEDS_MORE_INFORMATION]); } From 0066d5363760105a8325313a3f98d7003d680fa3 Mon Sep 17 00:00:00 2001 From: Limber Mamani <154026979+LimberHope@users.noreply.github.com> Date: Tue, 2 Jul 2024 13:41:34 -0400 Subject: [PATCH 157/164] [TM-1025] add isNewRoleUser to me function (#321) * [TM-1025] feat: add isNewRoleUser to me function * [TM-951] fix --- app/Policies/AuthPolicy.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/Policies/AuthPolicy.php b/app/Policies/AuthPolicy.php index 00198272b..dfcda02fe 100644 --- a/app/Policies/AuthPolicy.php +++ b/app/Policies/AuthPolicy.php @@ -57,6 +57,7 @@ public function me(?UserModel $user, $model = null): bool return $this->isUser($user) || $this->isAdmin($user) || $this->isTerrafundAdmin($user) || - $this->isServiceAccount($user); + $this->isServiceAccount($user) || + $this->isNewRoleUser($user); } } From adc90c3acbb90b8bf712b8e65b46cf353695ace9 Mon Sep 17 00:00:00 2001 From: JORGE Date: Tue, 2 Jul 2024 15:11:51 -0400 Subject: [PATCH 158/164] [TM-1070] command to insert data --- .../Commands/UploadShapefileCommand.php | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 app/Console/Commands/UploadShapefileCommand.php diff --git a/app/Console/Commands/UploadShapefileCommand.php b/app/Console/Commands/UploadShapefileCommand.php new file mode 100644 index 000000000..92f25b4b6 --- /dev/null +++ b/app/Console/Commands/UploadShapefileCommand.php @@ -0,0 +1,53 @@ +argument('file'); + $siteUuid = $this->option('site_uuid'); + + if (!file_exists($filePath)) { + $this->error("File not found: $filePath"); + return 1; + } + + // Create a fake UploadedFile instance + $uploadedFile = new UploadedFile( + $filePath, + basename($filePath), + mime_content_type($filePath), + null, + true // Set test mode to true to prevent the file from being moved + ); + + // Create a fake request with the uploaded file and site UUID + $request = new Request(); + $request->files->set('file', $uploadedFile); + $request->request->set('uuid', $siteUuid); + + // Instantiate the controller and call the method + $controller = new TerrafundCreateGeometryController(); + $response = $controller->uploadShapefile($request); + + // Handle the response + if ($response->getStatusCode() === 200) { + $this->info("Shapefile uploaded successfully: " . $response->getContent()); + return 0; + } else { + $this->error("Failed to upload shapefile: " . $response->getContent()); + return 1; + } + } +} From 01935cff4536b55c0f8ef82856b315d76f5dd356 Mon Sep 17 00:00:00 2001 From: JORGE Date: Tue, 2 Jul 2024 15:42:20 -0400 Subject: [PATCH 159/164] [TM-1070] lint fix --- app/Console/Commands/UploadShapefileCommand.php | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/app/Console/Commands/UploadShapefileCommand.php b/app/Console/Commands/UploadShapefileCommand.php index 92f25b4b6..2dbfc15dc 100644 --- a/app/Console/Commands/UploadShapefileCommand.php +++ b/app/Console/Commands/UploadShapefileCommand.php @@ -2,15 +2,15 @@ namespace App\Console\Commands; +use App\Http\Controllers\V2\Terrafund\TerrafundCreateGeometryController; use Illuminate\Console\Command; -use Illuminate\Http\UploadedFile; use Illuminate\Http\Request; -use App\Http\Controllers\V2\Terrafund\TerrafundCreateGeometryController; -use Illuminate\Support\Facades\Log; +use Illuminate\Http\UploadedFile; class UploadShapefileCommand extends Command { protected $signature = 'shapefile:upload {file} {--site_uuid=}'; + protected $description = 'Upload a shapefile to the application'; public function handle() @@ -18,8 +18,9 @@ public function handle() $filePath = $this->argument('file'); $siteUuid = $this->option('site_uuid'); - if (!file_exists($filePath)) { + if (! file_exists($filePath)) { $this->error("File not found: $filePath"); + return 1; } @@ -43,10 +44,12 @@ public function handle() // Handle the response if ($response->getStatusCode() === 200) { - $this->info("Shapefile uploaded successfully: " . $response->getContent()); + $this->info('Shapefile uploaded successfully: ' . $response->getContent()); + return 0; } else { - $this->error("Failed to upload shapefile: " . $response->getContent()); + $this->error('Failed to upload shapefile: ' . $response->getContent()); + return 1; } } From 3f88146807a5f9393244301fd48e349d66725448 Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Tue, 2 Jul 2024 13:11:40 -0700 Subject: [PATCH 160/164] [TM-920] Update the min/max est_area sizes. --- app/Http/Requests/V2/Geometry/StoreGeometryRequest.php | 3 ++- tests/V2/Geometry/GeometryControllerTest.php | 9 ++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/app/Http/Requests/V2/Geometry/StoreGeometryRequest.php b/app/Http/Requests/V2/Geometry/StoreGeometryRequest.php index 11fc750ef..667bc35be 100644 --- a/app/Http/Requests/V2/Geometry/StoreGeometryRequest.php +++ b/app/Http/Requests/V2/Geometry/StoreGeometryRequest.php @@ -83,7 +83,8 @@ public function validateGeometries(): void Validator::make(['geometry' => $geometry, 'site_ids' => $siteIds], [ 'geometry.features.*.geometry.type' => 'required|string|in:Point', 'geometry.features.*.geometry.coordinates' => 'required|array|size:2', - 'geometry.features.*.properties.est_area' => 'required|numeric|min:1', + // Minimum is 1m^2 (0.0001 hectares) + 'geometry.features.*.properties.est_area' => 'required|numeric|min:0.0001|max:5', // All points require a site id set, and they must all be the same site (enforced via site_ids below) 'geometry.features.*.properties.site_id' => 'required|string', 'site_ids' => 'required|array|size:1', diff --git a/tests/V2/Geometry/GeometryControllerTest.php b/tests/V2/Geometry/GeometryControllerTest.php index 37ed17ac3..8312b3908 100644 --- a/tests/V2/Geometry/GeometryControllerTest.php +++ b/tests/V2/Geometry/GeometryControllerTest.php @@ -62,9 +62,12 @@ public function test_geometry_payload_validation() ]); // Invalid est area - $this->assertCreateError('est_area must be at least 1', $service, [ + $this->assertCreateError('est_area must be at least 0.0001', $service, [ $this->fakeGeojson([$this->fakePoint(['site_id' => '123', 'est_area' => -1])]), ]); + $this->assertCreateError('est_area may not be greater than 5', $service, [ + $this->fakeGeojson([$this->fakePoint(['site_id' => '123', 'est_area' => 6])]), + ]); // Not all sites found $site = Site::factory()->create(); @@ -87,8 +90,8 @@ public function test_geometry_payload_validation() ->postJson('/api/v2/geometry', ['geometries' => [ $this->fakeGeojson([$this->fakePolygon(['site_id' => $site->uuid])]), $this->fakeGeojson([ - $this->fakePoint(['site_id' => $site->uuid, 'est_area' => 10]), - $this->fakePoint(['site_id' => $site->uuid, 'est_area' => 20]), + $this->fakePoint(['site_id' => $site->uuid, 'est_area' => 4]), + $this->fakePoint(['site_id' => $site->uuid, 'est_area' => 3]), ]), ]]) ->assertStatus(201); From c40ae5e129905bb4233d3d9e5125190d8d614772 Mon Sep 17 00:00:00 2001 From: Limber Mamani <154026979+LimberHope@users.noreply.github.com> Date: Wed, 3 Jul 2024 13:43:58 -0400 Subject: [PATCH 161/164] [TM-951] feat: add stateMachine to site polygon (#324) * [TM-951] feat: add stateMachine to site polygon * [TM-951] fix lint on test * [TM-951] fix flaws in site state machine * improve site states transitions * remove overrided method * change naming of methods * fix lint * improve state machine * update states * lint fix * [TM-951] add transition approved -> restoration in progress * [TM-951] fix lint * [TM-951] add awaiting approval transition * [TM-951] fix * [TM-951] fix lint * [TM-951] fix * fix test * restore statuses * fix parent transitions --------- Co-authored-by: Jose Carlos Laura Ramirez --- .../TerrafundCreateGeometryController.php | 6 +++ .../TerrafundEditGeometryController.php | 3 ++ app/Models/V2/Sites/Site.php | 44 ++++++++++++++++++- app/Services/SiteService.php | 20 +++++++++ app/StateMachines/SiteStatusStateMachine.php | 22 ++++++++++ 5 files changed, 93 insertions(+), 2 deletions(-) create mode 100644 app/Services/SiteService.php create mode 100644 app/StateMachines/SiteStatusStateMachine.php diff --git a/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php b/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php index 9d4f823ba..a7d4a84e5 100644 --- a/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php +++ b/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php @@ -8,6 +8,7 @@ use App\Models\V2\Sites\SitePolygon; use App\Models\V2\WorldCountryGeneralized; use App\Services\PolygonService; +use App\Services\SiteService; use App\Validators\Extensions\Polygons\EstimatedArea; use App\Validators\Extensions\Polygons\GeometryType; use App\Validators\Extensions\Polygons\NotOverlapping; @@ -155,6 +156,8 @@ public function uploadKMLFile(Request $request) return response()->json(['error' => 'Geometry not inserted into DB', 'message' => $uuid['error']], 500); } + App::make(SiteService::class)->setSiteToRestorationInProgress($site_id); + return response()->json(['message' => 'KML file processed and inserted successfully', 'uuid' => $uuid], 200); } else { return response()->json(['error' => 'KML file not provided'], 400); @@ -216,6 +219,8 @@ public function uploadShapefile(Request $request) return response()->json(['error' => 'Geometry not inserted into DB', 'message' => $uuid['error']], 500); } + App::make(SiteService::class)->setSiteToRestorationInProgress($site_id); + return response()->json(['message' => 'Shape file processed and inserted successfully', 'uuid' => $uuid], 200); } else { return response()->json(['error' => 'Failed to open the ZIP file'], 400); @@ -341,6 +346,7 @@ public function uploadGeoJSONFile(Request $request) if (is_array($uuid) && isset($uuid['error'])) { return response()->json(['error' => 'Failed to insert GeoJSON data into the database', 'message' => $uuid['error']], 500); } + App::make(SiteService::class)->setSiteToRestorationInProgress($site_id); return response()->json(['message' => 'Geojson file processed and inserted successfully', 'uuid' => $uuid], 200); } else { diff --git a/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php b/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php index c172f8f8f..f5dbe6b1a 100644 --- a/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php +++ b/app/Http/Controllers/V2/Terrafund/TerrafundEditGeometryController.php @@ -9,7 +9,9 @@ use App\Models\V2\Sites\Site; use App\Models\V2\Sites\SitePolygon; use App\Services\PolygonService; +use App\Services\SiteService; use Illuminate\Http\Request; +use Illuminate\Support\Facades\App; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Log; @@ -228,6 +230,7 @@ public function createSitePolygon(string $uuid, string $siteUuid, Request $reque 'site_id' => $siteUuid, ]); $sitePolygon->save(); + App::make(SiteService::class)->setSiteToRestorationInProgress($siteUuid); $this->updateProjectCentroidFromPolygon($polygonGeometry); return response()->json(['message' => 'Site polygon created successfully', 'uuid' => $sitePolygon, 'area' => $areaHectares], 201); diff --git a/app/Models/V2/Sites/Site.php b/app/Models/V2/Sites/Site.php index e03ba0324..a7747f69c 100644 --- a/app/Models/V2/Sites/Site.php +++ b/app/Models/V2/Sites/Site.php @@ -2,11 +2,13 @@ namespace App\Models\V2\Sites; +use App\Events\V2\General\EntityStatusChangeEvent; use App\Models\Framework; use App\Models\Traits\HasEntityResources; -use App\Models\Traits\HasEntityStatus; +use App\Models\Traits\HasEntityStatusScopesAndTransitions; use App\Models\Traits\HasFrameworkKey; use App\Models\Traits\HasLinkedFields; +use App\Models\Traits\HasStatus; use App\Models\Traits\HasUpdateRequests; use App\Models\Traits\HasUuid; use App\Models\Traits\HasV2MediaCollections; @@ -24,7 +26,10 @@ use App\Models\V2\TreeSpecies\TreeSpecies; use App\Models\V2\Workdays\Workday; use App\Models\V2\Workdays\WorkdayDemographic; +use App\StateMachines\EntityStatusStateMachine; use App\StateMachines\ReportStatusStateMachine; +use App\StateMachines\SiteStatusStateMachine; +use Asantibanez\LaravelEloquentStateMachines\Traits\HasStateMachines; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; @@ -34,6 +39,7 @@ use Illuminate\Database\Eloquent\Relations\MorphMany; use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Support\Facades\DB; +use Illuminate\Support\Str; use Laravel\Scout\Searchable; use OwenIt\Auditing\Auditable; use OwenIt\Auditing\Contracts\Auditable as AuditableContract; @@ -42,6 +48,7 @@ /** * @property string project_id + * @property string status */ class Site extends Model implements MediaModel, AuditableContract, EntityModel, AuditableModel { @@ -56,9 +63,27 @@ class Site extends Model implements MediaModel, AuditableContract, EntityModel, use HasFrameworkKey; use Auditable; use HasUpdateRequests; - use HasEntityStatus; + use HasStatus; + use HasStateMachines; use HasEntityResources; + use HasEntityStatusScopesAndTransitions { + approve as entityStatusApprove; + submitForApproval as entityStatusSubmitForApproval; + } + + public static array $statuses = [ + EntityStatusStateMachine::STARTED => 'Started', + EntityStatusStateMachine::AWAITING_APPROVAL => 'Awaiting approval', + EntityStatusStateMachine::NEEDS_MORE_INFORMATION => 'Needs more information', + SiteStatusStateMachine::RESTORATION_IN_PROGRESS => 'Restoration in progress', + EntityStatusStateMachine::APPROVED => 'Approved', + ]; + + public $stateMachines = [ + 'status' => SiteStatusStateMachine::class, + ]; + protected $auditInclude = [ 'status', 'feedback', @@ -371,4 +396,19 @@ public function getAuditableNameAttribute(): string { return $this->name; } + + public function dispatchStatusChangeEvent($user): void + { + EntityStatusChangeEvent::dispatch($user, $this, $this->name ?? '', '', $this->readable_status); + } + + public function getViewLinkPath(): string + { + return '/' . Str::lower(explode_pop('\\', get_class($this))) . '/' . $this->uuid; + } + + public function restorationInProgress() + { + $this->status()->transitionTo(SiteStatusStateMachine::RESTORATION_IN_PROGRESS); + } } diff --git a/app/Services/SiteService.php b/app/Services/SiteService.php new file mode 100644 index 000000000..137fafbac --- /dev/null +++ b/app/Services/SiteService.php @@ -0,0 +1,20 @@ +first(); + if (is_null($site)) { + return; + } + $site->restorationInProgress(); + } +} diff --git a/app/StateMachines/SiteStatusStateMachine.php b/app/StateMachines/SiteStatusStateMachine.php new file mode 100644 index 000000000..c06e66fcc --- /dev/null +++ b/app/StateMachines/SiteStatusStateMachine.php @@ -0,0 +1,22 @@ + [self::NEEDS_MORE_INFORMATION, self::APPROVED], + ], + $parentTransitions + ); + } +} From a1d222498f2eed83a6e610d9ca67e99a003c06be Mon Sep 17 00:00:00 2001 From: Limber Mamani <154026979+LimberHope@users.noreply.github.com> Date: Wed, 3 Jul 2024 15:06:08 -0400 Subject: [PATCH 162/164] [TM-951] add status dependencies (#328) * [TM-951] add transition to approved -> restoration in progress * [TM-951] fix --- app/StateMachines/SiteStatusStateMachine.php | 1 + 1 file changed, 1 insertion(+) diff --git a/app/StateMachines/SiteStatusStateMachine.php b/app/StateMachines/SiteStatusStateMachine.php index c06e66fcc..aa0907e25 100644 --- a/app/StateMachines/SiteStatusStateMachine.php +++ b/app/StateMachines/SiteStatusStateMachine.php @@ -11,6 +11,7 @@ public function transitions(): array $parentTransitions = parent::transitions(); $parentTransitions[self::NEEDS_MORE_INFORMATION][] = self::RESTORATION_IN_PROGRESS; + $parentTransitions[self::APPROVED][] = self::RESTORATION_IN_PROGRESS; return array_merge( [ From b7de9b177954d9e3876ecc71a8d1915fb03e0c4b Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Tue, 9 Jul 2024 10:09:56 -0400 Subject: [PATCH 163/164] [TM-1089] add coordinate system validation --- .../Terrafund/TerrafundCreateGeometryController.php | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php b/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php index a7d4a84e5..1cf1cb8c8 100644 --- a/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php +++ b/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php @@ -16,6 +16,7 @@ use App\Validators\Extensions\Polygons\SelfIntersection; use App\Validators\Extensions\Polygons\Spikes; use App\Validators\Extensions\Polygons\WithinCountry; +use App\Validators\Extensions\Polygons\FeatureBounds; use App\Validators\SitePolygonValidator; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; @@ -376,6 +377,17 @@ public function validateEstimatedArea(Request $request) ); } + public function validateCoordinateSystem(Request $request) + { + $uuid = $request->input('uuid'); + + return $this->handlePolygonValidation( + $uuid, + ['valid' => FeatureBounds::uuidValid($uuid)], + PolygonService::COORDINATE_SYSTEM_CRITERIA_ID + ); + } + public function getPolygonAsGeoJSONDownload(Request $request) { try { @@ -508,6 +520,7 @@ public function runValidationPolygon(string $uuid) $this->validateOverlapping($request); $this->checkSelfIntersection($request); + $this->validateCoordinateSystem($request); $this->validatePolygonSize($request); $this->checkWithinCountry($request); $this->checkBoundarySegments($request); From 9721ba58d031a9711ccc3e07fb8e41d3da5c0eb7 Mon Sep 17 00:00:00 2001 From: cesarLima1 Date: Tue, 9 Jul 2024 10:15:53 -0400 Subject: [PATCH 164/164] [TM-1089] reorder imports --- .../V2/Terrafund/TerrafundCreateGeometryController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php b/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php index 1cf1cb8c8..420b265ee 100644 --- a/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php +++ b/app/Http/Controllers/V2/Terrafund/TerrafundCreateGeometryController.php @@ -10,13 +10,13 @@ use App\Services\PolygonService; use App\Services\SiteService; use App\Validators\Extensions\Polygons\EstimatedArea; +use App\Validators\Extensions\Polygons\FeatureBounds; use App\Validators\Extensions\Polygons\GeometryType; use App\Validators\Extensions\Polygons\NotOverlapping; use App\Validators\Extensions\Polygons\PolygonSize; use App\Validators\Extensions\Polygons\SelfIntersection; use App\Validators\Extensions\Polygons\Spikes; use App\Validators\Extensions\Polygons\WithinCountry; -use App\Validators\Extensions\Polygons\FeatureBounds; use App\Validators\SitePolygonValidator; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request;