API generations/mGIS Analytics
GETstateful2 exact generations

/getLayersList

Compare every retained request and response declaration before moving application traffic between source generations.

No automatic upgrade is implied. This page compares retained contracts and generates an application migration checklist. It makes no provider call and cannot prove entitlement, semantic compatibility, or production readiness.

Retained contract variants

v1

Fetches the names of all the datasets available in the user's workspace on the geoserver.

Declared API version
V1.0.0
Authentication
bearer
Parameters
0 · 0 required
Request fields
0 · 0 required
Responses
200 · 400 · 404 · 500
Server
https://mgis-api.mappls.com/
SHA-256
34013a0683256113b49f4f53
Open exact API reference
v2Preferred source evidence

Fetches the names of all the datasets available in the user's workspace on the geoserver.

Declared API version
V1.0.0
Authentication
bearer
Parameters
0 · 0 required
Request fields
0 · 0 required
Responses
200 · 400 · 404 · 500
Server
https://mgis-apiv2.mappls.com/
SHA-256
cc9f61d938cafd0f18558bd2
Open exact API reference

v1v2

1 review signals
Parameters added

No declared change.

Parameters removed

No declared change.

Parameters newly required

No declared change.

Request fields added

No declared change.

Request fields removed

No declared change.

Request fields newly required

No declared change.

Response statuses added

No declared change.

Response statuses removed

No declared change.

Response fields added
  • 200:code
  • 200:data
  • 200:message
  • 200:success
Response fields removed
  • 200:items[].geometrytype
  • 200:items[].layername
Transport and identity
  • Authentication declaration is unchanged.
  • Declared server URL changed.
Compatibility review signalsDeclared server URL changed

Ship behind evidence and rollback.

Run both adapters against the same sanitized fixture corpus, then validate the selected generation with the exact entitled account and region.

  1. 01

    Confirm the Mappls account is entitled to v2; source ordering is not availability proof.

  2. 02

    Run both retained contract generations against sanitized fixtures and compare application parsing.

  3. 03

    Update only declared parameters and request fields; do not infer undocumented aliases.

  4. 04

    Exercise authentication rejection, validation, rate-limit, timeout, and unknown-outcome handling.

  5. 05

    For state-changing operations, migrate behind an idempotent adapter and reconcile before retry.

  6. 06

    Retain the source fingerprints, acceptance evidence, rollback trigger, and previous adapter until approval.

Rehearse the adapter in eight languages.

The download pins both exact source fingerprints, projects only target-declared fields, reports dropped fields, detects missing required input, and includes three dependency-free tests. It performs no provider call and contains no credential.

Adapter languages8JavaScript · Python · Java · C# · Go · PHP · Ruby · Kotlin
Executable tests3Identity · projection · required input
Provider calls0Fixture-only application boundary
Archive files18Runbook, manifest, fixtures, adapters, rollback
v1 → v2 adapter seam
// Structural projection only: add semantic mappings after entitled validation.
const targetParameters=new Set([]);
const targetBody=new Set([]);
const requiredParameters=[];
const requiredBody=[];

const project=(source,allowed)=>Object.fromEntries(Object.entries(source??{}).filter(([key])=>allowed.has(key)));
export function adapt(source={}){
  const parameters=project(source.parameters,targetParameters);
  const body=project(source.body,targetBody);
  const missing=[...requiredParameters.filter(key=>parameters[key]==null),...requiredBody.filter(key=>body[key]==null)];
  return {target:{parameters,body},missing,dropped:{parameters:Object.keys(source.parameters??{}).filter(key=>!targetParameters.has(key)),body:Object.keys(source.body??{}).filter(key=>!targetBody.has(key))}};
}
npm testnpm run inspectField names remain opaque. Implement semantic mappings only after entitled target validation.

Use the same comparison without scraping.

JSON contractmappls_get_contract_generation {"slug":"mgis-get-getlayerslist-7a2d5959c7"}mappls://catalog/contract-generations