API v2 - Schema

OpenAPI 3.0 Schema

GET /api/v2/
Status Codes
GET /api/v2/categories/

API endpoint that lists categories.

Query Parameters
  • ordering (string) – Which field to use when ordering the results.

  • page (integer) – A page number within the paginated result set.

  • page_size (integer) – Number of results to return per page.

  • search (string) – A search term.

Status Codes
GET /api/v2/categories/{id}/

API endpoint that lists categories.

Parameters
  • id (integer) – A unique integer value identifying this topic category.

Status Codes
GET /api/v2/datasets/

API endpoint that allows layers to be viewed or edited.

Query Parameters
  • ordering (string) – Which field to use when ordering the results.

  • page (integer) – A page number within the paginated result set.

  • page_size (integer) – Number of results to return per page.

  • search (string) – A search term.

Status Codes
PATCH /api/v2/datasets/

API endpoint that allows layers to be viewed or edited.

Status Codes
GET /api/v2/datasets/{id}/

API endpoint that allows layers to be viewed or edited.

Parameters
  • id (integer) – A unique integer value identifying this dataset.

Status Codes
PUT /api/v2/datasets/{id}/

Update one or more model instances.

If ENABLE_BULK_UPDATE is set, multiple previously-fetched records may be updated in a single call, provided their IDs.

If ENABLE_PATCH_ALL is set, multiple records may be updated in a single PATCH call, even without knowing their IDs.

WARNING: ENABLE_PATCH_ALL should be considered an advanced feature and used with caution. This feature must be enabled at the viewset level and must also be requested explicitly by the client via the “patch-all” query parameter.

This parameter can have one of the following values:

true (or 1): records will be fetched and then updated in a transaction loop
  • The Model.save method will be called and model signals will run

  • This can be slow if there are too many signals or many records in the query

  • This is considered the more safe and default behavior

query: records will be updated in a single query
  • The QuerySet.update method will be called and model signals will not run

  • This will be fast, but may break data constraints that are controlled by signals

  • This is considered unsafe but useful in certain situations

The server’s successful response to a patch-all request will NOT include any individual records. Instead, the response content will contain a “meta” object with an “updated” count of updated records.

Examples:

Update many dogs by ID:

PATCH /dogs/ [

{‘id’: 1, ‘fur’: ‘white’}, {‘id’: 2, ‘fur’: ‘black’}, {‘id’: 3, ‘fur’: ‘yellow’}

]

Update all dogs in a query:

PATCH /dogs/?filter{fur.contains}=brown&patch-all=true {

‘fur’: ‘gold’

}

Parameters
  • id (integer) – A unique integer value identifying this dataset.

Status Codes
PATCH /api/v2/datasets/{id}/

API endpoint that allows layers to be viewed or edited.

Example:

Update the metadata (e.g.’title’, ‘abstract’,…) of a dataset:

