--- swagger: '2.0' info: version: 1.0.0 title: GeoServer Namespace description: A namespace is a uniquely identifiable grouping of feature types. It is identified by a prefix and a URI. contact: name: GeoServer email: 'geoserver-users@osgeo.org' url: 'https://geoserver.org/comm/' host: localhost:8080 basePath: /geoserver/rest paths: /namespaces: get: operationId: getNamespaces tags: - "Namespaces" summary: Get a list of namespaces description: Displays a list of all namespaces on the server. Use the "Accept:" header to specify format or append an extension to the endpoint (example "/namespaces.xml" for XML) produces: - text/html - application/json - application/xml responses: 200: description: OK schema: $ref: "#/definitions/NamespacesResponse" examples: application/xml: | topp it.geosolutions application/json: | { "namespaces": { "namespace": [ { "name": "topp", "href": "http://localhost:8080/geoserver/rest/namespaces/topp.json" }, { "name": "it.geosolutions", "href": "http://localhost:8080/geoserver/rest/namespaces/it.geosolutions.json" } ] } } 401: description: Unauthorized post: operationId: postNamespaces tags: - "Namespaces" summary: Add a new namespace to GeoServer description: Adds a new namespace to the server parameters: - name: namespaceBody description: The layer group body information to upload. in: body required: true schema: $ref: "#/definitions/Namespace" 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 namespace can be found type: string 401: description: Unable to add namespace as it already exists put: operationId: putNamespaces tags: - "Namespaces" responses: 405: description: Not permitted delete: operationId: deleteNamespaces tags: - "Namespaces" responses: 405: description: Not permitted /namespaces/{namespaceName}: get: operationId: getNamespace tags: - "Namespaces" summary: Retrieve a namespace description: Retrieves a single namespace definition. Use the "Accept:" header to specify format or append an extension to the endpoint (example "/namespaces/{namespace}.xml" for XML). produces: - application/xml - application/json - text/html parameters: - name: namespaceName description: The name of the namespace to fetch, or "default" to get the default namespace. in: path required: true type: string responses: 200: description: OK schema: $ref: "#/definitions/NamespaceResponse" examples: application/xml: ' topp http://www.openplans.org/topp ' application/json: '{ "namespace": { "prefix": "topp", "uri": "http://www.openplans.org/topp", "featureTypes": "http://localhost:8080/geoserver/rest/workspaces/topp/featuretypes.json" } }' 404: description: namespace does not exist put: summary: Update a namespace tags: - "Namespaces" description: Takes the body of the put and modifies the namespace from it. operationId: putNamespace consumes: - application/json - application/xml responses: 200: description: Modified 405: description: Forbidden to change the name of the namespace 404: description: Namespace not found parameters: - name: namespaceName in: path description: Name of namespace, or "default" to set the default namespace using the namespace prefix in the body of the post. required: true type: string post: operationId: postNamespace tags: - "Namespaces" responses: 405: description: Forbidden to post to an existing namespace (use PUT) delete: operationId: deleteNamespace tags: - "Namespaces" summary: Delete a namespace parameters: - name: namespaceName in: path description: Name of the namespace required: true type: string responses: 200: description: Success. Namespace deleted 404: description: Namespace doesn't exist 405: description: Can't delete default namespace 403: description: Namespace or related Workspace is not empty (and recurse not true) definitions: Namespace: title: Namespace xml: name: namespace type: object properties: prefix: type: string description: Name/prefix of the namespace uri: type: string description: URI that identifies the namespace NamespacesResponse: title: Namespaces type: object properties: namespaces: $ref: "#/definitions/NamespaceResponse" NamespaceResponse: title: Namespace Response type: object properties: prefix: type: string description: Name of namespace uri: type: string description: URI of the namespace featureTypes: type: string description: URL to featureTypes associated with this namespace