Loading the documentation…
DataMind Oda keeps its settings in documents it owns on this computer, and the values its connected services use as credentials beside them. This page is the reference for both: how a settings document opens, how a change lands, and how stored credentials are named, layered, reloaded and protected. For the everyday side, see Stored credentials; where the files live and how a save stays safe is on Oda's home folder and settings files. Company-wide rules and permissions around Oda are managed in DataMind OS: see Manage DataMind Oda for your company.
Oda can open the settings document it owns on this computer in your computer's normal text editor. It works in three steps:
{ opened: true }).gateway/ cancelled). The messages settings document open was aborted and settings document preparation was aborted cover the two points where a cancellation can land, and a cancellation during preparation never opens the editor.gateway/ internal: settings document preparation failed: <reason> when preparing the document went wrong, or path open failed: <reason> when your editor could not open the prepared file. Nothing is opened, so fix the cause and open it again.The settings file a profile keeps on this computer is described on The Oda settings file.
A settings change reaches one settings area at a time, and each change answers with the area's new state, with secret values hidden. A change can be written in three ways:
update). The change is merged into what the area already stores.replace). The stored section is replaced as a whole.mutate). The edits address exact paths, and they apply against what is stored rather than against what you last read.More rules for a change:
settings/ conflict and nothing is written. The refusal is its own outcome, not a malformed change: its details carry ns, expected and actual: the area, the revision you expected and the revision actually stored. Read the area again and apply the change again.settings/ rejected. The area is not served here, its owner is read-only, a value fails its checks, or storing fails. The refusal carries the area's name, and the message comes from the part that owns it.The operations and codes behind these surfaces are listed in Operations and error codes; saving changes from the app's own forms is covered on Live plugin settings.
Oda keeps the credentials its connected services use as named entries on this computer. Two kinds arrive there:
The rules that apply to both:
an empty value cannot be stored for "<ref>"; use unset).credential/ rejected. The part that owns the value refused a valid write, for example because a read-only source supplies the name. The refusal carries the owner's own message and only the name, never the value.Oda resolves a name by looking in one order; the first place that has a value wins:
| Place | How it ranks |
|---|---|
| The environment Oda starts in | Highest, and read-only: Oda cannot change it. |
| The stored credential file | Wins over both . files below. |
A . file in the folder you launch Oda from | Wins over the home . file. |
A . file in Oda's home folder | The last place Oda looks. |
unset it in the environment DataMind Oda starts from instead.chmod 600 <file> before starting again.Oda's configuration surfaces read and write through two service namespaces on the Remote layer: settings and credentials. Both are configuration only: they register no prompt, tool or session event.
| Namespace | Operation | What it does |
|---|---|---|
settings | describe | Answers with the provider's writability, whether the local document is present, and a redacted view of every namespace: the schema a form renders from, the values, which secret fields are set, and the revision. |
settings | update, replace, mutate | Merge a patch, replace the stored section, or apply path-addressed edits; each answers with the namespace's new redacted view. |
settings | openSettingsDocument | Prepares the document the settings provider owns and opens it in the native text editor. |
credentials | describe | Answers one entry per name: whether it is configured, where its value comes from when that is known, and whether it is writable. |
credentials | set, unset | Store a non-empty value, or remove the name; a later describe reflects either change. |
gateway/ bad-request. The message reads invalid payload for settings. <mode> on a settings write and invalid payload for <method> on a credentials call. One bad name fails the whole describe batch, and a batch over 64 names is refused the same way.gateway/ internal with settings namespace "<ns>" was disposed after the <mode>. Only a concurrent removal of the namespace produces it.gateway/ internal. For settings, the error tells you to mount the settings plugin together with the configuration editor in the profile; for credentials, it names the credentials plugin this installation is missing.No. An open prepares the document Oda owns on this computer and opens that one; it never takes a file path from your side, so it cannot reach a file Oda does not own.
Oda reports what stopped it: settings document preparation failed: <reason> when preparing the document went wrong, or path open failed: <reason> when your editor could not open the prepared file. Nothing is opened in either case; fix the cause and open it again.
update, replace and mutate?update merges your change into the area's stored section, replace writes a whole replacement section, and mutate applies path-addressed edits against the section as stored, so it never depends on what you last read. All three answer with the area's new state, with secret values hidden.
The area's new state as it stands after the change, with secret values hidden. You see the result without a second read, and a secret value can never appear in the answer.
The change carried the revision it read, and the area moved after that. Nothing is wrong with the change: settings/ is its own outcome, not a malformed request. Read the area again, check it, and apply the change again; the refusal names the area and carries both revisions.
Yes, when it is known. A check reports, for each name, whether a value is set, where the value comes from, and whether it can be changed here. The places it can name are the environment Oda started in, the stored credential file, a . file in the folder you launch Oda from, and a . file in Oda's home folder.
Remove it, and later requests no longer see a value for that name. An empty value is never stored, so blanking the name would not clear it: a credential is removed by removing it.
A valid write can still be refused by the part that owns the value, for example when a read-only source supplies the name. The refusal arrives as credential/ and carries the owner's message with only the name, never the value. Fix what the message names; if the environment Oda starts from supplies the name, clear it there and start Oda again.
This installation does not mount it. The namespaces stay registered, and the call fails with an error that tells you to mount the settings plugin together with the configuration editor in the profile. A missing credential provider fails the same way, naming the credentials plugin.
No. Oda creates the credential file so that only your user account can read it, but the load check that refuses a file other users can read applies on macOS and Linux. On Windows the check does not apply.