PATCH /dataset/{id}/ {

‘{metadata_1_name}’: ‘{metadata_1_value}’, ‘{metadata_n_name}’: ‘{metadata_n_value’

}

Parameters
  • id (integer) – A unique integer value identifying this dataset.

Status Codes
GET /api/v2/datasets/{id}/{field_name}/

Fetch related object(s), as if sideloaded (used to support link objects).

This method gets mapped to /<resource>/<pk>/<field_name>/ by DynamicRouter for all DynamicRelationField fields. Generally, this method probably shouldn’t be overridden.

An alternative implementation would be to generate reverse queries. For an exploration of that approach, see:

Parameters
  • field_name (string) –

  • id (integer) – A unique integer value identifying this dataset.

Status Codes
GET /api/v2/datasets/{id}/maplayers/

API endpoint allowing to retrieve the MapLayers list.

Parameters
  • id (integer) – A unique integer value identifying this dataset.

Query Parameters
  • ordering (string) – Which field to use when ordering the results.

  • page (integer) – A page number within the paginated result set.

  • page_size (integer) – Number of results to return per page.

  • search (string) – A search term.

Status Codes
GET /api/v2/datasets/{id}/maps/

API endpoint allowing to retrieve maps using the dataset.

Parameters
  • id (integer) – A unique integer value identifying this dataset.

Query Parameters
  • ordering (string) – Which field to use when ordering the results.

  • page (integer) – A page number within the paginated result set.

  • page_size (integer) – Number of results to return per page.

  • search (string) – A search term.

Status Codes
PUT /api/v2/datasets/{id}/metadata/

API endpoint allowing to upload ISO-19115 compliant XML metadata for the dataset.

Parameters
  • id (integer) – A unique integer value identifying this dataset.

Status Codes
GET /api/v2/documents/

API endpoint that allows documents to be viewed or edited.

Query Parameters
  • ordering (string) – Which field to use when ordering the results.

  • page (integer) – A page number within the paginated result set.

  • page_size (integer) – Number of results to return per page.

  • search (string) – A search term.

Status Codes
PATCH /api/v2/documents/

API endpoint that allows documents to be viewed or edited.

Status Codes
GET /api/v2/documents/{id}/

API endpoint that allows documents to be viewed or edited.

Parameters
  • id (integer) – A unique integer value identifying this document.

Status Codes
PUT /api/v2/documents/{id}/

Update one or more model instances.

If ENABLE_BULK_UPDATE is set, multiple previously-fetched records may be updated in a single call, provided their IDs.

If ENABLE_PATCH_ALL is set, multiple records may be updated in a single PATCH call, even without knowing their IDs.

WARNING: ENABLE_PATCH_ALL should be considered an advanced feature and used with caution. This feature must be enabled at the viewset level and must also be requested explicitly by the client via the “patch-all” query parameter.

This parameter can have one of the following values:

true (or 1): records will be fetched and then updated in a transaction loop
  • The Model.save method will be called and model signals will run

  • This can be slow if there are too many signals or many records in the query

  • This is considered the more safe and default behavior

query: records will be updated in a single query
  • The QuerySet.update method will be called and model signals will not run

  • This will be fast, but may break data constraints that are controlled by signals

  • This is considered unsafe but useful in certain situations

The server’s successful response to a patch-all request will NOT include any individual records. Instead, the response content will contain a “meta” object with an “updated” count of updated records.

Examples:

Update one dog:

PATCH /dogs/1/ {

‘fur’: ‘white’

}

Update many dogs by ID:

PATCH /dogs/ [

{‘id’: 1, ‘fur’: ‘white’}, {‘id’: 2, ‘fur’: ‘black’}, {‘id’: 3, ‘fur’: ‘yellow’}

]

Update all dogs in a query:

PATCH /dogs/?filter{fur.contains}=brown&patch-all=true {

‘fur’: ‘gold’

}

Parameters
  • id (integer) – A unique integer value identifying this document.

Status Codes
PATCH /api/v2/documents/{id}/

API endpoint that allows documents to be viewed or edited.

Parameters
  • id (integer) – A unique integer value identifying this document.

Status Codes
GET /api/v2/documents/{id}/linked_resources/

API endpoint allowing to retrieve the DocumentResourceLink(s).

Parameters
  • id (integer) – A unique integer value identifying this document.

Query Parameters
  • ordering (string) – Which field to use when ordering the results.

  • page (integer) – A page number within the paginated result set.

  • page_size (integer) – Number of results to return per page.

  • search (string) – A search term.

Status Codes
GET /api/v2/geoapps/

API endpoint that allows geoapps to be viewed or edited.

Query Parameters
  • ordering (string) – Which field to use when ordering the results.

  • page (integer) – A page number within the paginated result set.

  • page_size (integer) – Number of results to return per page.

  • search (string) – A search term.

Status Codes
POST /api/v2/geoapps/

Either create a single or many model instances in bulk using the Serializer’s many=True ability from Django REST >= 2.2.5.

The data can be represented by the serializer name (single or plural forms), dict or list.

Examples:

POST /dogs/ {

“name”: “Fido”, “age”: 2

}

POST /dogs/ {

“dog”: {

“name”: “Lucky”, “age”: 3

}

}

POST /dogs/ {

“dogs”: [

{“name”: “Fido”, “age”: 2}, {“name”: “Lucky”, “age”: 3}

]

}

POST /dogs/ [

{“name”: “Fido”, “age”: 2}, {“name”: “Lucky”, “age”: 3}

]

Status Codes
PATCH /api/v2/geoapps/

API endpoint that allows geoapps to be viewed or edited.

Status Codes
GET /api/v2/geoapps/{id}/

API endpoint that allows geoapps to be viewed or edited.

Parameters
  • id (integer) – A unique integer value identifying this geo app.

Status Codes
PUT /api/v2/geoapps/{id}/

Update one or more model instances.

If ENABLE_BULK_UPDATE is set, multiple previously-fetched records may be updated in a single call, provided their IDs.

If ENABLE_PATCH_ALL is set, multiple records may be updated in a single PATCH call, even without knowing their IDs.

WARNING: ENABLE_PATCH_ALL should be considered an advanced feature and used with caution. This feature must be enabled at the viewset level and must also be requested explicitly by the client via the “patch-all” query parameter.

This parameter can have one of the following values:

true (or 1): records will be fetched and then updated in a transaction loop
  • The Model.save method will be called and model signals will run

  • This can be slow if there are too many signals or many records in the query

  • This is considered the more safe and default behavior

query: records will be updated in a single query
  • The QuerySet.update method will be called and model signals will not run

  • This will be fast, but may break data constraints that are controlled by signals

  • This is considered unsafe but useful in certain situations

The server’s successful response to a patch-all request will NOT include any individual records. Instead, the response content will contain a “meta” object with an “updated” count of updated records.

Examples:

Update one dog:

PATCH /dogs/1/ {

‘fur’: ‘white’

}

Update many dogs by ID:

PATCH /dogs/ [

{‘id’: 1, ‘fur’: ‘white’}, {‘id’: 2, ‘fur’: ‘black’}, {‘id’: 3, ‘fur’: ‘yellow’}

]

Update all dogs in a query:

PATCH /dogs/?filter{fur.contains}=brown&patch-all=true {

‘fur’: ‘gold’

}

Parameters
  • id (integer) – A unique integer value identifying this geo app.

Status Codes
PATCH /api/v2/geoapps/{id}/

API endpoint that allows geoapps to be viewed or edited.

Parameters
  • id (integer) – A unique integer value identifying this geo app.

Status Codes
GET /api/v2/geoapps/{id}/{field_name}/

Fetch related object(s), as if sideloaded (used to support link objects).

This method gets mapped to /<resource>/<pk>/<field_name>/ by DynamicRouter for all DynamicRelationField fields. Generally, this method probably shouldn’t be overridden.

An alternative implementation would be to generate reverse queries. For an exploration of that approach, see:

Parameters
  • field_name (string) –

  • id (integer) – A unique integer value identifying this geo app.

Status Codes
GET /api/v2/groups/

API endpoint that allows gropus to be viewed or edited.

Query Parameters
  • ordering (string) – Which field to use when ordering the results.

  • page (integer) – A page number within the paginated result set.

  • page_size (integer) – Number of results to return per page.

  • search (string) – A search term.

Status Codes
POST /api/v2/groups/

Either create a single or many model instances in bulk using the Serializer’s many=True ability from Django REST >= 2.2.5.

The data can be represented by the serializer name (single or plural forms), dict or list.

Examples:

POST /dogs/ {

“name”: “Fido”, “age”: 2

}

POST /dogs/ {

“dog”: {

“name”: “Lucky”, “age”: 3

}

}

POST /dogs/ {

“dogs”: [

{“name”: “Fido”, “age”: 2}, {“name”: “Lucky”, “age”: 3}

]

}

POST /dogs/ [

{“name”: “Fido”, “age”: 2}, {“name”: “Lucky”, “age”: 3}

]

Status Codes
PATCH /api/v2/groups/

API endpoint that allows gropus to be viewed or edited.

Status Codes
DELETE /api/v2/groups/

Either delete a single or many model instances in bulk

DELETE /dogs/ {

“dogs”: [

{“id”: 1}, {“id”: 2}

]

}

DELETE /dogs/ [

{“id”: 1}, {“id”: 2}

]

Status Codes
GET /api/v2/groups/{id}/

API endpoint that allows gropus to be viewed or edited.

Parameters
  • id (integer) – A unique integer value identifying this group profile.

Status Codes
PUT /api/v2/groups/{id}/

Update one or more model instances.

If ENABLE_BULK_UPDATE is set, multiple previously-fetched records may be updated in a single call, provided their IDs.

If ENABLE_PATCH_ALL is set, multiple records may be updated in a single PATCH call, even without knowing their IDs.

WARNING: ENABLE_PATCH_ALL should be considered an advanced feature and used with caution. This feature must be enabled at the viewset level and must also be requested explicitly by the client via the “patch-all” query parameter.

This parameter can have one of the following values:

true (or 1): records will be fetched and then updated in a transaction loop
  • The Model.save method will be called and model signals will run

  • This can be slow if there are too many signals or many records in the query

  • This is considered the more safe and default behavior

query: records will be updated in a single query
  • The QuerySet.update method will be called and model signals will not run

  • This will be fast, but may break data constraints that are controlled by signals

  • This is considered unsafe but useful in certain situations

The server’s successful response to a patch-all request will NOT include any individual records. Instead, the response content will contain a “meta” object with an “updated” count of updated records.

Examples:

Update one dog:

PATCH /dogs/1/ {

‘fur’: ‘white’

}

Update many dogs by ID:

PATCH /dogs/ [

{‘id’: 1, ‘fur’: ‘white’}, {‘id’: 2, ‘fur’: ‘black’}, {‘id’: 3, ‘fur’: ‘yellow’}

]

Update all dogs in a query:

PATCH /dogs/?filter{fur.contains}=brown&patch-all=true {

‘fur’: ‘gold’

}

Parameters
  • id (integer) – A unique integer value identifying this group profile.

Status Codes
PATCH /api/v2/groups/{id}/

API endpoint that allows gropus to be viewed or edited.

Parameters
  • id (integer) – A unique integer value identifying this group profile.

Status Codes
DELETE /api/v2/groups/{id}/

Either delete a single or many model instances in bulk

DELETE /dogs/ {

“dogs”: [

{“id”: 1}, {“id”: 2}

]

}

DELETE /dogs/ [

{“id”: 1}, {“id”: 2}

]

Parameters
  • id (integer) – A unique integer value identifying this group profile.

Status Codes
GET /api/v2/groups/{id}/managers/

API endpoint allowing to retrieve the Group managers.

Parameters
  • id (integer) – A unique integer value identifying this group profile.

Query Parameters
  • ordering (string) – Which field to use when ordering the results.

  • page (integer) – A page number within the paginated result set.

  • page_size (integer) – Number of results to return per page.

  • search (string) – A search term.

Status Codes
GET /api/v2/groups/{id}/members/

API endpoint allowing to retrieve the Group members.

Parameters
  • id (integer) – A unique integer value identifying this group profile.

Query Parameters
  • ordering (string) – Which field to use when ordering the results.

  • page (integer) – A page number within the paginated result set.

  • page_size (integer) – Number of results to return per page.

  • search (string) – A search term.

Status Codes
GET /api/v2/groups/{id}/resources/

API endpoint allowing to retrieve the Group specific resources.

Parameters
  • id (integer) – A unique integer value identifying this group profile.

Query Parameters
  • ordering (string) – Which field to use when ordering the results.

  • page (integer) – A page number within the paginated result set.

  • page_size (integer) – Number of results to return per page.

  • search (string) – A search term.

Status Codes
GET /api/v2/harvesters/

A viewset that can support dynamic API features.

Attributes:

features: A list of features supported by the viewset. meta: Extra data that is added to the response by the DynamicRenderer.

Query Parameters
  • ordering (string) – Which field to use when ordering the results.

  • page (integer) – A page number within the paginated result set.

  • page_size (integer) – Number of results to return per page.

Status Codes
POST /api/v2/harvesters/

Either create a single or many model instances in bulk using the Serializer’s many=True ability from Django REST >= 2.2.5.

The data can be represented by the serializer name (single or plural forms), dict or list.

Examples:

POST /dogs/ {

“name”: “Fido”, “age”: 2

}

POST /dogs/ {

“dog”: {

“name”: “Lucky”, “age”: 3

}

}

POST /dogs/ {

“dogs”: [

{“name”: “Fido”, “age”: 2}, {“name”: “Lucky”, “age”: 3}

]

}

POST /dogs/ [

{“name”: “Fido”, “age”: 2}, {“name”: “Lucky”, “age”: 3}

]

Status Codes
GET /api/v2/harvesters/{harvester_id}/harvestable-resources/

Adds the update_list method to a viewset

update_list is used by api.routers.ListPatchRouter in order to allow performing PATCH requests against a viewset’s list endpoint

Parameters
  • harvester_id (integer) –

Status Codes
PATCH /api/v2/harvesters/{harvester_id}/harvestable-resources/

Adds the update_list method to a viewset

update_list is used by api.routers.ListPatchRouter in order to allow performing PATCH requests against a viewset’s list endpoint

Parameters
  • harvester_id (integer) –

Status Codes
GET /api/v2/harvesters/{id}/

A viewset that can support dynamic API features.

Attributes:

features: A list of features supported by the viewset. meta: Extra data that is added to the response by the DynamicRenderer.

Parameters
  • id (integer) – A unique integer value identifying this harvester.

Status Codes
PUT /api/v2/harvesters/{id}/

Update one or more model instances.

If ENABLE_BULK_UPDATE is set, multiple previously-fetched records may be updated in a single call, provided their IDs.

If ENABLE_PATCH_ALL is set, multiple records may be updated in a single PATCH call, even without knowing their IDs.

WARNING: ENABLE_PATCH_ALL should be considered an advanced feature and used with caution. This feature must be enabled at the viewset level and must also be requested explicitly by the client via the “patch-all” query parameter.

This parameter can have one of the following values:

true (or 1): records will be fetched and then updated in a transaction loop
  • The Model.save method will be called and model signals will run

  • This can be slow if there are too many signals or many records in the query

  • This is considered the more safe and default behavior

query: records will be updated in a single query
  • The QuerySet.update method will be called and model signals will not run

  • This will be fast, but may break data constraints that are controlled by signals

  • This is considered unsafe but useful in certain situations

The server’s successful response to a patch-all request will NOT include any individual records. Instead, the response content will contain a “meta” object with an “updated” count of updated records.

Examples:

Update one dog:

PATCH /dogs/1/ {

‘fur’: ‘white’

}

Update many dogs by ID:

PATCH /dogs/ [

{‘id’: 1, ‘fur’: ‘white’}, {‘id’: 2, ‘fur’: ‘black’}, {‘id’: 3, ‘fur’: ‘yellow’}

]

Update all dogs in a query:

PATCH /dogs/?filter{fur.contains}=brown&patch-all=true {

‘fur’: ‘gold’

}

Parameters
  • id (integer) – A unique integer value identifying this harvester.

Status Codes
PATCH /api/v2/harvesters/{id}/

A viewset that can support dynamic API features.

Attributes:

features: A list of features supported by the viewset. meta: Extra data that is added to the response by the DynamicRenderer.

Parameters
  • id (integer) – A unique integer value identifying this harvester.

Status Codes
DELETE /api/v2/harvesters/{id}/

Either delete a single or many model instances in bulk

DELETE /dogs/ {

“dogs”: [

{“id”: 1}, {“id”: 2}

]

}

DELETE /dogs/ [

{“id”: 1}, {“id”: 2}

]

Parameters
  • id (integer) – A unique integer value identifying this harvester.

Status Codes
GET /api/v2/harvesting-sessions/

A viewset that can support dynamic API features.

Attributes:

features: A list of features supported by the viewset. meta: Extra data that is added to the response by the DynamicRenderer.

Query Parameters
  • ordering (string) – Which field to use when ordering the results.

  • page (integer) – A page number within the paginated result set.

  • page_size (integer) – Number of results to return per page.

Status Codes
GET /api/v2/harvesting-sessions/{id}/

A viewset that can support dynamic API features.

Attributes:

features: A list of features supported by the viewset. meta: Extra data that is added to the response by the DynamicRenderer.

Parameters
  • id (integer) – A unique integer value identifying this asynchronous harvesting session.

Status Codes
GET /api/v2/keywords/

API endpoint that lists hierarchical keywords.

Query Parameters
  • ordering (string) – Which field to use when ordering the results.

  • page (integer) – A page number within the paginated result set.

  • page_size (integer) – Number of results to return per page.

  • search (string) – A search term.

Status Codes
GET /api/v2/keywords/{id}/

API endpoint that lists hierarchical keywords.

Parameters
  • id (integer) – A unique integer value identifying this hierarchical keyword.

Status Codes
GET /api/v2/management/commands/
Handle the exposed management commands usage:
  • GET: List of exposed commands

  • GET detail: Help for a specific command

  • POST: Create a job (and automatic runs) for a specific command.

Status Codes
POST /api/v2/management/commands/

Creates and runs a management command job. Expects application/json content type in a following shape: {

“args”: [<arg1>, <arg2>], “kwargs: {<key1>: <val1>, <key2>: <val2>}, “autostart”: bool

} By default, autostart is set to true.

Status Codes
GET /api/v2/management/commands/{cmd_name}/
Handle the exposed management commands usage:
  • GET: List of exposed commands

  • GET detail: Help for a specific command

  • POST: Create a job (and automatic runs) for a specific command.

Parameters
  • cmd_name (string) –

Status Codes
POST /api/v2/management/commands/{cmd_name}/

Creates and runs a management command job. Expects application/json content type in a following shape: {

“args”: [<arg1>, <arg2>], “kwargs: {<key1>: <val1>, <key2>: <val2>}, “autostart”: bool

} By default, autostart is set to true.

Parameters
  • cmd_name (string) –

Status Codes
GET /api/v2/management/commands/{cmd_name}/jobs/

Create, List, Retrieve, Start, Stop and Get Status of a Management Command Job.

Parameters
  • cmd_name (string) –

Query Parameters
  • app_name (string) –

  • celery_result_id (string) –

  • command (string) –

  • page (integer) – A page number within the paginated result set.

  • page_size (integer) – Number of results to return per page.

  • status (string) –

  • user (integer) –

  • user__username (string) –

Status Codes
POST /api/v2/management/commands/{cmd_name}/jobs/

Create, List, Retrieve, Start, Stop and Get Status of a Management Command Job.

Parameters
  • cmd_name (string) –

Status Codes
GET /api/v2/management/commands/{cmd_name}/jobs/{id}/

Create, List, Retrieve, Start, Stop and Get Status of a Management Command Job.

Parameters
  • cmd_name (string) –

  • id (integer) – A unique integer value identifying this management command job.

Status Codes
PATCH /api/v2/management/commands/{cmd_name}/jobs/{id}/start/

Create, List, Retrieve, Start, Stop and Get Status of a Management Command Job.

Parameters
  • cmd_name (string) –

  • id (integer) – A unique integer value identifying this management command job.

Status Codes
GET /api/v2/management/commands/{cmd_name}/jobs/{id}/status/

Create, List, Retrieve, Start, Stop and Get Status of a Management Command Job.

Parameters
  • cmd_name (string) –

  • id (integer) – A unique integer value identifying this management command job.

Status Codes
PATCH /api/v2/management/commands/{cmd_name}/jobs/{id}/stop/

Create, List, Retrieve, Start, Stop and Get Status of a Management Command Job.

Parameters
  • cmd_name (string) –

  • id (integer) – A unique integer value identifying this management command job.

Status Codes
GET /api/v2/management/jobs/

Create, List, Retrieve, Start, Stop and Get Status of a Management Command Job.

Query Parameters
  • app_name (string) –

  • celery_result_id (string) –

  • command (string) –

  • page (integer) – A page number within the paginated result set.

  • page_size (integer) – Number of results to return per page.

  • status (string) –

  • user (integer) –

  • user__username (string) –

Status Codes
POST /api/v2/management/jobs/

Create, List, Retrieve, Start, Stop and Get Status of a Management Command Job.

Status Codes
GET /api/v2/management/jobs/{id}/

Create, List, Retrieve, Start, Stop and Get Status of a Management Command Job.

Parameters
  • id (integer) – A unique integer value identifying this management command job.

Status Codes
PATCH /api/v2/management/jobs/{id}/start/

Create, List, Retrieve, Start, Stop and Get Status of a Management Command Job.

Parameters
  • id (integer) – A unique integer value identifying this management command job.

Status Codes
GET /api/v2/management/jobs/{id}/status/

Create, List, Retrieve, Start, Stop and Get Status of a Management Command Job.

Parameters
  • id (integer) – A unique integer value identifying this management command job.

Status Codes
PATCH /api/v2/management/jobs/{id}/stop/

Create, List, Retrieve, Start, Stop and Get Status of a Management Command Job.

Parameters
  • id (integer) – A unique integer value identifying this management command job.

Status Codes
GET /api/v2/maps/

API endpoint that allows maps to be viewed or edited.

Query Parameters
  • ordering (string) – Which field to use when ordering the results.

  • page (integer) – A page number within the paginated result set.

  • page_size (integer) – Number of results to return per page.

  • search (string) – A search term.

Status Codes
POST /api/v2/maps/

Changes in the m2m maplayers are committed before object changes. To protect the db, this action is done within an atomic tansation.

Status Codes
PATCH /api/v2/maps/

API endpoint that allows maps to be viewed or edited.

Status Codes
GET /api/v2/maps/{id}/

API endpoint that allows maps to be viewed or edited.

Parameters
  • id (integer) – A unique integer value identifying this map.

Status Codes
PUT /api/v2/maps/{id}/

Changes in the m2m maplayers are committed before object changes. To protect the db, this action is done within an atomic tansation.

Parameters
  • id (integer) – A unique integer value identifying this map.

Status Codes
PATCH /api/v2/maps/{id}/

API endpoint that allows maps to be viewed or edited.

Parameters
  • id (integer) – A unique integer value identifying this map.

Status Codes
GET /api/v2/maps/{id}/{field_name}/

Fetch related object(s), as if sideloaded (used to support link objects).

This method gets mapped to /<resource>/<pk>/<field_name>/ by DynamicRouter for all DynamicRelationField fields. Generally, this method probably shouldn’t be overridden.

An alternative implementation would be to generate reverse queries. For an exploration of that approach, see:

Parameters
  • field_name (string) –

  • id (integer) – A unique integer value identifying this map.

Status Codes
GET /api/v2/maps/{id}/datasets/

API endpoint allowing to retrieve the local MapLayers.

Parameters
  • id (integer) – A unique integer value identifying this map.

Query Parameters
  • ordering (string) – Which field to use when ordering the results.

  • page (integer) – A page number within the paginated result set.

  • page_size (integer) – Number of results to return per page.

  • search (string) – A search term.

Status Codes
GET /api/v2/maps/{id}/maplayers/

API endpoint allowing to retrieve the MapLayers list.

Parameters
  • id (integer) – A unique integer value identifying this map.

Query Parameters
  • ordering (string) – Which field to use when ordering the results.

  • page (integer) – A page number within the paginated result set.

  • page_size (integer) – Number of results to return per page.

  • search (string) – A search term.

Status Codes
GET /api/v2/owners/

API endpoint that lists all possible owners.

Query Parameters
  • ordering (string) – Which field to use when ordering the results.

  • page (integer) – A page number within the paginated result set.

  • page_size (integer) – Number of results to return per page.

  • search (string) – A search term.

Status Codes
GET /api/v2/owners/{id}/

API endpoint that lists all possible owners.

Parameters
  • id (integer) – A unique integer value identifying this user.

Status Codes
GET /api/v2/regions/

API endpoint that lists regions.

Query Parameters
  • ordering (string) – Which field to use when ordering the results.

  • page (integer) – A page number within the paginated result set.

  • page_size (integer) – Number of results to return per page.

  • search (string) – A search term.

Status Codes
GET /api/v2/regions/{id}/

API endpoint that lists regions.

Parameters
  • id (integer) – A unique integer value identifying this region.

Status Codes
GET /api/v2/resource-service/execution-status/{execution_id}

Main dispatcher endpoint to follow an API request status progress

  • GET input: <str: execution id>

  • output: <ExecutionRequest>

Parameters
  • execution_id (string) –

Status Codes
GET /api/v2/resources/

API endpoint that allows base resources to be viewed or edited.

Query Parameters
  • ordering (string) – Which field to use when ordering the results.

  • page (integer) – A page number within the paginated result set.

  • page_size (integer) – Number of results to return per page.

  • search (string) – A search term.

Status Codes
POST /api/v2/resources/

Either create a single or many model instances in bulk using the Serializer’s many=True ability from Django REST >= 2.2.5.

The data can be represented by the serializer name (single or plural forms), dict or list.

Examples:

POST /dogs/ {

“name”: “Fido”, “age”: 2

}

POST /dogs/ {

“dog”: {

“name”: “Lucky”, “age”: 3

}

}

POST /dogs/ {

“dogs”: [

{“name”: “Fido”, “age”: 2}, {“name”: “Lucky”, “age”: 3}

]

}

POST /dogs/ [

{“name”: “Fido”, “age”: 2}, {“name”: “Lucky”, “age”: 3}

]

Status Codes
PATCH /api/v2/resources/

API endpoint that allows base resources to be viewed or edited.

Status Codes
DELETE /api/v2/resources/

Either delete a single or many model instances in bulk

DELETE /dogs/ {

“dogs”: [

{“id”: 1}, {“id”: 2}

]

}

DELETE /dogs/ [

{“id”: 1}, {“id”: 2}

]

Status Codes
GET /api/v2/resources/{id}/

API endpoint that allows base resources to be viewed or edited.

Parameters
  • id (integer) – A unique integer value identifying this resource base.

Status Codes
PUT /api/v2/resources/{id}/

Update one or more model instances.

If ENABLE_BULK_UPDATE is set, multiple previously-fetched records may be updated in a single call, provided their IDs.

If ENABLE_PATCH_ALL is set, multiple records may be updated in a single PATCH call, even without knowing their IDs.

WARNING: ENABLE_PATCH_ALL should be considered an advanced feature and used with caution. This feature must be enabled at the viewset level and must also be requested explicitly by the client via the “patch-all” query parameter.

This parameter can have one of the following values:

true (or 1): records will be fetched and then updated in a transaction loop
  • The Model.save method will be called and model signals will run

  • This can be slow if there are too many signals or many records in the query

  • This is considered the more safe and default behavior

query: records will be updated in a single query
  • The QuerySet.update method will be called and model signals will not run

  • This will be fast, but may break data constraints that are controlled by signals

  • This is considered unsafe but useful in certain situations

The server’s successful response to a patch-all request will NOT include any individual records. Instead, the response content will contain a “meta” object with an “updated” count of updated records.

Examples:

Update one dog:

PATCH /dogs/1/ {

‘fur’: ‘white’

}

Update many dogs by ID:

PATCH /dogs/ [

{‘id’: 1, ‘fur’: ‘white’}, {‘id’: 2, ‘fur’: ‘black’}, {‘id’: 3, ‘fur’: ‘yellow’}

]

Update all dogs in a query:

PATCH /dogs/?filter{fur.contains}=brown&patch-all=true {

‘fur’: ‘gold’

}

Parameters
  • id (integer) – A unique integer value identifying this resource base.

Status Codes
PATCH /api/v2/resources/{id}/

API endpoint that allows base resources to be viewed or edited.

Parameters
  • id (integer) – A unique integer value identifying this resource base.

Status Codes
DELETE /api/v2/resources/{id}/

Either delete a single or many model instances in bulk

DELETE /dogs/ {

“dogs”: [

{“id”: 1}, {“id”: 2}

]

}

DELETE /dogs/ [

{“id”: 1}, {“id”: 2}

]

Parameters
  • id (integer) – A unique integer value identifying this resource base.

Status Codes
GET /api/v2/resources/{id}/{field_name}/

Fetch related object(s), as if sideloaded (used to support link objects).

This method gets mapped to /<resource>/<pk>/<field_name>/ by DynamicRouter for all DynamicRelationField fields. Generally, this method probably shouldn’t be overridden.

An alternative implementation would be to generate reverse queries. For an exploration of that approach, see:

Parameters
  • field_name (string) –

  • id (integer) – A unique integer value identifying this resource base.

Status Codes
PUT /api/v2/resources/{id}/copy/

Instructs the Async dispatcher to execute a ‘COPY’ operation over a valid ‘uuid’.

Parameters
  • id (integer) – A unique integer value identifying this resource base.

Status Codes
DELETE /api/v2/resources/{id}/delete/

Instructs the Async dispatcher to execute a ‘DELETE’ operation over a valid ‘uuid’.

Parameters
  • id (integer) – A unique integer value identifying this resource base.

Status Codes
GET /api/v2/resources/{id}/extra_metadata/

Get/Update/Delete/Add extra metadata for resource

Parameters
  • id (integer) – A unique integer value identifying this resource base.

Status Codes
POST /api/v2/resources/{id}/extra_metadata/

Get/Update/Delete/Add extra metadata for resource

Parameters
  • id (integer) – A unique integer value identifying this resource base.

Status Codes
PUT /api/v2/resources/{id}/extra_metadata/

Get/Update/Delete/Add extra metadata for resource

Parameters
  • id (integer) – A unique integer value identifying this resource base.

Status Codes
DELETE /api/v2/resources/{id}/extra_metadata/

Get/Update/Delete/Add extra metadata for resource

Parameters
  • id (integer) – A unique integer value identifying this resource base.

Status Codes
POST /api/v2/resources/{id}/favorite/

API endpoint allowing to retrieve the favorite Resources.

Parameters
  • id (integer) – A unique integer value identifying this resource base.

Query Parameters
  • ordering (string) – Which field to use when ordering the results.

  • page (integer) – A page number within the paginated result set.

  • page_size (integer) – Number of results to return per page.

  • search (string) – A search term.

Status Codes
DELETE /api/v2/resources/{id}/favorite/

API endpoint allowing to retrieve the favorite Resources.

Parameters
  • id (integer) – A unique integer value identifying this resource base.

Query Parameters
  • ordering (string) – Which field to use when ordering the results.

  • page (integer) – A page number within the paginated result set.

  • page_size (integer) – Number of results to return per page.

  • search (string) – A search term.

Status Codes
GET /api/v2/resources/{id}/permissions/

Sets an object’s the permission levels based on the perm_spec JSON.

the mapping looks like: ``` {

‘users’: {

‘AnonymousUser’: [‘view’], <username>: [‘perm1’,’perm2’,’perm3’], <username2>: [‘perm1’,’perm2’,’perm3’] …

}, ‘groups’: {

<groupname>: [‘perm1’,’perm2’,’perm3’], <groupname2>: [‘perm1’,’perm2’,’perm3’], …

}

Parameters
  • id (integer) – A unique integer value identifying this resource base.

Status Codes
PUT /api/v2/resources/{id}/permissions/

Sets an object’s the permission levels based on the perm_spec JSON.

the mapping looks like: ``` {

‘users’: {

‘AnonymousUser’: [‘view’], <username>: [‘perm1’,’perm2’,’perm3’], <username2>: [‘perm1’,’perm2’,’perm3’] …

}, ‘groups’: {

<groupname>: [‘perm1’,’perm2’,’perm3’], <groupname2>: [‘perm1’,’perm2’,’perm3’], …

}

Parameters
  • id (integer) – A unique integer value identifying this resource base.

Status Codes
PATCH /api/v2/resources/{id}/permissions/

Sets an object’s the permission levels based on the perm_spec JSON.

the mapping looks like: ``` {

‘users’: {

‘AnonymousUser’: [‘view’], <username>: [‘perm1’,’perm2’,’perm3’], <username2>: [‘perm1’,’perm2’,’perm3’] …

}, ‘groups’: {

<groupname>: [‘perm1’,’perm2’,’perm3’], <groupname2>: [‘perm1’,’perm2’,’perm3’], …

}

Parameters
  • id (integer) – A unique integer value identifying this resource base.

Status Codes
DELETE /api/v2/resources/{id}/permissions/

Sets an object’s the permission levels based on the perm_spec JSON.

the mapping looks like: ``` {

‘users’: {

‘AnonymousUser’: [‘view’], <username>: [‘perm1’,’perm2’,’perm3’], <username2>: [‘perm1’,’perm2’,’perm3’] …

}, ‘groups’: {

<groupname>: [‘perm1’,’perm2’,’perm3’], <groupname2>: [‘perm1’,’perm2’,’perm3’], …

}

Parameters
  • id (integer) – A unique integer value identifying this resource base.

Status Codes
GET /api/v2/resources/{id}/ratings/

API endpoint allowing to rate and get overall rating of the Resource.

Parameters
  • id (integer) – A unique integer value identifying this resource base.

Status Codes
POST /api/v2/resources/{id}/ratings/

API endpoint allowing to rate and get overall rating of the Resource.

Parameters
  • id (integer) – A unique integer value identifying this resource base.

Status Codes
PUT /api/v2/resources/{id}/set_thumbnail/

API endpoint allowing to set thumbnail of the Resource.

Parameters
  • id (integer) – A unique integer value identifying this resource base.

Status Codes
PUT /api/v2/resources/{id}/update/

Instructs the Async dispatcher to execute a ‘UPDATE’ operation over a valid ‘uuid’.

Parameters
  • id (integer) – A unique integer value identifying this resource base.

Status Codes
POST /api/v2/resources/{resource_id}/set_thumbnail_from_bbox/

API endpoint allowing to set the thumbnail url for an existing dataset.

Parameters
  • resource_id (string) –

Status Codes
GET /api/v2/resources/approved/

API endpoint allowing to retrieve the approved Resources.

Query Parameters
  • ordering (string) – Which field to use when ordering the results.

  • page (integer) – A page number within the paginated result set.

  • page_size (integer) – Number of results to return per page.

  • search (string) – A search term.

Status Codes
POST /api/v2/resources/create/{resource_type}/

Instructs the Async dispatcher to execute a ‘CREATE’ operation.

Parameters
  • resource_type (string) –

Status Codes
GET /api/v2/resources/favorites/

API endpoint allowing to retrieve the favorite Resources.

Query Parameters
  • ordering (string) – Which field to use when ordering the results.

  • page (integer) – A page number within the paginated result set.

  • page_size (integer) – Number of results to return per page.

  • search (string) – A search term.

Status Codes

API endpoint allowing to retrieve the featured Resources.

Query Parameters
  • ordering (string) – Which field to use when ordering the results.

  • page (integer) – A page number within the paginated result set.

  • page_size (integer) – Number of results to return per page.

  • search (string) – A search term.

Status Codes
POST /api/v2/resources/ingest/{resource_type}/

Instructs the Async dispatcher to execute a ‘INGEST’ operation.

Parameters
  • resource_type (string) –

Status Codes
GET /api/v2/resources/published/

API endpoint allowing to retrieve the published Resources.

Query Parameters
  • ordering (string) – Which field to use when ordering the results.

  • page (integer) – A page number within the paginated result set.

  • page_size (integer) – Number of results to return per page.

  • search (string) – A search term.

Status Codes
GET /api/v2/resources/resource_types/

Returns the list of available ResourceBase polymorphic_ctypes.

the mapping looks like: ``` {

“resource_types”:[
{

“name”: “layer”, “count”: <number of layers>

}, {

“name”: “map”, “count”: <number of maps>

}, {

“name”: “document”, “count”: <number of documents>

}, {

“name”: “geostory”, “count”: <number of geostories>

}

]

Status Codes
GET /api/v2/schema/

OpenApi3 schema for this API. Format can be selected via content negotiation.

  • YAML: application/vnd.oai.openapi

  • JSON: application/vnd.oai.openapi+json

Query Parameters
  • format (string) –

  • lang (string) –

Status Codes
GET /api/v2/tkeywords/

API endpoint that lists Thesaurus keywords.

Query Parameters
  • ordering (string) – Which field to use when ordering the results.

  • page (integer) – A page number within the paginated result set.

  • page_size (integer) – Number of results to return per page.

  • search (string) – A search term.

Status Codes
GET /api/v2/tkeywords/{id}/

API endpoint that lists Thesaurus keywords.

Parameters
  • id (integer) – A unique integer value identifying this thesaurus keyword.

Status Codes
GET /api/v2/upload-parallelism-limits/

A viewset that can support dynamic API features.

Attributes:

features: A list of features supported by the viewset. meta: Extra data that is added to the response by the DynamicRenderer.

Query Parameters
  • ordering (string) – Which field to use when ordering the results.

  • page (integer) – A page number within the paginated result set.

  • page_size (integer) – Number of results to return per page.

Status Codes
POST /api/v2/upload-parallelism-limits/

Either create a single or many model instances in bulk using the Serializer’s many=True ability from Django REST >= 2.2.5.

The data can be represented by the serializer name (single or plural forms), dict or list.

Examples:

POST /dogs/ {

“name”: “Fido”, “age”: 2

}

POST /dogs/ {

“dog”: {

“name”: “Lucky”, “age”: 3

}

}

POST /dogs/ {

“dogs”: [

{“name”: “Fido”, “age”: 2}, {“name”: “Lucky”, “age”: 3}

]

}

POST /dogs/ [

{“name”: “Fido”, “age”: 2}, {“name”: “Lucky”, “age”: 3}

]

Status Codes
GET /api/v2/upload-parallelism-limits/{slug}/

A viewset that can support dynamic API features.

Attributes:

features: A list of features supported by the viewset. meta: Extra data that is added to the response by the DynamicRenderer.

Parameters
  • slug (string) – A unique value identifying this upload parallelism limit.

Status Codes
GET /api/v2/upload-size-limits/

A viewset that can support dynamic API features.

Attributes:

features: A list of features supported by the viewset. meta: Extra data that is added to the response by the DynamicRenderer.

Query Parameters
  • ordering (string) – Which field to use when ordering the results.

  • page (integer) – A page number within the paginated result set.

  • page_size (integer) – Number of results to return per page.

Status Codes
POST /api/v2/upload-size-limits/

Either create a single or many model instances in bulk using the Serializer’s many=True ability from Django REST >= 2.2.5.

The data can be represented by the serializer name (single or plural forms), dict or list.

Examples:

POST /dogs/ {

“name”: “Fido”, “age”: 2

}

POST /dogs/ {

“dog”: {

“name”: “Lucky”, “age”: 3

}

}

POST /dogs/ {

“dogs”: [

{“name”: “Fido”, “age”: 2}, {“name”: “Lucky”, “age”: 3}

]

}

POST /dogs/ [

{“name”: “Fido”, “age”: 2}, {“name”: “Lucky”, “age”: 3}

]

Status Codes
GET /api/v2/upload-size-limits/{slug}/

A viewset that can support dynamic API features.

Attributes:

features: A list of features supported by the viewset. meta: Extra data that is added to the response by the DynamicRenderer.

Parameters
  • slug (string) – A unique value identifying this upload size limit.

Status Codes
GET /api/v2/uploads/

API endpoint that allows uploads to be viewed or edited.

Query Parameters
  • ordering (string) – Which field to use when ordering the results.

  • page (integer) – A page number within the paginated result set.

  • page_size (integer) – Number of results to return per page.

  • search (string) – A search term.

Status Codes
POST /api/v2/uploads/

Either create a single or many model instances in bulk using the Serializer’s many=True ability from Django REST >= 2.2.5.

The data can be represented by the serializer name (single or plural forms), dict or list.

Examples:

POST /dogs/ {

“name”: “Fido”, “age”: 2

}

POST /dogs/ {

“dog”: {

“name”: “Lucky”, “age”: 3

}

}

POST /dogs/ {

“dogs”: [

{“name”: “Fido”, “age”: 2}, {“name”: “Lucky”, “age”: 3}

]

}

POST /dogs/ [

{“name”: “Fido”, “age”: 2}, {“name”: “Lucky”, “age”: 3}

]

Status Codes
GET /api/v2/uploads/{id}/

API endpoint that allows uploads to be viewed or edited.

Parameters
  • id (integer) – A unique integer value identifying this upload.

Status Codes
POST /api/v2/uploads/upload/

Starts an upload session based on the Dataset Upload Form.

the form params look like: ```

‘csrfmiddlewaretoken’: self.csrf_token, ‘permissions’: ‘{ “users”: {“AnonymousUser”: [“view_resourcebase”]} , “groups”:{}}’, ‘time’: ‘false’, ‘charset’: ‘UTF-8’, ‘base_file’: base_file, ‘dbf_file’: dbf_file, ‘shx_file’: shx_file, ‘prj_file’: prj_file, ‘tif_file’: tif_file

```

Status Codes
GET /api/v2/users/

API endpoint that allows users to be viewed or edited.

Query Parameters
  • ordering (string) – Which field to use when ordering the results.

  • page (integer) – A page number within the paginated result set.

  • page_size (integer) – Number of results to return per page.

  • search (string) – A search term.

Status Codes
POST /api/v2/users/

Either create a single or many model instances in bulk using the Serializer’s many=True ability from Django REST >= 2.2.5.

The data can be represented by the serializer name (single or plural forms), dict or list.

Examples:

POST /dogs/ {

“name”: “Fido”, “age”: 2

}

POST /dogs/ {

“dog”: {

“name”: “Lucky”, “age”: 3

}

}

POST /dogs/ {

“dogs”: [

{“name”: “Fido”, “age”: 2}, {“name”: “Lucky”, “age”: 3}

]

}

POST /dogs/ [

{“name”: “Fido”, “age”: 2}, {“name”: “Lucky”, “age”: 3}

]

Status Codes
PATCH /api/v2/users/

API endpoint that allows users to be viewed or edited.

Status Codes
DELETE /api/v2/users/

Either delete a single or many model instances in bulk

DELETE /dogs/ {

“dogs”: [

{“id”: 1}, {“id”: 2}

]

}

DELETE /dogs/ [

{“id”: 1}, {“id”: 2}

]

Status Codes
GET /api/v2/users/{id}/

API endpoint that allows users to be viewed or edited.

Parameters
  • id (integer) – A unique integer value identifying this user.

Status Codes
PUT /api/v2/users/{id}/

Update one or more model instances.

If ENABLE_BULK_UPDATE is set, multiple previously-fetched records may be updated in a single call, provided their IDs.

If ENABLE_PATCH_ALL is set, multiple records may be updated in a single PATCH call, even without knowing their IDs.

WARNING: ENABLE_PATCH_ALL should be considered an advanced feature and used with caution. This feature must be enabled at the viewset level and must also be requested explicitly by the client via the “patch-all” query parameter.

This parameter can have one of the following values:

true (or 1): records will be fetched and then updated in a transaction loop
  • The Model.save method will be called and model signals will run

  • This can be slow if there are too many signals or many records in the query

  • This is considered the more safe and default behavior

query: records will be updated in a single query
  • The QuerySet.update method will be called and model signals will not run

  • This will be fast, but may break data constraints that are controlled by signals

  • This is considered unsafe but useful in certain situations

The server’s successful response to a patch-all request will NOT include any individual records. Instead, the response content will contain a “meta” object with an “updated” count of updated records.

Examples:

Update one dog:

PATCH /dogs/1/ {

‘fur’: ‘white’

}

Update many dogs by ID:

PATCH /dogs/ [

{‘id’: 1, ‘fur’: ‘white’}, {‘id’: 2, ‘fur’: ‘black’}, {‘id’: 3, ‘fur’: ‘yellow’}

]

Update all dogs in a query:

PATCH /dogs/?filter{fur.contains}=brown&patch-all=true {

‘fur’: ‘gold’

}

Parameters
  • id (integer) – A unique integer value identifying this user.

Status Codes
PATCH /api/v2/users/{id}/

API endpoint that allows users to be viewed or edited.

Parameters
  • id (integer) – A unique integer value identifying this user.

Status Codes
DELETE /api/v2/users/{id}/

Either delete a single or many model instances in bulk

DELETE /dogs/ {

“dogs”: [

{“id”: 1}, {“id”: 2}

]

}

DELETE /dogs/ [

{“id”: 1}, {“id”: 2}

]

Parameters
  • id (integer) – A unique integer value identifying this user.

Status Codes
GET /api/v2/users/{id}/groups/

API endpoint allowing to retrieve the Groups the user is member of.

Parameters
  • id (integer) – A unique integer value identifying this user.

Query Parameters
  • ordering (string) – Which field to use when ordering the results.

  • page (integer) – A page number within the paginated result set.

  • page_size (integer) – Number of results to return per page.

  • search (string) – A search term.

Status Codes
GET /api/v2/users/{id}/resources/

API endpoint allowing to retrieve the Resources visible to the user.

Parameters
  • id (integer) – A unique integer value identifying this user.

Query Parameters
  • ordering (string) – Which field to use when ordering the results.

  • page (integer) – A page number within the paginated result set.

  • page_size (integer) – Number of results to return per page.

  • search (string) – A search term.

Status Codes