As a developer experimenting with the Wikidata API, I don’t want real, non-sandbox items to be edited when testing the examples in the API Sandbox.
**Problem:**
The examples for several Wikibase API modules – `wbeditentity`, `wbcreateclaim`, `wbsetlabel`, etc. – use [Douglas Adams (Q42)](https://www.wikidata.org/wiki/Q42) as an example Item. They should default to a safer item instead, such as the [Wikidata Sandbox (Q4115189)](https://www.wikidata.org/wiki/Q4115189).
**Example:**
[This edit](https://www.wikidata.org/wiki/Special:Diff/892627350) was made via the API examples ([source](https://www.wikidata.org/wiki/Topic:Uwmc9079t2q2wtpt)).
**Acceptance criteria:**
* The examples for API modules that edit items (`git grep needsToken repo/includes/Api/`) use some example Item, by default Q999999999.
* Examples on Wikidata use Q4115189 as an example Item.
* Documentation incl. release notes is adjusted for 3rd-party Wikibase installs to say that this new config option exists.
Previous deliberation, left for the curious reader
**Open questions:**
* I’m assuming that this will result in some new configuration variable, `$wgWBRepoSettings['sandboxEntityId']` or whatever, that’s used in the various `getExamplesMessages()` methods. However, the text of the example is an interface message which currently references the `Q42` ID directly. Can we somehow inject the real entity ID into the messages, or do we need to rephrase them to say something vague like “edit an example item”?
** Answer: Lucas says we can inject the ID into the message.
* Assuming the ID is configurable, what’s the default for other Wikibase installations? Still `Q42`? `Q1`? `Q999999999`?
** Answer: Let's go with Q999999999.
* Some API modules also use property IDs – some of them don’t exist (`P1`, `P2`), some do (`P212`), some don’t yet but eventually will (`P9001` to `P9004`). Do we want to do anything about those or is that a separate issue?
** Answer: Let's leave it for now.