Skip to content Skip to main navigation Skip to footer

Overview of Permissions in GIS Cloud

When sharing your map with other users, be it users in the field or in the office, you can set permissions for each user or user group. By defining options for every user individually, you can decide who can view, edit, share, export, collect, or update data.

Permissions in GIS Cloud can be set from the Map Editor and Mobile Data Collection Portal. Map permissions can be set from both the Map Editor and Mobile Data Collection Portal, while Layer permissions can be set only from the Map Editor.

Below you can find the breakdown of all map and layer permissions in GIS Cloud.

Map Permissions

Check out how to share your map from the Mobile Data Collection Portal and Map Editor.

  • Can view – will provide only viewing privileges to the person you have shared your map with.
  • Can share – will provide sharing privileges to the person you have shared your map with.
  • Can edit – will provide complete editing privileges to the person you have shared your map with.
  • Can export – will allow the person to export the map you have shared with them.
  • Can collect – will allow the person in the field to send new data, without the possibility of making changes to existing data or the one that they have already sent through the Mobile Data Collection app.
  • Can update – will allow the person in the field to make attribute and geometry changes, without the possibility of sending new data through the Mobile Data Collection application.

Note: Map permissions apply to all layers on the map as well. In order to give other users permissions only for specific layers, you have to remove the map permissions and apply only the layer permissions.

Layer Permissions

Click here to learn how to set up additional sharing options for each layer individually. 

  • Can view – will allow the person you have shared your map with only viewing privileges of the specified layer, without the possibility to edit or export it. Note that you cannot remove this permission to hide a particular layer.
  • Can share – will provide sharing privileges to the person you have shared your layer with. E.g., If you gave view privileges to the map, but want to enable another user to share a layer with a third user. A person with share privileges can share a layer with a user and assign them the same permissions they got from the layer owner.
  • Can edit – will provide the person you have shared your map with complete editing privileges of the specified layer. E.g., If you give a user view privileges to the map, but want them to be able to edit a specific layer.
  • Can export – will allow the person to export specific layers from the map you have shared with him. E.g., If you give a user view privileges to the map, but want them to be able to export a specific layer.
  • Can collect – will allow the person in the field to send new data to a specific layer but without the possibility to make changes to existing data or the one that they already sent through the Mobile Data Collection application.

Setting permissions using the GIS Cloud API

It is possible to set permissions for both maps and layers using the GIS Cloud API. The GIS Cloud API documentation is available here.

Map Permissions

Map permissions are added by using the resource ID of the map in the API request. The resource ID of the map can be found using the API by using this request.

To grant permissions, use the following API request:

POST https://api.giscloud.com/1/resources/{RESOURCE_ID}/permissions.json

Here is an example request:

curl -H "API-Key: {USER_API_KEY}" -X POST -d '{"username": "gc_user", "permission": "READ"}' https://api.giscloud.com/1/resources/618/permissions.json # Example of sharing a map with resource ID ‘618’ to user ‘gc_user’ with permission ‘READ’

Layer permissions

In GIS Cloud, all layers are treated as datasources. To grant layer permissions, you will need to use the resource ID of the datasource you would like to share. To get the resource ID of the datasource, use the following API request to retrieve a layer:

GET https://api.giscloud.com/1/layers/{LAYER_ID}.json

In the request, use the query parameter “expand”, include “datasource”:

curl -H "API-Key: {USER_API_KEY}" "https://api.giscloud.com/1/layers/123.json?expand=datasource"

In the response, you will be able to find the datasource resource ID.

"datasource": {
        "resource_id": 1234567,
        "type": 15,
        "owner_id": 123,
        "permissions": [
            "OWNER"
        ]
    }

Once you have the resource ID of the datasource, you can use this in the API request to grant a permission to the layer:

POST https://api.giscloud.com/1/resources/{DATASOURCE_RESOURCE_ID}/permissions.json

Example:

curl -H "API-Key: {USER_API_KEY}" -X POST -d '{"username": "gc_user", "permission": "EDIT"}' https://api.giscloud.com/1/resources/1234567/permissions.json # Example of sharing a datasource with resource ID ‘1234567’ to user ‘gc_user’ with permission ‘EDIT’

Was This Article Helpful?