Geodesignhub API
API Endpoint
https://www.geodesignhub.com/api/v1Geodesignhub API exposes a number of functionalities of the platform for developers to build applications and plugins. The API is a JSON-based and provides a REST interface, it uses standard HTTP response codes to indicate API errors.
Token Authentication
Geodesignhub exposes project objects and information via the API. These are associated with individual user accounts via Token Authentication. Since the token is linked to the user, all the projects that the user is part of are accessible using the token. Currently, tokens have an expiry of six months after which a new token can be issued.
You can get your Token by opening the API page on Geodesignhub.
Access
Geodesignhub supports only https:// connections via the API. http:// connections will be given a automatic HTTP 301 response. In some cases, http:// queries may be dropped by the server, you may get time out or end point not reachable errors.
Pagination
Geodesignhub API responses are generally paginated. The default page size is 10; you can alter this by adding the page_size parameter to your request.
Response Codes
The API uses standard HTTP response codes to communicate the status of the request. In general, 2xx codes signify success and 4xx codes signify failure, and these codes are generally associated with an invalid parameter being provided in the request. A 5xx code is a general server failure on our side. Please contact our support team if you encounter 5xx errors.
Projects API ¶
Resources related to projects on Geodesignhub.
Projects Collection ¶
Headers
Authorization: Token ABC123Headers
Content-Type: application/jsonBody
[
{
"id": "5c84b38a16ebeed0",
"projecttitle": "Cagliari geodesign",
"projectdesc": "Alternative futures for Metro Cagliari",
"startdate": "2023-06-14",
"projecttype": "free",
"external_connection": "none"
},
{
"id": "f05bf015a514a67c",
"projecttitle": "Phoenix Geodesign",
"projectdesc": "Alternative futures for Phoenix, Arizona",
"startdate": "2023-06-14",
"projecttype": "free",
"external_connection": "none"
}
]List all projectsGET/projects/
Returns a list of projects that has the current user as a member.
Latest Project Details ¶
Headers
Authorization: Token ABC123Headers
Content-Type: application/jsonBody
[
{
"id": "5c84b38a16ebeed0",
"projecttitle": "Cagliari geodesign",
"projectdesc": "Alternative futures for Metro Cagliari",
"startdate": "2023-06-14",
"projecttype": "free",
"external_connection": "none"
}
]List all projectsGET/projects/latest/
Returns with the details of the latest created project that has the current user as a member.
Project Creation ¶
Headers
Content-Type: application/json
Authorization: Token ABC123Body
{
"creation_code": "3PRHNU",
"project_title": "Dublin Geodesign",
"project_description": "Alternative futures for Ranelagh",
"map_bounds": "-6.257314682006836,53.32508049349382,-6.250877380371094,53.328925153953186",
"map_center": "-6.254,53.327",
"zoom_level": 16,
"systems": [
{
"name": "ENE",
"tag": "POR",
"verbose_description": "Energy",
"color": "#ab507e",
"cost": 40000
},
{
"name": "AG",
"tag": "POR",
"verbose_description": "Agriculture",
"color": "#d9cd91",
"cost": 4000
}
],
"tags": [
{
"tag": "Green Housing",
"code": "0.5"
}
],
"plugins": []
}Headers
Content-Type: application/jsonBody
{
"message": "New Project and systems created, they will appear on user1's profile page"
}Create New ProjectPOST/projects/create/
Create a new project in Geodesignhub, a set of data is requried to create a project, please review below
creation_codeA Geodesignhub project creation code, if you don’t have one, please contact your project administratorproject_titleTitle of the project, it will be displayed at the top of every projectproject_descriptionTitle of the project, it will be displayed at the top of every projectmap_boundsRepresents a rectangular geographical area on a map.map_centerRepresents a center as comma seperated Latitude,Longitude centerzoom_levelSets the zoom of the mapsystemsA list of systems that will be created in the project. Each object should have aname,verbose_description,colorandcostvalue for the system. Maximum nine systems can be provided.tagsA list of tags that can be added to Diagrams. Each object should have atagandcodeproperty both as strings.pluginsA list of plugin UUIDs to attach to the project, you can use the the user interface to add them as well.
IGC Project Creation ¶
Headers
Content-Type: application/json
Authorization: Token ABC123Body
{
"gpl_project_id": "ifY96Z8u1zvbd8Bb24gaaBqgD7l3bag8",
"project_title" : "Dublin Geodesign",
"project_description":"Alternative futures for Ranelagh",
"map_bounds": "-6.257314682006836,53.32508049349382,-6.250877380371094,53.328925153953186",
"map_center" : "-6.254,53.327",
"zoom_level":16,
"systems": [{"name":"ENE", "tag":"POR", "verbose_description":"Energy", "color":"#ab507e", "cost":40000}, {"name":"AG", "tag":"POR", "verbose_description":"Agriculture", "color":"#d9cd91", "cost":4000}]
"tags": [{"tag": "Green Housing","code": "0.5"}],
"plugins":[]
}Headers
Content-Type: application/jsonBody
{
"message": "New Project and systems created, they will appear on user1's profile page"
}Create New IGC ProjectPOST/projects/create-igc-project/
Create a new project in Geodesignhub, a set of data is requried to create a project, please review below:
gpl_project_idA Geoplanner project ID, contact your IGC administrator for this code if you dont have it.project_titleTitle of the project, it will be displayed at the top of every projectproject_descriptionTitle of the project, it will be displayed at the top of every projectmap_boundsRepresents a rectangular geographical area on a map.map_centerRepresents a center as comma seperated Latitude,Longitude centerzoom_levelSets the zoom of the mapsystemsA list of systems that will be created in the project. Each object should have aname,verbose_description,colorandcostvalue for the system. Maximum nine systems can be provided.tagsA list of tags that can be added to Diagrams. Each object should have atagandcodeproperty both as strings.pluginsA list of plugin UUIDs to attach to the project, you can use the the user interface to add them as well.
Project Detail ¶
Headers
Authorization: Token ABC123Headers
Content-Type: application/jsonBody
{
"id": "5c84b38a16ebeed0",
"projecttitle": "lego geodesign",
"projectdesc": "lgd",
"startdate": "2016-11-15",
"projecttype": "free",
"external_connection": "none",
"brief": ""
}Get a single projectGET/projects/{projectid}/
Returns the title and description of the selected project. Project name is a sixteen character hash of the project. The brief is shared as a markdown text.
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
Project Members ¶
Headers
Authorization: Token ABC123Headers
Content-Type: application/jsonBody
{
"members": [
{
"username": "ufeusr1"
},
{
"username": "ufeusr2"
},
{
"username": "ufeusr3"
}
]
}List members of a projectGET/projects/{projectid}/members/
Returns a list of all the usernames that are a part of the project.
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
Project Stakeholders ¶
Headers
Authorization: Token ABC123Headers
Content-Type: application/jsonBody
{
"stakeholders": [
{
"id": "50e6964e-dcf8-4967-bbd2-b448679f1514"
"name": "City Council"
},
{
"id": "c204303b-d23a-4fa7-b4b2-6a4c51410c81",
"name": "Department of Transport"
},
{
"id": "50f13d08-a472-4477-88a3-5a14b294ca33",
"name": "Private Company"
}
]
}List stakeholders of a projectGET/projects/{projectid}/stakeholders/
Returns a list of all the stakeholder that are added to the project.
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
Headers
Authorization: Token ABC123Body
[
"City Council",
"Department of Transport"
]Headers
Content-Type: application/jsonBody
{
"message": "2 stakeholders created successfully and added to the project"
}Add project stakeholderPOST/projects/{projectid}/stakeholders/
Add multiple stakeholders to the project
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
Project Study Area Bounds ¶
Headers
Authorization: Token ABC123Headers
Content-Type: application/jsonBody
{
"bounds": "-0.11569976806640624,51.49624032118747,-0.06420135498046875,51.52829020697338"
}Get project boundsGET/projects/{projectid}/bounds/
Returns a string with bounding box for the project study area coordinates in a southwest_lng,southwest_lat,northeast_lng,northeast_lat format.
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
Project Plugins ¶
Headers
Authorization: Token ABC123Headers
Content-Type: application/jsonBody
[
{"id": "b08bd2e7-0595-481b-95c9-86c39b57d3db" , "description":"Buildings 3D Viewer"},
{"id":"3fef8104-c4b2-47fd-86ca-4ebcbf29ef13", "description":"Dashboard"},
]Get project pluginsGET/projects/{projectid}/plugins/
Returns the id and description of all the plugins that are added / linked to the project
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
Headers
Authorization: Token ABC123Body
[
"14c338ae-ab5f-47c9-b067-e40710dc29c9",
"c467ad77-087d-481e-9f09-7afafc2720a0"
]Headers
Content-Type: application/jsonBody
{
"message": "2 plugins added successfully"
}Add project pluginsPOST/projects/{projectid}/plugins/
Add plugins with the specified ID to the project, any existing plugins will be removed
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
Negotiation Logs ¶
Headers
Authorization: Token ABC123Headers
Content-Type: application/jsonBody
{
"all_negotiations": [
{
"session_id": "a06ca4cb-128b-487a-b7b4-9e12eec3d8f8",
"moves": [
{
"diagram": 155,
"move": "Added",
"timestamp": "2024-08-26T14:36:35.749Z"
},
{
"diagram": 160,
"move": "Added",
"timestamp": "2024-08-26T14:36:36.148Z"
},
{
"diagram": 140,
"move": "Added",
"timestamp": "2024-08-26T14:36:39.560Z"
}
],
"design_a": "2A72FUHAVQTX6NQA",
"design_b": "Z4P4UANYMCSMYDF7",
"project_id": "b522ccca68f6decf"
}
]
}Headers
Content-Type: application/jsonBody
[
{
"status": "User not a administrator of this project"
}
]Get All Negotiation LogsGET/projects/{projectid}/negotiation_logs/
A list of external layers added to this project, only project administrators can access data at this endpoint
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
External Data Layers ¶
Headers
Authorization: Token ABC123Headers
Content-Type: application/jsonBody
[
{
"id": 123,
"server_type": "mapcentia-gc2",
"layer_type": "wms",
"url": "https://cagmap.snh.gov.uk/arcgis/services/snh_habitats_and_species/MapServer/WMSServer?",
"layer_name": "Habitats",
"attribution": "Map data from OpenStreetMap.",
"display_name": "All Natural Habitats",
"additional_metadata": {}
}
]Get External LayersGET/projects/{projectid}/data_layers/
A list of external layers added to this project
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
Headers
Authorization: Token ABC123Body
{
"id": 123,
"server_type": "mapcentia-gc2",
"layer_type": "wms",
"url": "https://cagmap.snh.gov.uk/arcgis/services/snh_habitats_and_species/MapServer/WMSServer?",
"layer_name": "Habitats",
"attribution": "Map data from OpenStreetMap.",
"display_name": "All Natural Habitats",
"additional_metadata": {
"id": "61b8cfd1-1673-4dc9-bc21-1dcc48db63c8"
}
}Headers
Content-Type: application/jsonBody
{
"message": "2 plugins added successfully"
}Add External LayerPOST/projects/{projectid}/data_layers/
Add external layers as overlays or underlays to a Project
server_typeThe type of external server, acceptable values areesrifor a public ESRI ArcGIS Server,eorgfor ESRI ArcGIS Organization that requires a ESRI login,mapserverfor Mapserver,geoserverfor Geoserver,mapcentia-gc2for Mapcentia GC2,otherfor any other server.layer_typeThe type of layer that is linked, acceptable values areWMSfor a standard Web Mapping server,XYZfor a map tile layer,esri-basemapfor a ESRI ArcGIS basemap,esri-tilelayerfor a ESRI Tile layer,esri-dynamicmaplayerfor a ESRI Dynamic Map Layer,esri-imagemaplayerfor ESRI Image map layer oresri-featurelayerfor ESRI Feature Layer.urlA validhttpsurl link to to the layer, all non HTTPS links will be igonredlayer_nameThe name of the layer on the hosting serverattributionA attribution to the data, if applicabledisplay_nameThe name of the layer as will be displayed in the user interfaceadditional_metadataA arbitrary JSON object to hold any other metadata
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
External Data Layers ¶
Headers
Authorization: Token ABC123Headers
Content-Type: application/jsonBody
[
{
"id": 123,
"server_type": "mapcentia-gc2",
"layer_type": "wms",
"url": "https://cagmap.snh.gov.uk/arcgis/services/snh_habitats_and_species/MapServer/WMSServer?",
"layer_name": "Habitats",
"attribution": "Map data from OpenStreetMap.",
"display_name": "All Natural Habitats",
"additional_metadata": {}
}
]Get External Layer DetailGET/projects/{project_id}/data_layers/
Get the details of a single external layer added to this project
- project_id
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
Headers
Authorization: Token ABC123Headers
Content-Type: application/jsonDelete External LayerDELETE/projects/{project_id}/data_layers/{layer_id}/
Delete external layers linked to the project, you must be a project administrator to delete a layer
- project_id
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- layer_id
integer(required) Example: 23The ID of the layer
Project Study Area Center ¶
Headers
Authorization: Token ABC123Headers
Content-Type: application/jsonBody
{
"center": "-0.1567,51.5041"
}Get project centerGET/projects/{projectid}/center/
Returns a string with center of the study area in longitude,latitude format.
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
Project Constraints ¶
Headers
Authorization: Token ABC123Headers
Content-Type: application/jsonBody
{
"geojson": {
"type": "FeatureCollection",
"features": [
{
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-0.13458251953125,
51.49891200625809
],
[
-0.11260986328124999,
51.48651406499528
],
[
-0.1702880859375,
51.473257364513714
],
[
-0.1847076416015625,
51.46812470399791
],
[
-0.17990112304687497,
51.50062180251775
],
[
-0.18745422363281247,
51.5091698216777
],
[
-0.1888275146484375,
51.5177162373547
],
[
-0.17852783203125,
51.52327054772943
],
[
-0.17234802246093747,
51.52327054772943
],
[
-0.13458251953125,
51.49891200625809
],
[
-0.13458251953125,
51.49891200625809
]
]
]
},
"type": "Feature",
"properties": {
"areatype": "constraints",
"author": "ufeusr1",
"color": "#343434",
"diagramid": 2,
"sysid": 1
}
}
]
},
"sysid": 1,
"rank": 0,
"id": 0,
"description": "No Description Added. Please add one.",
"length": 0,
"area": 16791.702
}Get project constraintsGET/projects/{projectid}/constraints/
Returns a GeoJSON geometry of constraints set within the project area.
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
Project Boundaries ¶
Headers
Authorization: Token ABC123Headers
Content-Type: application/jsonBody
{
"geojson": {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"bname": "Boundary 1",
"areatype": "boundaries",
"color": "#a6cee3",
"author": "ufeusr1"
},
"geometry": {
"coordinates": [
[
[
38.989019,
37.180636
],
[
38.989191,
37.166958
],
[
39.004469,
37.166411
],
[
39.006529,
37.182414
],
[
38.989019,
37.180636
]
]
],
"type": "Polygon"
}
},
{
"type": "Feature",
"properties": {
"bname": "Boundary 1",
"areatype": "boundaries",
"color": "#a6cee3",
"author": "ufeusr1"
},
"geometry": {
"coordinates": [
[
[
39.013395,
37.182277
],
[
39.011679,
37.166
],
[
39.032106,
37.167368
],
[
39.03039,
37.18214
],
[
39.013395,
37.182277
]
]
],
"type": "Polygon"
}
}
]
},
"description": "First Boundaries"
}Get project boundariesGET/projects/{projectid}/boundaries/
Returns a GeoJSON geometry of the first boundary set within the project area.
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
Project Second Boundaries ¶
Headers
Authorization: Token ABC123Headers
Content-Type: application/jsonBody
{
"geojson": {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"bname": "Boundary 1",
"areatype": "boundaries",
"color": "#a6cee3",
"author": "ufeusr1"
},
"geometry": {
"coordinates": [
[
[
38.989019,
37.180636
],
[
38.989191,
37.166958
],
[
39.004469,
37.166411
],
[
39.006529,
37.182414
],
[
38.989019,
37.180636
]
]
],
"type": "Polygon"
}
},
{
"type": "Feature",
"properties": {
"bname": "Boundary 1",
"areatype": "boundaries",
"color": "#a6cee3",
"author": "ufeusr1"
},
"geometry": {
"coordinates": [
[
[
39.013395,
37.182277
],
[
39.011679,
37.166
],
[
39.032106,
37.167368
],
[
39.03039,
37.18214
],
[
39.013395,
37.182277
]
]
],
"type": "Polygon"
}
}
]
},
"description": "Second Boundaries"
}Get second project boundariesGET/projects/{projectid}/secondboundaries/
Returns a GeoJSON geometry of second boundaries set within the project area. (Upto two boundaries can be set in a project)
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
Tags API ¶
Resources related to tags on Geodesignhub.
Create Tags ¶
Headers
Authorization: Token ABC123Body
{
"tags": [
{
"tag": "Hello World",
"code": "1.2.2"
}
]
}Headers
Content-Type: application/jsonBody
{
"status": "Tags created successfully"
}Bulk Create project tagsPOST/projects/{projectid}/tags/create/
Creates multiple tags for a project. Using this endpoint, you can create multiple tags for a project.
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
List Tags ¶
Headers
Authorization: Token ABC123Headers
Content-Type: application/jsonBody
[
{
"id": "a95fcf52-b2df-46a8-9f70-dab4e7eebaa9",
"tag": "house",
"slug": "house",
"code": "3.4",
"diagrams": []
},
{
"id": "d5ea9a83-ca25-4f2a-b077-6480055e4835",
"tag": "home",
"slug": "home",
"code": "0.4",
"diagrams": []
},
{
"id": "12697faa-6dbf-4b47-9696-6108c7e4e99e",
"tag": "holiday",
"slug": "holiday",
"code": "1",
"diagrams": [23]
},
{
"id": "b88bc74b-58fb-4a38-88b9-16a679a4b783",
"tag": "housing",
"slug": "housing"
"code": "3",
"diagrams": [25]
}
]Get all project tagsGET/projects/{projectid}/tags/
Returns a JSON object detailing all the tags associated with a project, a diagram can have multiple tags associated with it.
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
List Tags Attribution ¶
Headers
Authorization: Token ABC123Headers
Content-Type: application/jsonBody
[
{
"credit": "Copyright 2024 Geodesignhub.com"
}
]Get attribution for tagsGET/projects/{projectid}/tags/attribution/
Returns a JSON object for the attribution string for the tags in the project, if no attribution exists, then a empty string is returned
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
Diagrams API ¶
Resources related to diagrams on Geodesignhub.
Diagrams Collection ¶
Headers
Authorization: Token ABC123Headers
Content-Type: application/jsonBody
[
{
"id": 7,
"worlddescription": "ase",
"author": "ufeusr1",
"created_at": "2018-08-26T20:53:25.838663",
"rank": 1,
"sysid": 2
},
{
"id": 8,
"worlddescription": "ce",
"author": "ufeusr1",
"created_at": "2018-01-26T20:53:25.838663",
"rank": 1,
"sysid": 1
},
{
"id": 9,
"worlddescription": "32",
"author": "ufeusr1",
"created_at": "2018-02-02T20:53:25.838663",
"rank": 2,
"sysid": 1
}
]List project diagramsGET/projects/{projectid}/diagrams/
Returns all the diagrams for the project by ID and description.
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
All Diagrams ¶
Headers
Authorization: Token ABC123Headers
Content-Type: application/jsonBody
[
{
"geojson": {
"type": "FeatureCollection",
"features": [
{
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-0.09514331817626952,
51.51555307745177
],
[
-0.09394168853759766,
51.51523260058079
],
[
-0.08668899536132812,
51.51549966479653
],
[
-0.0856161117553711,
51.515659902574384
],
[
-0.08085250854492186,
51.51547295844541
],
[
-0.08020877838134766,
51.51531272000991
],
[
-0.07797718048095703,
51.51437798456801
],
[
-0.07746219635009766,
51.51395067054886
],
[
-0.07741928100585936,
51.51352335252112
],
[
-0.07784843444824219,
51.5129891993494
],
[
-0.07973670959472656,
51.51280224425956
],
[
-0.0832986831665039,
51.51309603048481
],
[
-0.08703231811523438,
51.51309603048481
],
[
-0.08870601654052734,
51.5129891993494
],
[
-0.09029388427734374,
51.51325627671818
],
[
-0.09162425994873047,
51.51365688983539
],
[
-0.0960874557495117,
51.51456493319091
],
[
-0.09724617004394531,
51.514992241447835
],
[
-0.0972890853881836,
51.51568660881589
],
[
-0.09552955627441406,
51.51571331504175
],
[
-0.09514331817626952,
51.51555307745177
],
[
-0.09514331817626952,
51.51555307745177
]
]
]
},
"type": "Feature",
"properties": {
"areatype": "project",
"author": "ufeusr1",
"color": "#071ac8",
"diagramid": 5,
"sysid": 1,
"systag": "Small buildings, low density housing"
}
}
]
},
"sysid": 1,
"rank": 1,
"id": 1,
"description": "testing",
"length": 0,
"area": 16791.702,
"cost_override": 100,
"cost_override_type": "total",
"building_data": {
"storeys_above_ground": 14,
"storeys_below_ground": 0
},
"notes": "",
"created_at": "2018-08-26 20:57:02",
"start_date": "2020-02-26",
"end_date": "2022-02-22",
"additional_metadata": {},
"tag_codes": "wp6sw",
"flat_geobuf_url": "",
"external_geometries": ""
},
{
"geojson": {
"type": "FeatureCollection",
"features": [
{
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-0.1064300537109375,
51.5212411667077
],
[
-0.07432937622070312,
51.50927666176991
],
[
-0.06299972534179688,
51.505537109466715
],
[
-0.06282806396484375,
51.50468231156
],
[
-0.06420135498046875,
51.504148054725356
],
[
-0.07656097412109375,
51.50607135001545
],
[
-0.08737564086914062,
51.5089561407416
],
[
-0.09990692138671875,
51.51066556016948
],
[
-0.1078033447265625,
51.51087923308819
],
[
-0.10951995849609375,
51.51525930707282
],
[
-0.11484146118164062,
51.522522891558964
],
[
-0.11243820190429688,
51.522629700334875
],
[
-0.1064300537109375,
51.5212411667077
],
[
-0.1064300537109375,
51.5212411667077
]
]
]
},
"type": "Feature",
"properties": {
"areatype": "policy",
"author": "ufeusr1",
"color": "#071ac8",
"diagramid": 7,
"sysid": 1,
"systag": "Small buildings, low density housing"
}
}
]
},
"sysid": 1,
"rank": 2,
"id": 2,
"description": "new polciy",
"length": 0,
"area": 16791.702,
"cost_override": 0,
"cost_override_type": "total",
"building_data": {
"storeys_above_ground": 14,
"storeys_below_ground": 0
},
"notes": "",
"created_at": "2018-08-26 20:57:02",
"start_date": "2020-02-26",
"end_date": "2022-02-22",
"additional_metadata": {},
"tag_codes": "wp6sw",
"flat_geobuf_url": "",
"external_geometries": ""
},
{
"geojson": {
"type": "FeatureCollection",
"features": [
{
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-0.09479999542236328,
51.51472517425703
],
[
-0.09415626525878906,
51.511760623284765
],
[
-0.09419918060302733,
51.509837568143645
],
[
-0.09758949279785156,
51.510558723334285
],
[
-0.09883403778076172,
51.51103948711957
],
[
-0.09836196899414062,
51.511760623284765
],
[
-0.0990915298461914,
51.515900258184224
],
[
-0.09492874145507812,
51.515900258184224
],
[
-0.09479999542236328,
51.51472517425703
],
[
-0.09479999542236328,
51.51472517425703
]
]
]
},
"type": "Feature",
"properties": {
"areatype": "project",
"author": "ufeusr1",
"color": "#fc1999",
"diagramid": 8,
"sysid": 2,
"systag": "Large buildings, Industry, commerce"
}
}
]
},
"sysid": 2,
"rank": 1,
"id": 1,
"description": "new project",
"length": 0,
"area": 16791.702,
"cost_override": 100,
"cost_override_type": "total",
"building_data": {
"storeys_above_ground": 14,
"storeys_below_ground": 0
},
"notes": "",
"created_at": "2018-08-26 20:57:02",
"start_date": "2020-02-26",
"end_date": "2022-02-22",
"additional_metadata": {},
"tag_codes": "wp6sw",
"flat_geobuf_url": "",
"external_geometries": ""
}
]Get details of all diagramsGET/projects/{projectid}/diagrams/all/
Returns the a list of Diagram geometries and properties for all the diagrams in the project.
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
All Diagram Details ¶
Headers
Authorization: Token ABC123Headers
Content-Type: application/jsonBody
[
{
"sysid": 1,
"rank": 1,
"id": 1,
"description": "testing",
"length": 0,
"area": 16791.702,
"cost_override": 100,
"cost_override_type": "total",
"building_data": {
"storeys_above_ground": 14,
"storeys_below_ground": 0
},
"notes": "",
"additional_metadata": {},
"created_at": "2018-08-26 20:57:02",
"start_date": "2020-02-26",
"end_date": "2022-02-22"
},
{
"sysid": 1,
"rank": 2,
"id": 2,
"description": "new polciy",
"length": 0,
"area": 16791.702,
"cost_override": 0,
"cost_override_type": "total",
"building_data": {
"storeys_above_ground": 14,
"storeys_below_ground": 0
},
"notes": "",
"additional_metadata": {},
"created_at": "2018-08-26 20:57:02",
"start_date": "2020-02-26",
"end_date": "2022-02-22"
},
{
"sysid": 45,
"rank": 2,
"id": 2,
"description": "test",
"type": "project",
"length": 0.0,
"area": 5691.222,
"fundingtype": "public",
"cost_override_type": "per hectare.",
"cost_override": 0.0,
"created_at": "2020-08-24 19:25:57",
"building_data": {},
"notes": "",
"additional_metadata": {},,
"start_date": "2020-02-26",
"end_date": "2022-02-22",
"additional_metadata": {},
"tag_codes": "wp6sw"
}
]Get details of all diagramsGET/projects/{projectid}/diagrams/all/details/
Returns the a list of Diagram properties (without Geometries) for all the diagrams in the project.
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
Diagram Detail ¶
Headers
Authorization: Token ABC123Headers
Content-Type: application/jsonBody
{
"geojson": {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"areatype": "project",
"color": "#ffcc00",
"systag": "Small buildings, low density housing",
"diagramid": 155,
"sysname": "LDH",
"position": "LDH 1",
"author": "ufeusr1"
},
"geometry": {
"coordinates": [
[
[
-6.255365,
53.327752
],
[
-6.255408,
53.32691
],
[
-6.254233,
53.326839
],
[
-6.254147,
53.327739
],
[
-6.255365,
53.327752
]
]
],
"type": "Polygon"
}
}
]
},
"sysid": 48,
"rank": 2,
"id": 2,
"description": "new park",
"type": "project",
"length": 0,
"area": 7733.067,
"fundingtype": "public",
"cost_override_type": "per hectare.",
"cost_override": 0,
"created_at": "2020-03-06 12:50:32",
"start_date": "2020-02-26",
"end_date": "2022-02-22",
"notes": "",
"additional_metadata": {},
"building_data": {
"storeys_above_ground": 95,
"storeys_below_ground": -10
},
"tag_codes": "wp6sw",
"flat_geobuf_url": "",
"external_geometries": ""
}Get details of a diagramGET/projects/{projectid}/diagrams/{diagramid}/
Returns the a GeoJSON feature collection geometry of the diagram that is passed in the diagram ID.
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- diagramid
integer(required) Example: 12The ID of the diagram in the form of an integer
A object called “additional_metadata” must be provided
Tags
tag_codes: List of Code ID stringsAdditional Metadata
additional_metadata: Free form JSON objectDiagram Title
title: StringStart Date
start_date: Time represented as simplified extended ISO format (ISO 8601), which is always 24 or 27 characters long (YYYY-MM-DDTHH:mm:ss.sssZ or ±YYYYYY-MM-DDTHH:mm:ss.sssZEnd Date
end_date: Time represented as simplified extended ISO format (ISO 8601), which is always 24 or 27 characters long (YYYY-MM-DDTHH:mm:ss.sssZ or ±YYYYYY-MM-DDTHH:mm:ss.sssZ
Headers
Content-Type: application/json
Authorization: Token ABC123Body
{
"additional_metadata": {
"id": "ca665187-6cfd-40a2-8cbf-3247d73c55f3"
},
"tag_codes": [
"1.3.4"
],
"title": "New Title",
"start_date": "2020-01-28T00:00:00.000Z",
"end_date": "2021-01-28T00:00:00.000Z"
}Headers
Content-Type: application/jsonBody
{
"status": "Diagram properties updated successfully"
}Headers
Content-Type: application/jsonBody
{
"status": "Processing unsuccessful. Tag ID provided refers to a tag not in the project."
}Bulk Update properties of a diagramPOST/projects/{projectid}/diagrams/{diagramid}/
Bulk update selected properties of a diagram. Currently, five properties are supported:
Tags (tag_codes): List of Code ID strings
Additional Metadata (additional_metadata): Free form JSON object
Diagram Title (title): String
Start Date (start_date): Time represented as simplified extended ISO format (ISO 8601), which is always 24 or 27 characters long (YYYY-MM-DDTHH:mm:ss.sssZ or ±YYYYYY-MM-DDTHH:mm:ss.sssZ
End Date (end_date): Time represented as simplified extended ISO format (ISO 8601), which is always 24 or 27 characters long (YYYY-MM-DDTHH:mm:ss.sssZ or ±YYYYYY-MM-DDTHH:mm:ss.sssZ
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- diagramid
integer(required) Example: 12The ID of the diagram in the form of an integer
Diagram Tags Detail ¶
Headers
Content-Type: application/json
Authorization: Token ABC123Headers
Content-Type: application/jsonBody
[
{
"id": "a95fcf52-b2df-46a8-9f70-dab4e7eebaa9",
"tag": "house",
"slug": "house",
"code": "1.3.4",
"diagrams": [
23,
22
]
}
]Get all Tags associated with a diagramGET/projects/{projectid}/diagrams/{diagramid}/tags/
Returns the a JSON detailing the tags associated / linkedbo a diagram for the that is passed in the diagram ID.
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- diagramid
integer(required) Example: 12The ID of the diagram in the form of an integer
Headers
Authorization: Token ABC123Body
[
"8a0abf8b-5bbc-4a1b-ac80-872291daed9f"
]Headers
Content-Type: application/jsonBody
{
"status": "Tag updated successfully"
}Headers
Content-Type: application/jsonBody
{
"status": "Processing unsuccessful. Tag ID provided refers to a tag not in the project."
}Update all Tags associated with a diagramPOST/projects/{projectid}/diagrams/{diagramid}/tags/
Updates the tags associated with a diagram by assigning the the tag IDs passed in the request body.
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- diagramid
integer(required) Example: 12The ID of the diagram in the form of an integer
Diagram Tags Detail ¶
Headers
Content-Type: application/json
Authorization: Token ABC123Headers
Content-Type: application/jsonBody
[
{
"id": "a95fcf52-b2df-46a8-9f70-dab4e7eebaa9",
"tag": "house",
"slug": "house",
"code": "1.3.4",
"diagrams": [
23,
22
]
}
]Get all Tags associated with a diagram (Tag code)GET/projects/{projectid}/diagrams/{diagramid}/tags/codes/
Returns the a JSON detailing the tags associated / linked to a diagram for the that is passed in the diagram ID.
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- diagramid
integer(required) Example: 12The ID of the diagram in the form of an integer
Headers
Authorization: Token ABC123Body
[
"1.3.4"
]Headers
Content-Type: application/jsonBody
{
"status": "Tag updated successfully"
}Headers
Content-Type: application/jsonBody
{
"status": "Processing unsuccessful. Tag ID provided refers to a tag not in the project."
}Update Tags associated with a diagram (Tag code)POST/projects/{projectid}/diagrams/{diagramid}/tags/codes/
Updates the tags associated with a diagram by assigning the the tag code passed in the request body.
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- diagramid
integer(required) Example: 12The ID of the diagram in the form of an integer
Diagram Notes Detail ¶
Headers
Content-Type: application/json
Authorization: Token ABC123Headers
Content-Type: application/jsonBody
{
"id": "54",
"notes": "This housing project is already funded"
}Get all Notes associated with a diagramGET/projects/{projectid}/diagrams/{diagramid}/notes/
Returns the a JSON object detailing the notes associated / linked to a diagram that is passed in the diagram ID parameter.
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- diagramid
integer(required) Example: 12The ID of the diagram in the form of an integer
Headers
Authorization: Token ABC123Body
{
"notes": "This is a updated note for the diagram"
}Headers
Content-Type: application/jsonBody
{
"id": "54",
"notes": "This is a updated note for the diagram"
}Update all Notes associated with a diagramPOST/projects/{projectid}/diagrams/{diagramid}/notes/
Returns the a JSON detailing the notes associated / linked to a diagram that is passed in the diagram ID parameter.
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- diagramid
integer(required) Example: 12The ID of the diagram in the form of an integer
Diagram Last Changed ¶
Headers
Authorization: Token ABC123Headers
Content-Type: application/jsonBody
{
"changehash": "57266cf8"
}Get details last modified timestamp of a diagramGET/projects/{projectid}/diagrams/{diagramid}/changeid/
Returns the a hash of the last modified date, can be used to see if a diagram has changed from the last time it was accessed.
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- diagramid
integer(required) Example: 12The ID of the diagram in the form of an integer
User Diagrams Selections ¶
Headers
Content-Type: application/jsonBody
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"areatype": "project",
"color": "#da801c",
"volume_information": {
"min_height": 0,
"max_height": 45.0,
},
"sysid": 26,
"diagramid": 50,
"sysname": "MIX",
"author": "ufeusr1",
"rgbcolor": "[218, 128, 28]",
"description": "new housing"
},
"geometry": {
"coordinates": [
[
[
-6.253425,
53.326606
],
[
-6.253683,
53.326452
],
[
-6.253415,
53.326372
],
[
-6.253184,
53.326285
],
[
-6.253002,
53.326292
],
[
-6.252868,
53.32642
],
[
-6.253018,
53.326516
],
[
-6.253195,
53.3266
],
[
-6.253425,
53.326606
]
]
],
"type": "Polygon"
}
},
{
"type": "Feature",
"properties": {
"areatype": "project",
"color": "#ffcc00",
"volume_information": {
"min_height": 0,
"max_height": 63.0,
},
"sysid": 25,
"diagramid": 95,
"sysname": "LDH",
"author": "ufeusr1",
"rgbcolor": "[255, 204, 0]",
"description": "test2"
},
"geometry": {
"coordinates": [
[
[
-6.255169,
53.324732
],
[
-6.248817,
53.325347
],
[
-6.251221,
53.323553
],
[
-6.255169,
53.324732
]
]
],
"type": "Polygon"
}
}
]
}Get details diagrams selected by a userGET/projects/{projectid}/members/{username}/diagrams/
Returns the geometry of the diagrams selected by the user for the particular project. The user has to be a member of the project.
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- username
string(required) Example: ufeusr1The username of a user who is a member of the project
Diagram Groups API ¶
Resources related to diagram groups on Geodesignhub
Create Diagram Group ¶
Headers
Authorization: Token ABC123Body
{
"diagram_groups": [
{
"diagrams": [
12,
13,
15
],
"group_name": "Green Infrastructure plan"
}
]
}Headers
Content-Type: application/jsonBody
{
"status": "Diagram Groups created successfully"
}Bulk Create diagram groupPOST/projects/{projectid}/diagrams/group/
Creates multiple diagram groups in a project. Using this endpoint, you can create multiple multiple diagram groups in your project
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
Thumbnails API ¶
Resources related to images of diagrams within a project on Geodesignhub.
Generate All Diagrams Thumbnail ¶
Headers
Authorization: Token ABC123Headers
Content-Type: application/jsonBody
{
"message": "Thumbnails Generated",
"results_url": [
"/api/v1/projects/b522ccca68f6decf/diagrams/138/thumbnail/d04c4c17-ff04-4354-8479-1de67b437523/",
"/api/v1/projects/b522ccca68f6decf/diagrams/139/thumbnail/d04c4c17-ff04-4354-8479-1de67b437523/",
"/api/v1/projects/b522ccca68f6decf/diagrams/140/thumbnail/d04c4c17-ff04-4354-8479-1de67b437523/",
"/api/v1/projects/b522ccca68f6decf/diagrams/141/thumbnail/d04c4c17-ff04-4354-8479-1de67b437523/",
"/api/v1/projects/b522ccca68f6decf/diagrams/142/thumbnail/d04c4c17-ff04-4354-8479-1de67b437523/",
]
}Generate thumbnails of all diagrams in a projectGET/projects/{projectid}/diagrams/all/generate_thumbnails/
Returns a list of urls where you can download generated diagram thumbnails, useful for generating all diagram thumbnails in a project.
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
Generate Diagram Thumbnail ¶
Headers
Authorization: Token ABC123Headers
Content-Type: application/jsonBody
{
"message": "Task Generated",
"results_url": "/api/v1/projects/5c84b38a16ebeed0/diagrams/12/thumbnail/70c5f4e6-b656-4412-8ee5-16c30de0509f"
}Generate a thumbnail of a single diagramGET/projects/{projectid}/diagrams/{diagramid}/generate_thumbnail/
Returns a uuid of the job that generates a thumbnail image, can be used to download a PNG image of a diagram.
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- diagramid
integer(required) Example: 12The ID of the diagram in the form of an integer
Get Diagram Thumbnail ¶
Headers
Authorization: Token ABC123Headers
Content-Type: image/png
Content-Length: 26572Download a thumbnail of a diagramGET/projects/{projectid}/diagrams/{diagramid}/thumbnail/{jobid}/
Returns a PNG image of the diagram thumbnail that was generated earlier, a PNG image is retured as a response
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- diagramid
integer(required) Example: 12The ID of the diagram in the form of an integer
- jobid
string(required) Example: 8f99a13f04ae-48e3-8f51-40d967ec38ca (uuid) - The ID of the job as given by the earlier generate
Systems API ¶
Resources related to systems within a project on Geodesignhub.
Systems Collection ¶
Headers
Authorization: Token ABC123Headers
Content-Type: application/jsonBody
[
{
"id": 1,
"sname": "LDH",
"color": "#071ac8"
},
{
"id": 2,
"name": "HDH",
"color": "#fc1999"
},
{
"id": 3,
"name": "AG",
"color": "#18a81b"
},
{
"id": 15,
"name": "S4",
"color": "#0a650c"
}
]List project systemsGET/projects/{projectid}/systems/
Returns basic system details for the project with ID and system name. For futher details, look up the systems/{systemid} endpoint
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
System Detail ¶
Headers
Content-Type: application/jsonBody
{
"id": 1,
"name": "LDH",
"verbose_description": "Low Density Housing",
"color": "#071ac8",
"tag": "SMB",
"cost": 100000,
"budget": 2000000,
"current_ha": 0,
"target_ha": 5
}Get system detailsGET/projects/{projectid}/systems/{sysid}/
Returns the details of that system such as system name, type, etc.
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- sysid
integer(required) Example: 23The ID of the system in the form of an integer
System Diagrams ¶
Headers
Content-Type: application/jsonBody
{
"diagrams": [
5,
7,
13,
15,
18
]
}Get system diagramsGET/projects/{projectid}/systems/{sysid}/diagrams/
Returns the IDs of all the diagrams contained in that system
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- sysid
integer(required) Example: 23The ID of the system in the form of an integer
System Evaluation ¶
Headers
Authorization: Token ABC123Headers
Content-Type: application/jsonBody
{
"geojson": {
"type": "FeatureCollection",
"features": [
{
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-0.21629333496093747,
51.5399294146093
],
[
-0.208740234375,
51.53480425870272
],
[
-0.204620361328125,
51.524979430024345
],
[
-0.204620361328125,
51.514725174257
],
[
-0.2066802978515625,
51.505750806437874
],
[
-0.218353271484375,
51.497202145853784
],
[
-0.230712890625,
51.49164465653034
],
[
-0.24307250976562497,
51.48822432632349
],
[
-0.2767181396484375,
51.48822432632349
],
[
-0.2877044677734375,
51.49078959803455
],
[
-0.292510986328125,
51.494637234974235
],
[
-0.2931976318359375,
51.5091698216777
],
[
-0.2849578857421875,
51.5283970022217
],
[
-0.276031494140625,
51.536512708129735
],
[
-0.2684783935546875,
51.540783551151826
],
[
-0.22384643554687497,
51.54206472590799
],
[
-0.21629333496093747,
51.5399294146093
],
[
-0.21629333496093747,
51.5399294146093
]
]
]
},
"type": "Feature",
"properties": {
"areatype": "red",
"color": "#f03b20"
}
},
{
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-0.141448974609375,
51.5403564848844
],
[
-0.13458251953125,
51.53864817973767
],
[
-0.12153625488281249,
51.52882418070984
],
[
-0.11947631835937499,
51.52198884392169
],
[
-0.11947631835937499,
51.50959718054336
],
[
-0.12359619140625,
51.50062180251775
],
[
-0.1297760009765625,
51.49634719159713
],
[
-0.1593017578125,
51.497202145853784
],
[
-0.16754150390625,
51.49848454717058
],
[
-0.1737213134765625,
51.5027589576403
],
[
-0.1764678955078125,
51.51045188624856
],
[
-0.17578125,
51.519425328081894
],
[
-0.1627349853515625,
51.53523137707124
],
[
-0.1544952392578125,
51.5399294146093
],
[
-0.1483154296875,
51.540783551151826
],
[
-0.141448974609375,
51.5403564848844
],
[
-0.141448974609375,
51.5403564848844
]
]
]
},
"type": "Feature",
"properties": {
"areatype": "green",
"color": "#74c476"
}
},
{
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-0.05699157714843749,
51.56341232867588
],
[
-0.050811767578125,
51.55999738544502
],
[
-0.0439453125,
51.55231282551346
],
[
-0.03776550292968749,
51.53523137707124
],
[
-0.0384521484375,
51.5283970022217
],
[
-0.04119873046875,
51.524552215462975
],
[
-0.0446319580078125,
51.52198884392169
],
[
-0.0501251220703125,
51.520707104039275
],
[
-0.05699157714843749,
51.520707104039275
],
[
-0.06797790527343749,
51.524124996893335
],
[
-0.06866455078125,
51.53523137707124
],
[
-0.06591796875,
51.54121061341155
],
[
-0.07415771484375,
51.55487448974971
],
[
-0.06797790527343749,
51.56255861691012
],
[
-0.0624847412109375,
51.56426602441386
],
[
-0.05699157714843749,
51.56341232867588
],
[
-0.05699157714843749,
51.56341232867588
]
]
]
},
"type": "Feature",
"properties": {
"areatype": "green",
"color": "#74c476"
}
}
]
},
"sysid": 1
}Get system evaluationGET/projects/{projectid}/systems/{sysid}/evaluation/
Returns a GeoJSON feature collection for the evaluation map for this system.
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- sysid
integer(required) Example: 23The ID of the system in the form of an integer
Add Project Diagram to System ¶
A diagram must contain the following details
geometryA GeoJSON FeatureCollection objectfeaturetypeWhether the diagram is a line or a polygondescriptionTitle of the diagramfundingtypeSpecify the funding type of the diagram:- pu - Public
- pp - Public + Private
- pr - Private
- bu - Budgeted
Headers
Content-Type: application/json
Authorization: Token ABC123Body
{
"geometry": {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-0.09307265281677245,
51.516194024429446
],
[
-0.09310483932495117,
51.51524595382876
],
[
-0.09136676788330077,
51.51502562473659
],
[
-0.09100198745727538,
51.515639872882986
],
[
-0.09152770042419434,
51.51636093622468
],
[
-0.09307265281677245,
51.51622740683744
],
[
-0.09307265281677245,
51.516194024429446
]
]
]
}
}
]
},
"featuretype": "polygon",
"description": "A new shopping mall",
"fundingtype": "pu"
}Headers
Content-Type: application/jsonBody
{
"diagram_id": "2321",
"grid_location": "TRANS 1",
"status": "Successfully added diagram to the project"
}Add a project diagramPOST/projects/{projectid}/systems/{sysid}/add/project/
Add a new diagram to a system
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- sysid
integer(required) Example: 23The ID of the system in the form of an integer
Add Policy Diagram to System ¶
A diagram must contain the following details
geometryA GeoJSON FeatureCollection objectfeaturetypeWhether the diagram is a line or a polygondescriptionTitle of the diagramfundingtypeSpecify the funding type of the diagram:- pu - Public
- pp - Public + Private
- pr - Private
- bu - Budgeted
Headers
Content-Type: application/json
Authorization: Token ABC123Body
{
"geometry": {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-0.10273933410644531,
51.5111730317151
],
[
-0.10273933410644531,
51.523003529077705
],
[
-0.08351325988769531,
51.523003529077705
],
[
-0.08351325988769531,
51.5111730317151
],
[
-0.10273933410644531,
51.5111730317151
]
]
]
}
}
]
},
"featuretype": "polygon",
"description": "Low taxation policy",
"fundingtype": "pu"
}Headers
Content-Type: application/jsonBody
{
"diagram_id": "2042",
"grid_location": "TRANS 1",
"status": "Successfully added diagram to the project"
}Add a policy diagramPOST/projects/{projectid}/systems/{sysid}/add/policy/
Add a new diagram to a system
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a policy in the form of an string
- sysid
integer(required) Example: 23The ID of the system in the form of an integer
Add External Project Diagram ¶
A diagram must contain the following details
urlA url to a Flatgeobuf (FGB) file or the URL for ESRI Organization Feature Layerlayer_typeSpecify the type of geometry linked:- fgb-layer - A Flatgeobuf File
- esri-org-featurelayer - A Feature Layer in an ESRI Organization
featuretypeWhether the diagram is a line or a polygondescriptionTitle of the diagramfundingtypeSpecify the funding type of the diagram:- pu - Public
- pp - Public + Private
- pr - Private
- bu - Budgeted
You can also include optional the following optional fields-
additional_metadataA arbitrary JSON object to hold any other metadatacostSpecify the cost for the diagram, as an integercost_typeSpecify the type of cost, if a unit cost is specified, Geodesignhub will multiply that cost with the number of hectares in the diagram- t - total cost
- u - unit cost
Headers
Content-Type: application/json
Authorization: Token ABC123Body
{
"url": "https://s3.amazonaws.com/my_fgbfile.fgb",
"layer_type": "fgb-layer",
"featuretype": "polygon",
"description": "A new shopping mall",
"fundingtype": "pu"
}Headers
Content-Type: application/jsonBody
{
"diagram_id": "2321",
"grid_location": "TRANS 1",
"status": "Successfully added diagram to the project"
}Add a external project diagramPOST/projects/{projectid}/systems/{sysid}/add/external/project/
Add a new diagram to a system with external geometries
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- sysid
integer(required) Example: 23The ID of the system in the form of an integer
Add External Policy Diagram ¶
A diagram must contain the following details
urlA url to a Flatgeobuf (FGB) file or the URL for ESRI Organization Feature Layerlayer_typeSpecify the type of geometry linked:- fgb-layer - A Flatgeobuf File
- esri-org-featurelayer - A Feature Layer in an ESRI Organization
featuretypeWhether the diagram is a line or a polygondescriptionTitle of the diagramfundingtypeSpecify the funding type of the diagram:- pu - Public
- pp - Public + Private
- pr - Private
- bu - Budgeted
You can also include optional the following optional fields
additional_metadataA arbitrary JSON object to hold any other metadatacostSpecify the cost for the diagram, as an integercost_typeSpecify the type of cost, if a unit cost is specified, Geodesignhub will multiply that cost with the number of hectares in the diagram- t - total cost
- u - unit cost
Headers
Content-Type: application/json
Authorization: Token ABC123Body
{
"url": "https://s3.amazonaws.com/my_fgbfile.fgb",
"layer_type": "fgb-layer",
"featuretype": "polygon",
"description": "A new shopping mall",
"fundingtype": "pu",
"additional_metadata": {}
}Headers
Content-Type: application/jsonBody
{
"diagram_id": "2321",
"grid_location": "TRANS 1",
"status": "Successfully added diagram to the project"
}Add a external policy diagramPOST/projects/{projectid}/systems/{sysid}/add/external/policy/
Add a new diagram to a system with external geometries
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- sysid
integer(required) Example: 23The ID of the system in the form of an integer
User System Diagram Selection ¶
Headers
Authorization: Token ABC123Headers
Content-Type: application/jsonBody
{
"type": "FeatureCollection",
"features": [
{
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-0.1064300537109375,
51.5212411667077
],
[
-0.07432937622070312,
51.50927666176991
],
[
-0.06299972534179688,
51.505537109466715
],
[
-0.06282806396484375,
51.50468231156
],
[
-0.06420135498046875,
51.504148054725356
],
[
-0.07656097412109375,
51.50607135001545
],
[
-0.08737564086914062,
51.5089561407416
],
[
-0.09990692138671875,
51.51066556016948
],
[
-0.1078033447265625,
51.51087923308819
],
[
-0.10951995849609375,
51.51525930707282
],
[
-0.11484146118164062,
51.522522891558964
],
[
-0.11243820190429688,
51.522629700334875
],
[
-0.1064300537109375,
51.5212411667077
],
[
-0.1064300537109375,
51.5212411667077
]
]
]
},
"type": "Feature",
"properties": {
"areatype": "policy",
"color": "#071ac8",
"systag": "Small buildings, low density housing"
}
},
{
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-0.09514331817626952,
51.51555307745177
],
[
-0.09394168853759766,
51.51523260058079
],
[
-0.08668899536132812,
51.51549966479653
],
[
-0.0856161117553711,
51.515659902574384
],
[
-0.08085250854492186,
51.51547295844541
],
[
-0.08020877838134766,
51.51531272000991
],
[
-0.07797718048095703,
51.51437798456801
],
[
-0.07746219635009766,
51.51395067054886
],
[
-0.07741928100585936,
51.51352335252112
],
[
-0.07784843444824219,
51.5129891993494
],
[
-0.07973670959472656,
51.51280224425956
],
[
-0.0832986831665039,
51.51309603048481
],
[
-0.08703231811523438,
51.51309603048481
],
[
-0.08870601654052734,
51.5129891993494
],
[
-0.09029388427734374,
51.51325627671818
],
[
-0.09162425994873047,
51.51365688983539
],
[
-0.0960874557495117,
51.51456493319091
],
[
-0.09724617004394531,
51.514992241447835
],
[
-0.0972890853881836,
51.51568660881589
],
[
-0.09552955627441406,
51.51571331504175
],
[
-0.09514331817626952,
51.51555307745177
],
[
-0.09514331817626952,
51.51555307745177
]
]
]
},
"type": "Feature",
"properties": {
"areatype": "project",
"color": "#071ac8",
"systag": "Small buildings, low density housing"
}
}
]
}Get diagrams selected in a system by userGET/projects/{projectid}/systems/{sysid}/{username}/diagrams/
Returns the geometry of the diagrams selected by the user for the particular project and a specific system.
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- sysid
integer(required) Example: 23The ID of the system in the form of an integer
- username
string(required) Example: ufeusr1The username of a user who is a member of the project
User System Projects Diagram Selection ¶
Headers
Authorization: Token ABC123Headers
Content-Type: application/jsonBody
{
"type": "FeatureCollection",
"features": [
{
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-0.09514331817626952,
51.51555307745177
],
[
-0.09394168853759766,
51.51523260058079
],
[
-0.08668899536132812,
51.51549966479653
],
[
-0.0856161117553711,
51.515659902574384
],
[
-0.08085250854492186,
51.51547295844541
],
[
-0.08020877838134766,
51.51531272000991
],
[
-0.07797718048095703,
51.51437798456801
],
[
-0.07746219635009766,
51.51395067054886
],
[
-0.07741928100585936,
51.51352335252112
],
[
-0.07784843444824219,
51.5129891993494
],
[
-0.07973670959472656,
51.51280224425956
],
[
-0.0832986831665039,
51.51309603048481
],
[
-0.08703231811523438,
51.51309603048481
],
[
-0.08870601654052734,
51.5129891993494
],
[
-0.09029388427734374,
51.51325627671818
],
[
-0.09162425994873047,
51.51365688983539
],
[
-0.0960874557495117,
51.51456493319091
],
[
-0.09724617004394531,
51.514992241447835
],
[
-0.0972890853881836,
51.51568660881589
],
[
-0.09552955627441406,
51.51571331504175
],
[
-0.09514331817626952,
51.51555307745177
],
[
-0.09514331817626952,
51.51555307745177
]
]
]
},
"type": "Feature",
"properties": {
"areatype": "project",
"color": "#071ac8",
"systag": "Small buildings, low density housing"
}
}
]
}Get project diagrams selected in a system by userGET/projects/{projectid}/systems/{sysid}/{username}/diagrams/projects/
Returns the geometry only of project diagrams selected by the user for the particular project and a specific system.
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- sysid
integer(required) Example: 23The ID of the system in the form of an integer
- username
string(required) Example: ufeusr1The username of a user who is a member of the project
User System Policies Diagram Selection ¶
Headers
Authorization: Token ABC123Headers
Content-Type: application/jsonBody
{
"type": "FeatureCollection",
"features": [
{
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-0.1064300537109375,
51.5212411667077
],
[
-0.07432937622070312,
51.50927666176991
],
[
-0.06299972534179688,
51.505537109466715
],
[
-0.06282806396484375,
51.50468231156
],
[
-0.06420135498046875,
51.504148054725356
],
[
-0.07656097412109375,
51.50607135001545
],
[
-0.08737564086914062,
51.5089561407416
],
[
-0.09990692138671875,
51.51066556016948
],
[
-0.1078033447265625,
51.51087923308819
],
[
-0.10951995849609375,
51.51525930707282
],
[
-0.11484146118164062,
51.522522891558964
],
[
-0.11243820190429688,
51.522629700334875
],
[
-0.1064300537109375,
51.5212411667077
],
[
-0.1064300537109375,
51.5212411667077
]
]
]
},
"type": "Feature",
"properties": {
"areatype": "policy",
"color": "#071ac8",
"systag": "Small buildings, low density housing"
}
}
]
}Get geometries of policy diagrams selected in a system by userGET/projects/{projectid}/systems/{sysid}/{username}/diagrams/policies/
Returns the geometry only of policy diagrams selected by the user for the particular project and a specific system.
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- sysid
integer(required) Example: 23The ID of the system in the form of an integer
- username
string(required) Example: ufeusr1The username of a user who is a member of the project
Change Teams API ¶
A set of resources related to Change teams within a Geodesignhub Project
Change Team Collection ¶
Headers
Authorization: Token ABC123Headers
Content-Type: application/jsonBody
[
{
"id": 1,
"title": "DEV"
},
{
"id": 4,
"title": "ECON"
}
]List all change teamsGET/projects/{projectid}/cteams/
Return all the change teams for that project.
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
Change Team Designs ¶
Headers
Content-Type: application/jsonBody
{
"synthesis": [
{
"cteamid": 1,
"creationdate": "2016-04-28T22:24:21.968000",
"id": "PHBN4B9H1KDBHKPK",
"description": "v3"
},
{
"cteamid": 1,
"creationdate": "2016-04-30T13:36:54.304000",
"id": "9F79977KO8KB35GM",
"description": "ve3"
},
{
"cteamid": 1,
"creationdate": "2016-04-30T13:39:01.860000",
"id": "0FN94DJH903ONLH4",
"description": "e2"
},
{
"cteamid": 1,
"creationdate": "2016-05-01T19:34:27.744000",
"id": "7N1LP9E4E2OG81L8",
"description": "new d"
},
{
"cteamid": 1,
"creationdate": "2016-05-01T19:36:05.462000",
"id": "BE52E36N507DIBFF",
"description": "old design"
},
{
"cteamid": 1,
"creationdate": "2016-05-01T19:36:33.845000",
"id": "82F3ADJ2P67FCI8O",
"description": "v5"
},
{
"cteamid": 1,
"creationdate": "2016-05-01T19:40:15.976000",
"id": "9P45D3EA03ON7AL9",
"description": "v09"
},
{
"cteamid": 1,
"creationdate": "2016-06-09T20:50:11.149083",
"id": "EMHK5NP4K47OMHCB",
"description": "v1"
}
]
}List designs of a change teamGET/projects/{projectid}/cteams/{cteamid}/
Returns a list of synthesis created by this change team
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- cteamid
integer(required) Example: 12The ID of the change team in the form of an integer
Change Team Designs ¶
Headers
Content-Type: application/jsonBody
{
"description": "v3",
"creationdate": "2024-05-30T16:45:35.281332Z",
"id": "7GXZPB4DW322NEEY"
}List designs of a change teamGET/projects/{projectid}/cteams/{cteamid}/details/
Returns a list of synthesis created by this change team
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- cteamid
integer(required) Example: 12The ID of the change team in the form of an integer
Change Team Members ¶
Headers
Authorization: Token ABC123Headers
Content-Type: application/jsonBody
{
"members": [
"ufeusr1"
]
}List members of a change teamGET/projects/{projectid}/cteams/{cteamid}/members/
Returns a list of usernames of users who are members of this change team.
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- cteamid
integer(required) Example: 12The ID of the change team in the form of an integer
Design Synthesis ESRI JSON ¶
Headers
Authorization: Token ABC123Headers
Content-Type: application/jsonBody
[
{
"geometry": {
"rings": [
[
[
-6.255692,
53.326477
],
[
-6.255649,
53.326358
],
[
-6.255928,
53.326262
],
[
-6.256051,
53.326352
],
[
-6.255692,
53.326477
]
]
],
"spatialReference": {
"wkid": 3857
}
},
"attributes": {
"id": 0
}
},
{
"geometry": {
"rings": [
[
[
-6.255418,
53.326198
],
[
-6.255252,
53.326102
],
[
-6.255585,
53.32598
],
[
-6.255708,
53.326105
],
[
-6.255418,
53.326198
]
]
],
"spatialReference": {
"wkid": 3857
}
},
"attributes": {
"id": 0
}
},
{
"geometry": {
"rings": [
[
[
-6.255502,
53.325996
],
[
-6.254879,
53.326253
],
[
-6.254724,
53.32609
],
[
-6.255437,
53.325779
],
[
-6.255502,
53.325996
]
]
],
"spatialReference": {
"wkid": 3857
}
},
"attributes": {
"description": "new polygon",
"author": "ufeusr1",
"diagramid": 31,
"systag": "Small buildings, low density housing",
"sysname": "LDH",
"grid_location": "LDH 1",
"areatype": "project",
"diagramtype": "project",
"fundingtype": "public",
"cost_override": 0,
"cost_override_type": "per hectare.",
"color": "#ffcc00",
"notes": "",
"additional_metadata": {},
"volume_information": {
"min_height": 0,
"max_height": 0
},
"tag_codes": "3.2|4.3|5.5",
"start_date": "2020-02-26",
"end_date": "2022-02-22"
}
},
{
"geometry": {
"paths": [
[
[
-6.254616,
53.327141
],
[
-6.254128,
53.327073
],
[
-6.253458,
53.326977
],
[
-6.253479,
53.326756
],
[
-6.253388,
53.326551
],
[
-6.253597,
53.326493
],
[
-6.25445,
53.32617
]
]
],
"spatialReference": {
"wkid": 3857
}
},
"attributes": {
"description": "AG Numeric",
"author": "ufeusr1",
"diagramid": 61,
"systag": "Agriculture, Forestry",
"sysname": "AG",
"grid_location": "LDH 1",
"areatype": "project",
"diagramtype": "project",
"fundingtype": "public",
"cost_override": 100,
"cost_override_type": "total",
"color": "#C2E699",
"notes": "",
"volume_information": {
"min_height": 0,
"max_height": 0
},
"additional_metadata": {},
"tag_codes": "3.2|4.3|5.5",
"start_date": "2020-02-26",
"end_date": "2022-02-22"
}
}
]Get design synthesis (ESRI-JSON)GET/projects/{projectid}/cteams/{cteamid}/{synthesisid}/esri/
Returns a ESRI-JSON featureset object of the synthesis that is saved.
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- cteamid
integer(required) Example: 12The ID of the change team in the form of an integer
- synthesisid
string(required) Example: 2G638FLMLJEGF706The ID of a synthesis in the form of a string
Design Synthesis GeoJSON ¶
Headers
Authorization: Token ABC123Headers
Content-Type: application/jsonBody
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"description": "new polygon",
"author": "ufeusr1",
"diagramid": 31,
"systag": "Small buildings, low density housing",
"sysname": "LDH",
"grid_location": "LDH 1",
"areatype": "project",
"diagramtype": "project",
"fundingtype": "public",
"cost_override": 0,
"cost_override_type": "per hectare.",
"color": "#ffcc00",
"notes":"",
"volume_information": {
"min_height": 0,
"max_height": 0
},
"additional_metadata": {},
"tag_codes": "3.2|4.3|5.5",
"start_date": "2020-02-26",
"end_date": "2022-02-22"
},
"geometry": {
"coordinates": [
[
[
-6.264439,
53.332213
],
[
-6.263838,
53.328984
],
[
-6.251392,
53.327241
],
[
-6.241865,
53.332354
],
[
-6.256371,
53.338402
],
[
-6.264439,
53.332213
]
]
],
"type": "Polygon"
}
},
{
"type": "Feature",
"properties": {
"description": "AG Numeric",
"author": "ufeusr1",
"diagramid": 61,
"systag": "Agriculture, Forestry",
"sysname": "AG",
"position": "AG 4",
"areatype": "project",
"diagramtype": "project",
"fundingtype": "public",
"cost_override": 100,
"cost_override_type": "total",
"color": "#C2E699",
"notes":"",
"volume_information": {
"min_height": 0,
"max_height": 0
},
"additional_metadata": {},
"tag_codes": "3.2|4.3|5.5"
"start_date": "2020-02-26",
"end_date": "2022-02-22"
},
"geometry": {
"coordinates": [
[
[
-6.252637,
53.329628
],
[
-6.261048,
53.331012
],
[
-6.240878,
53.334241
],
[
-6.252637,
53.329628
]
]
],
"type": "Polygon"
}
}
]
}Get design synthesisGET/projects/{projectid}/cteams/{cteamid}/{synthesisid}/
Returns a GeoJSON feature collection object of the synthesis that is saved.
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- cteamid
integer(required) Example: 12The ID of the change team in the form of an integer
- synthesisid
string(required) Example: 2G638FLMLJEGF706The ID of a synthesis in the form of a string
Change Team Synthesis Timeline ¶
Headers
Authorization: Token ABC123Headers
Content-Type: application/jsonBody
{
"timeline": {
"6": {
"start": "2016-11-15",
"end": "2017-11-15"
},
"7": {
"start": "2021-11-15",
"end": "2022-11-15"
},
"8": {
"start": "2021-11-15",
"end": "2022-11-15"
},
"14": {
"start": "2016-11-15",
"end": "2017-11-15"
},
"15": {
"start": "2016-11-15",
"end": "2017-11-15"
},
"66": {
"start": "2021-09-30",
"end": "2022-09-30"
}
}
}Get start and end time of diagramsGET/projects/{projectid}/cteams/{cteamid}/{synthesisid}/timeline/
Returns the start and end time of diagrams (if set) at the time of saving a design.
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- cteamid
integer(required) Example: 12The ID of the change team in the form of an integer
- synthesisid
string(required) Example: 2G638FLMLJEGF706The ID of a synthesis in the form of a string
Change Team Synthesis Diagrams ¶
Headers
Authorization: Token ABC123Headers
Content-Type: application/jsonBody
{
"diagrams": [
49,
10,
11,
12,
17,
18
],
"synthesisid": "2G638FLMLJEGF706"
}List diagrams in a synthesisGET/projects/{projectid}/cteams/{cteamid}/{synthesisid}/diagrams/
Returns a list of diagram IDs in the selected synthesis.
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- cteamid
integer(required) Example: 12The ID of the change team in the form of an integer
- synthesisid
string(required) Example: 2G638FLMLJEGF706The ID of a synthesis in the form of a string
Change Team Synthesis Policies ¶
Headers
Authorization: Token ABC123Headers
Content-Type: application / jsonBody
{
"type": "FeatureCollection",
"features": [
{
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-0.09514331817626952,
51.51555307745177
],
[
-0.09394168853759766,
51.51523260058079
],
[
-0.08668899536132812,
51.51549966479653
],
[
-0.0856161117553711,
51.515659902574384
],
[
-0.08085250854492186,
51.51547295844541
],
[
-0.08020877838134766,
51.51531272000991
],
[
-0.07797718048095703,
51.51437798456801
],
[
-0.07746219635009766,
51.51395067054886
],
[
-0.07741928100585936,
51.51352335252112
],
[
-0.07784843444824219,
51.5129891993494
],
[
-0.07973670959472656,
51.51280224425956
],
[
-0.0832986831665039,
51.51309603048481
],
[
-0.08703231811523438,
51.51309603048481
],
[
-0.08870601654052734,
51.5129891993494
],
[
-0.09029388427734374,
51.51325627671818
],
[
-0.09162425994873047,
51.51365688983539
],
[
-0.0960874557495117,
51.51456493319091
],
[
-0.09724617004394531,
51.514992241447835
],
[
-0.0972890853881836,
51.51568660881589
],
[
-0.09552955627441406,
51.51571331504175
],
[
-0.09514331817626952,
51.51555307745177
],
[
-0.09514331817626952,
51.51555307745177
]
]
]
},
"type": "Feature",
"properties": {
"areatype": "project",
"diagramtype": "project",
"fundingtype": "other",
"author": "ufeusr1",
"color": "#071ac8",
"notes": "",
"diagramid": 5,
"description": "testing",
"systag": "Small buildings, low density housing",
"cost_override": 0,
"cost_override_type": "per hectare.",
"volume_information": {
"min_height": 0,
"max_height": 0
},
"tag_codes": "3.2|4.3|5.5",
"additional_metadata": {},
"start_date": "2020-02-26",
"end_date": "2022-02-22"
}
}
]
}Get policy diagrams from designGET/projects/{projectid}/cteams/{cteamid}/{synthesisid}/policies/
Returns a GeoJSON feature collection object of the all the policy diagrams in the synthesis that is saved.
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- cteamid
integer(required) Example: 12The ID of the change team in the form of an integer
- synthesisid
string(required) Example: 2G638FLMLJEGF706The ID of a synthesis in the form of a string
Change Team Synthesis Projects by System ¶
Headers
Authorization: Token ABC123Headers
Content-Type: application / jsonBody
{
"type": "FeatureCollection",
"features": [
{
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-0.13423919677734375,
51.51536613288439
],
[
-0.1297760009765625,
51.51344322994464
],
[
-0.12805938720703125,
51.50981085847292
],
[
-0.12874603271484375,
51.5091698216777
],
[
-0.13286590576171875,
51.5091698216777
],
[
-0.14247894287109375,
51.51173391474148
],
[
-0.14385223388671875,
51.514084206610455
],
[
-0.14934539794921875,
51.51792987720294
],
[
-0.13767242431640625,
51.519425328081894
],
[
-0.13423919677734375,
51.51536613288439
],
[
-0.13423919677734375,
51.51536613288439
]
]
]
},
"type": "Feature",
"properties": {
"areatype": "project",
"diagramtype": "project",
"fundingtype": "other",
"author": "ufeusr1",
"color": "#331196",
"diagramid": 10,
"description": "ce3",
"systag": "Small buildings, low density housing",
"cost_override": 100,
"notes": "",
"cost_override_type": "total",
"volume_information": {
"min_height": 0,
"max_height": 0
},
"tag_codes": "3.2|4.3|5.5",
"additional_metadata": {},
"start_date": "2020-02-26",
"end_date": "2022-02-22"
}
}
]
}Get project diagrams filtered by system from designGET/projects/{projectid}/cteams/{cteamid}/{synthesisid}/systems/{sysid}/projects/
Returns a GeoJSON feature collection object of of the all the project diagrams for the given system in the saved synthesis.
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- cteamid
integer(required) Example: 12The ID of the change team in the form of an integer
- synthesisid
string(required) Example: 2G638FLMLJEGF706The ID of a synthesis in the form of a string
- sysid
integer(required) Example: 23The ID of the system in the form of an integer
Change Team Synthesis Projects by System ¶
Headers
Authorization: Token ABC123Headers
Content-Type: application / jsonBody
{
"type": "FeatureCollection",
"features": [
{
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-0.14316558837890625,
51.53523137707124
],
[
-0.13561248779296875,
51.53266860674158
],
[
-0.13080596923828125,
51.53010569212588
],
[
-0.127716064453125,
51.525833847122584
],
[
-0.13080596923828125,
51.52198884392169
],
[
-0.1366424560546875,
51.52177522311313
],
[
-0.14316558837890625,
51.52412499689336
],
[
-0.14453887939453125,
51.52796981972546
],
[
-0.14247894287109375,
51.531600743186644
],
[
-0.1531219482421875,
51.53693981046692
],
[
-0.14316558837890625,
51.53523137707124
],
[
-0.14316558837890625,
51.53523137707124
]
]
]
},
"type": "Feature",
"properties": {
"areatype": "policy",
"diagramtype": "policy",
"author": "ufeusr1",
"fundingtype": "other",
"color": "#331196",
"diagramid": 12,
"description": "656",
"systag": "Small buildings, low density housing",
"cost_override": 0,
"cost_override_type": "total",
"notes": "",
"volume_information": {
"min_height": 0,
"max_height": 0
},
"additional_metadata": {},
"tag_codes": "3.2|4.3|5.5",
"start_date": "2020-02-26",
"end_date": "2022-02-22"
}
}
]
}Get policy diagrams filtered by system from designGET/projects/{projectid}/cteams/{cteamid}/{synthesisid}/systems/{sysid}/policies/
Returns a GeoJSON feature collection object of of the all the policy diagrams for the given system in the saved synthesis.
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- cteamid
integer(required) Example: 12The ID of the change team in the form of an integer
- synthesisid
string(required) Example: 2G638FLMLJEGF706The ID of a synthesis in the form of a string
- sysid
integer(required) Example: 23The ID of the system in the form of an integer
Tasks API ¶
A set of resources related to Tasks and Boards within a Geodesignhub Project
Boards Collection ¶
Headers
Authorization: Token ABC123Headers
Content-Type: application/jsonBody
[
{
"id": "8f99a13f-04ae-48e3-8f51-40d967ec38ca",
"synthesisid": "PCJ4JKX9MVSJGN6J",
"description": "N.1"
}
]List all boards created for a projectGET/projects/{projectid}/boards/
Return all the boards for that project.
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
Board Detail ¶
Headers
Authorization: Token ABC123Headers
Content-Type: application/jsonBody
{
"id": "8f99a13f-04ae-48e3-8f51-40d967ec38ca",
"updated": "2019-04-27T20:47:36.071973"
}Get details of a boardGET/projects/{projectid}/boards/{boardid}/
Returns details the board that is passed in the boards ID.
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- boardid
string(required) Example: 8f99a13f04ae-48e3-8f51-40d967ec38ca (uuid) - The ID of the digaram in the form of an uuid4 string
Board timeline Detail ¶
Headers
Authorization: Token ABC123Headers
Content-Type: application/jsonBody
{
"id": "8016e23a-70bc-48a9-9a05-5a8bb48bd16f",
"timeline_data": [
{
"content": "TRANS 1 Add more Bars/Restaurants to the Amsterdamse Poort",
"start": "2020-02-26T00:00:00.000Z",
"end": "2022-02-22T00:00:00.000Z",
"system_id": 46,
"diagram_id": 139,
"project_or_policy": "project"
},
{
"content": "LDH 1 t3",
"start": "2020-09-05T00:00:00.000Z",
"end": "2022-09-02T00:00:00.000Z",
"system_id": 48,
"diagram_id": 138,
"project_or_policy": "project"
},
{
"content": "MIX 2 test",
"start": "2020-02-01T00:00:00.000Z",
"end": "2022-02-01T00:00:00.000Z",
"system_id": 49,
"diagram_id": 178,
"project_or_policy": "project"
},
{
"content": "PREC 2 test",
"start": "2020-02-26T00:00:00.000Z",
"end": "2022-02-22T00:00:00.000Z",
"system_id": 50,
"diagram_id": 160,
"project_or_policy": "project"
},
{
"content": "T2",
"end": "2024-07-24T09:08:47.416251+00:00",
"start": "2023-07-26T09:08:47.416150+00:00",
"system_id": "Tasks",
"diagram_id": "37d2bdd9-09e5-4eb3-a2d2-b6c87c5fe93d",
"project_or_policy": "policy"
}
]
}Get details of the timeline in a boardGET/projects/{projectid}/boards/{boardid}/timeline/
Returns details the timeline that is associated with the passed board ID.
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- boardid
string(required) Example: 8f99a13f04ae-48e3-8f51-40d967ec38ca (uuid) - The ID of the board in the form of an uuid4 string
Surveys API ¶
A set of resources related to Surveys within a Geodesignhub Project
Surveys Collection ¶
Headers
Authorization: Token ABC123Headers
Content-Type: application/jsonBody
[
{
"id": "5a22bf21-186d-42f3-862a-8b58c9febdee",
"study_area_fc": {
"type": "FeatureCollection",
"features": [
{
"type": "Polygon",
"coordinates": [
[
[
-6.247701644897461,
53.323183666714215
],
[
-6.247701644897461,
53.330872983017066
],
[
-6.260576248168945,
53.330872983017066
],
[
-6.260576248168945,
53.323183666714215
],
[
-6.247701644897461,
53.323183666714215
]
]
]
}
]
},
"default_geometry_polygon": {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-6.253085,
53.327516
],
[
-6.255141,
53.330873
],
[
-6.255223,
53.326797
],
[
-6.252972,
53.323184
],
[
-6.253085,
53.327516
]
]
]
},
"properties": {}
}
]
},
"default_geometry_line": {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "LineString",
"coordinates": [
[
[
-6.257835,
53.326874
],
[
-6.257322,
53.3308
],
[
-6.251095,
53.326237
]
]
]
},
"properties": {}
}
]
},
"bounds": "-6.260576248168945,53.323183666714215,-6.247701644897461,53.330872983017066",
"zoom": 15,
"center": "-6.254,53.327"
}
]List all surveys created for a projectGET/projects/{projectid}/surveys/
Return all the surveys for that project.
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
Survey Detail ¶
Headers
Authorization: Token ABC123Headers
Content-Type: application/jsonBody
{
"id": "5a22bf21-186d-42f3-862a-8b58c9febdee",
"study_area_fc": {
"type": "FeatureCollection",
"features": [
{
"type": "Polygon",
"coordinates": [
[
[
-6.247701644897461,
53.323183666714215
],
[
-6.247701644897461,
53.330872983017066
],
[
-6.260576248168945,
53.330872983017066
],
[
-6.260576248168945,
53.323183666714215
],
[
-6.247701644897461,
53.323183666714215
]
]
]
}
]
},
"default_geometry_polygon": {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-6.253085,
53.327516
],
[
-6.255141,
53.330873
],
[
-6.255223,
53.326797
],
[
-6.252972,
53.323184
],
[
-6.253085,
53.327516
]
]
]
},
"properties": {}
}
]
},
"default_geometry_line": {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "LineString",
"coordinates": [
[
[
-6.257835,
53.326874
],
[
-6.257322,
53.3308
],
[
-6.251095,
53.326237
]
]
]
},
"properties": {}
}
]
},
"bounds": "-6.260576248168945,53.323183666714215,-6.247701644897461,53.330872983017066",
"zoom": 15,
"center": "-6.254,53.327"
}Headers
Content-Type: application/jsonBody
{
"message": "Survey with ID 5a22bf21-186d-42f3-862a-8b58c9febdee updated successfully",
"status": 1
}Get details of a SurveyGET/projects/{projectid}/surveys/{survey_id}/
Returns details the survey that is passed in the survey ID.
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- survey_id
string(required) Example: 8f99a13f04ae-48e3-8f51-40d967ec38ca (uuid) - The ID of the survey in the form of an uuid4 string
Update Survey ¶
Headers
Authorization: Token ABC123Body
{
"study_area_fc": {
"type": "FeatureCollection",
"features": [
{
"type": "Polygon",
"coordinates": [
[
[
-6.247701644897461,
53.323183666714215
],
[
-6.247701644897461,
53.330872983017066
],
[
-6.260576248168945,
53.330872983017066
],
[
-6.260576248168945,
53.323183666714215
],
[
-6.247701644897461,
53.323183666714215
]
]
]
}
]
},
"default_geometry_polygon": {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-6.253085,
53.327516
],
[
-6.255141,
53.330873
],
[
-6.255223,
53.326797
],
[
-6.252972,
53.323184
],
[
-6.253085,
53.327516
]
]
]
},
"properties": {}
}
]
},
"default_geometry_line": {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "LineString",
"coordinates": [
[
[
-6.257835,
53.326874
],
[
-6.257322,
53.3308
],
[
-6.251095,
53.326237
]
]
]
},
"properties": {}
}
]
}
}Headers
Content-Type: application/jsonBody
{
"message": "Survey with ID 5a22bf21-186d-42f3-862a-8b58c9febdee updated successfully",
"status": 1
}Update survey fieldsPOST/projects/{projectid}/surveys/{survey_id}/update
Update the details e.g. study area boundary for the survey that is passed in the survey ID. Currently, five properties are supported:
Study Area Boundary (study_area_fc): A GeoJSON feature collection representing the study area boundary
Default Polygon (default_geometry_polygon): A GeoJSON feature collection representing the default diagram that will be showed in the survey
Default Linestring (default_geometry_line): A GeoJSON feature collection representing the default diagram and line that will be showed in the survey
- projectid
string(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- survey_id
string(required) Example: 8f99a13f04ae-48e3-8f51-40d967ec38ca (uuid) - The ID of the survey in the form of an uuid4 string
Generated by aglio on 20 Oct 2025