---
swagger: '2.0'
info:
version: 1.0.0
title: GeoServer Workspace
description: A workspace is a grouping of data stores. Similar to a namespace, it is used to group data that is related in some way.
contact:
name: GeoServer
email: 'geoserver-users@osgeo.org'
url: 'https://geoserver.org/comm/'
host: localhost:8080
basePath: /geoserver/rest
paths:
/workspaces:
get:
operationId: getWorkspaces
tags:
- "Workspaces"
summary: Get a list of workspaces
description: Displays a list of all workspaces on the server. Use the "Accept:" header to specify format or append an extension to the endpoint (example "/workspaces.xml" for XML)
produces:
- text/html
- application/json
- application/xml
responses:
200:
description: OK
schema:
$ref: "#/definitions/WorkspacesResponse"
examples:
application/xml: |
topp
it.geosolutions
application/json: |
{
"workspaces": {
"workspace": [
{
"name": "topp",
"href": "http://localhost:8080/geoserver/rest/workspaces/topp.json"
},
{
"name": "it.geosolutions",
"href": "http://localhost:8080/geoserver/rest/workspaces/it.geosolutions.json"
}
]
}
}
401:
description: Unauthorized
post:
operationId: postWorkspaces
tags:
- "Workspaces"
summary: add a new workspace to GeoServer
description: Adds a new workspace to the server
parameters:
- name: workspaceBody
description: The layer group body information to upload.
in: body
required: true
schema:
$ref: "#/definitions/Workspace"
- name: default
in: query
description: New workspace will be the used as the default. Allowed values are true or false, The default value is false.
required: false
type: boolean
default: false
consumes:
- application/json
- application/xml
produces:
- text/html
- application/json
- application/xml
responses:
201:
description: Created
schema:
type: string
headers:
Location:
description: URL where the newly created workspace can be found
type: string
409:
description: Unable to add workspace as it already exists
put:
operationId: putWorkspaces
tags:
- "Workspaces"
responses:
405:
description: Not permitted
delete:
operationId: deleteWorkspaces
tags:
- "Workspaces"
responses:
405:
description: Not permitted
/workspaces/{workspaceName}:
get:
operationId: getWorkspace
tags:
- "Workspaces"
summary: Retrieve a layer group
description: Retrieves a single workspace definition. Use the "Accept:" header to specify format or
append an extension to the endpoint (example "/workspaces/{workspace}.xml" for XML).
produces:
- application/xml
- application/json
- text/html
parameters:
- name: workspaceName
description: the name of the workspace to fetch
in: path
required: true
type: string
- name: quietOnNotFound
in: query
required: false
description: The quietOnNotFound parameter avoids logging an exception when the workspace is not present. Note that 404 status code will still be returned.
type: boolean
responses:
200:
description: OK
schema:
$ref: "#/definitions/WorkspaceResponse"
examples:
application/xml: |
topp
application/json: |
{
"workspace": {
"name": "topp",
"dataStores": "http://localhost:8080/geoserver/rest/workspaces/topp/datastores.json",
"coverageStores": "http://localhost:8080/geoserver/rest/workspaces/topp/coveragestores.json",
"wmsStores": "http://localhost:8080/geoserver/rest/workspaces/topp/wmsstores.json"
}
}
404:
description: workspace does not exist
put:
summary: Update a workspace
tags:
- "Workspaces"
description: takes the body of the post and modifies the workspace from it.
operationId: putWorkspace
consumes:
- application/json
- application/xml
responses:
200:
description: Modified
405:
description: Forbidden to change the name of the workspace
404:
description: Workspace not found
parameters:
- name: workspaceName
in: path
description: name of workspace
required: true
type: string
- name: workspaceBody
description: The layer group body information to upload.
in: body
required: true
schema:
$ref: "#/definitions/Workspace"
post:
operationId: postWorkspace
tags:
- "Workspaces"
responses:
405:
description: Forbidden to post to an existing workspace (use PUT)
delete:
operationId: deleteWorkspace
tags:
- "Workspaces"
parameters:
- name: workspaceName
in: path
description: name of workspace
required: true
type: string
- name: recurse
in: query
description: delete workspace contents (default false)
required: false
type: boolean
responses:
200:
description: Success workspace deleted
404:
description: Workspace doesn't exist
403:
description: Workspace or related Namespace is not empty (and recurse not true)
definitions:
Workspace:
title: Workspace
xml:
name: workspace
type: object
required:
- workspace
properties:
workspace:
type: object
required:
- name
properties:
name:
type: string
description: name of the workspace
WorkspacesResponse:
title: Workspaces
type: object
properties:
workspaces:
$ref: "#/definitions/WorkspaceResponse"
WorkspaceResponse:
title: Workspace Response
type: object
properties:
name:
type: string
description: Name of workspace
dataStores:
type: string
description: URL to Datas tores in this workspace
coverageStores:
type: string
description: URL to Coverage stores in this workspace
wmsStores:
type: string
description: URL to WMS stores in this workspace