openapi: 3.1.0 info: title: Landgate SLIP Public Services (ArcGIS REST) version: '12.1' summary: OpenAPI description of the anonymously callable ArcGIS Server REST surface of Landgate's Shared Location Information Platform (SLIP) public tier. description: | Landgate does not publish an OpenAPI definition. This document is an API Evangelist GENERATED description of the Esri ArcGIS Server 12.1 REST surface that Landgate serves anonymously at https://public-services.slip.wa.gov.au/public/rest. Every path and operation below was probed live and returned HTTP 200 without any credential (see `x-evidence` on each operation, probed 2026-07-26). Nothing here is invented: the operations are the standard ArcGIS REST resources that this specific server answers, and the parameters are the ones exercised in the probes. The server's own machine-readable contract remains the ArcGIS REST services directory (`?f=json`), which is saved verbatim in this repo as `openapi/landgate-slip-public-arcgis-rest-services.json` and `openapi/landgate-slip-public-services-folder.json`. contact: name: Landgate Customer Service url: https://www.landgate.wa.gov.au/help-centre/ license: name: Landgate data licensing (custom; see licensing page) url: https://www.landgate.wa.gov.au/location-data-and-services/discovering-landgate-data/licensing/ x-generated-by: API Evangelist enrichment pipeline x-generated: '2026-07-26' x-method: generated x-source: live probes of https://public-services.slip.wa.gov.au/public/rest x-authentication: none — /public/rest/info reports authInfo.isTokenBasedSecurity=false servers: - url: https://public-services.slip.wa.gov.au/public/rest description: SLIP public ArcGIS REST services directory (anonymous) tags: - name: Server description: Server-level information and the services directory - name: Services description: Map service and layer metadata - name: Query description: Feature query, identify and image export paths: /info: get: operationId: getSlipServerInfo tags: [Server] summary: Get ArcGIS Server info description: Returns the ArcGIS Server version and the authentication posture of the public SLIP instance. x-evidence: url: https://public-services.slip.wa.gov.au/public/rest/info?f=json status: 200 probed: '2026-07-26' sample: '{"fullVersion":"12.1.0","currentVersion":12.1,"authInfo":{"isTokenBasedSecurity":false}}' parameters: - $ref: '#/components/parameters/Format' responses: '200': description: Server info content: application/json: schema: $ref: '#/components/schemas/ServerInfo' /services: get: operationId: listSlipRootServices tags: [Services] summary: List root folders and services description: Lists the folders (Land_Monitor, Landgate_Public_Imagery, Landgate_Public_Maps, SLIP_Public_Services, Utilities) and any root-level services. x-evidence: url: https://public-services.slip.wa.gov.au/public/rest/services?f=json status: 200 probed: '2026-07-26' parameters: - $ref: '#/components/parameters/Format' responses: '200': description: Services directory content: application/json: schema: $ref: '#/components/schemas/ServicesDirectory' /services/{folder}: get: operationId: listSlipFolderServices tags: [Services] summary: List the services in a folder description: Lists the map services published inside one SLIP folder, e.g. the 57 services in SLIP_Public_Services. x-evidence: url: https://public-services.slip.wa.gov.au/public/rest/services/SLIP_Public_Services?f=json status: 200 probed: '2026-07-26' parameters: - $ref: '#/components/parameters/Folder' - $ref: '#/components/parameters/Format' responses: '200': description: Folder services directory content: application/json: schema: $ref: '#/components/schemas/ServicesDirectory' /services/{folder}/{service}/MapServer: get: operationId: getSlipMapService tags: [Services] summary: Get map service metadata description: Returns documentInfo, spatial reference, extent, maxRecordCount and the layer list for a public SLIP map service. x-evidence: url: https://public-services.slip.wa.gov.au/public/rest/services/SLIP_Public_Services/Boundaries/MapServer?f=json status: 200 probed: '2026-07-26' note: maxRecordCount observed 10000 parameters: - $ref: '#/components/parameters/Folder' - $ref: '#/components/parameters/Service' - $ref: '#/components/parameters/Format' responses: '200': description: Map service metadata content: application/json: schema: $ref: '#/components/schemas/MapService' /services/{folder}/{service}/MapServer/legend: get: operationId: getSlipMapServiceLegend tags: [Services] summary: Get the legend for a map service description: Returns the legend swatches and labels for every layer in the map service, including base64 image data. x-evidence: url: https://public-services.slip.wa.gov.au/public/rest/services/SLIP_Public_Services/Boundaries/MapServer/legend?f=json status: 200 probed: '2026-07-26' parameters: - $ref: '#/components/parameters/Folder' - $ref: '#/components/parameters/Service' - $ref: '#/components/parameters/Format' responses: '200': description: Legend document content: application/json: schema: type: object /services/{folder}/{service}/MapServer/{layerId}: get: operationId: getSlipLayer tags: [Services] summary: Get layer metadata description: Returns the field list, geometry type, extent and capabilities of a single layer within a public SLIP map service. x-evidence: url: https://public-services.slip.wa.gov.au/public/rest/services/SLIP_Public_Services/Boundaries/MapServer/14?f=json status: 200 probed: '2026-07-26' parameters: - $ref: '#/components/parameters/Folder' - $ref: '#/components/parameters/Service' - $ref: '#/components/parameters/LayerId' - $ref: '#/components/parameters/Format' x-error-behaviour: | This server returns HTTP 200 with an `error` object for an unknown layer (probed 2026-07-26: /MapServer/9999?f=json -> 200 {"error":{"code":404,"details":[],"message":"Layer not found"}}). See errors/landgate-problem-types.yml. responses: '200': description: Layer metadata, or an `error` object (this server signals errors with HTTP 200) content: application/json: schema: oneOf: - $ref: '#/components/schemas/Layer' - type: object properties: error: $ref: '#/components/schemas/EsriError' /services/{folder}/{service}/MapServer/{layerId}/query: get: operationId: querySlipLayerFeatures tags: [Query] summary: Query features on a layer description: Standard ArcGIS feature query. Verified anonymously against SLIP_Public_Services/Boundaries/MapServer/14 (LGA boundaries, 139 features). x-evidence: url: https://public-services.slip.wa.gov.au/public/rest/services/SLIP_Public_Services/Boundaries/MapServer/14/query?where=1%3D1&returnCountOnly=true&f=json status: 200 probed: '2026-07-26' sample: '{"count":139}' parameters: - $ref: '#/components/parameters/Folder' - $ref: '#/components/parameters/Service' - $ref: '#/components/parameters/LayerId' - name: where in: query description: SQL where clause, e.g. `1=1`. schema: { type: string } - name: outFields in: query description: Comma-separated field list or `*`. schema: { type: string } - name: geometry in: query schema: { type: string } - name: geometryType in: query schema: type: string enum: [esriGeometryPoint, esriGeometryMultipoint, esriGeometryPolyline, esriGeometryPolygon, esriGeometryEnvelope] - name: inSR in: query schema: { type: string } - name: outSR in: query schema: { type: string } - name: returnGeometry in: query schema: { type: boolean } - name: returnCountOnly in: query schema: { type: boolean } - name: resultOffset in: query description: Pagination offset (see conventions/landgate-conventions.yml). schema: { type: integer } - name: resultRecordCount in: query description: Page size; capped by the service maxRecordCount (10000 observed). schema: { type: integer } - $ref: '#/components/parameters/Format' responses: '200': description: Feature set (or an `error` object — this server signals errors with HTTP 200) content: application/json: schema: $ref: '#/components/schemas/FeatureSet' /services/{folder}/{service}/MapServer/identify: get: operationId: identifySlipFeatures tags: [Query] summary: Identify features at a location description: Returns the features from one or more layers that intersect a point or geometry, given a map extent and display size. x-evidence: url: https://public-services.slip.wa.gov.au/public/rest/services/SLIP_Public_Services/Boundaries/MapServer/identify?geometry=115.86,-31.95&geometryType=esriGeometryPoint&tolerance=5&mapExtent=115,-32,116,-31&imageDisplay=400,400,96&layers=all&f=json status: 200 probed: '2026-07-26' parameters: - $ref: '#/components/parameters/Folder' - $ref: '#/components/parameters/Service' - name: geometry in: query required: true schema: { type: string } - name: geometryType in: query required: true schema: { type: string } - name: tolerance in: query required: true schema: { type: integer } - name: mapExtent in: query required: true schema: { type: string } - name: imageDisplay in: query required: true schema: { type: string } - name: layers in: query schema: { type: string } - $ref: '#/components/parameters/Format' responses: '200': description: Identify results content: application/json: schema: type: object properties: results: type: array items: { type: object } /services/{folder}/{service}/MapServer/export: get: operationId: exportSlipMapImage tags: [Query] summary: Export a map image description: Renders the map service to an image for a bounding box and size; with f=json the response carries an href to the generated image. x-evidence: url: https://public-services.slip.wa.gov.au/public/rest/services/SLIP_Public_Services/Boundaries/MapServer/export?bbox=115,-32,116,-31&size=200,200&format=png&f=json status: 200 probed: '2026-07-26' parameters: - $ref: '#/components/parameters/Folder' - $ref: '#/components/parameters/Service' - name: bbox in: query required: true schema: { type: string } - name: size in: query schema: { type: string } - name: format in: query schema: type: string enum: [png, png8, png24, png32, jpg, pdf, gif, svg] - name: bboxSR in: query schema: { type: string } - name: imageSR in: query schema: { type: string } - $ref: '#/components/parameters/Format' responses: '200': description: Image reference (f=json) or the image itself (f=image) content: application/json: schema: type: object properties: href: { type: string, format: uri } image/png: {} components: parameters: Format: name: f in: query description: Response format. `json` for the machine-readable response. schema: type: string enum: [html, json, pjson, image, kmz] default: html Folder: name: folder in: path required: true description: Services folder. schema: type: string enum: [Land_Monitor, Landgate_Public_Imagery, Landgate_Public_Maps, SLIP_Public_Services, Utilities] Service: name: service in: path required: true description: Service name within the folder, e.g. `Boundaries`. schema: { type: string } LayerId: name: layerId in: path required: true description: Numeric layer id within the map service. schema: { type: integer } schemas: ServerInfo: type: object properties: currentVersion: { type: number } fullVersion: { type: string } soapUrl: { type: string, format: uri } authInfo: type: object properties: isTokenBasedSecurity: { type: boolean } ServicesDirectory: type: object properties: currentVersion: { type: number } folders: type: array items: { type: string } services: type: array items: type: object properties: name: { type: string } type: { type: string } MapService: type: object properties: documentInfo: { type: object } maxRecordCount: { type: integer } maxImageWidth: { type: integer } layers: type: array items: { type: object } Layer: type: object properties: id: { type: integer } name: { type: string } geometryType: { type: string } extent: { type: object } fields: type: array items: type: object properties: name: { type: string } type: { type: string } alias: { type: string } FeatureSet: type: object properties: displayFieldName: { type: string } fieldAliases: { type: object } fields: type: array items: { type: object } features: type: array items: type: object properties: attributes: { type: object } geometry: { type: object } count: { type: integer } error: $ref: '#/components/schemas/EsriError' EsriError: type: object properties: code: { type: integer } message: { type: string } details: type: array items: { type: string }