#More problem

1 messages · Page 1 of 1 (latest)

brittle pollen
#

every time i start a new session this comes up

2 part message

rocky kayakBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> âś… Mark Solution

brittle pollen
#

[diagnostic] lane task error: lane=main durationMs=31 error="FailoverError: No API key found for provider "anthropic". Auth store: C:\Users\mario test.openclaw\agents\main\agent\auth-profiles.json (agentDir: C:\Users\mario test.openclaw\agents\main\agent). Configure auth for this agent (openclaw agents add <id>) or copy auth-profiles.json from the main agentDir."
19:03:12 [diagnostic] lane task error: lane=session:temp:slug-generator durationMs=44 error="FailoverError: No API key found for provider "anthropic". Auth store: C:\Users\mario test.openclaw\agents\main\agent\auth-profiles.json (agentDir: C:\Users\mario test.openclaw\agents\main\agent). Configure auth for this agent (openclaw agents add <id>) or copy auth-profiles.json from the main agentDir."
14:03:12 [llm-slug-generator] Failed to generate slug: FailoverError: No API key found for provider "anthropic". Auth store: C:\Users\mario test.openclaw\agents\main\agent\auth-profiles.json (agentDir: C:\Users\mario test.openclaw\agents\main\agent). Configure auth for this agent (openclaw agents add <id>) or copy auth-profiles.json from the main agentDir.
at throwAuthProfileFailover (file:///C:/Users/mario%20test/AppData/Roaming/npm/node_modules/openclaw/dist/pi-embedded-CHb5giY2.js:68919:34)
at file:///C:/Users/mario%20test/AppData/Roaming/npm/node_modules/openclaw/dist/pi-embedded-CHb5giY2.js:68988:61
at

#

file:///C:/Users/mario%20test/AppData/Roaming/npm/node_modules/openclaw/dist/pi-embedded-CHb5giY2.js:333:21 {
reason: 'auth',
provider: 'anthropic',
model: 'claude-opus-4-6',
profileId: undefined,
status: 401,
code: undefined,
[cause]: Error: No API key found for provider "anthropic". Auth store: C:\Users\mario test.openclaw\agents\main\agent\auth-profiles.json (agentDir: C:\Users\mario test.openclaw\agents\main\agent). Configure auth for this agent (openclaw agents add <id>) or copy auth-profiles.json from the main agentDir.
at resolveApiKeyForProvider (file:///C:/Users/mario%20test/AppData/Roaming/npm/node_modules/openclaw/dist/model-auth-BWLWy5hV.js:3596:8)
at getApiKeyForModel (file:///C:/Users/mario%20test/AppData/Roaming/npm/node_modules/openclaw/dist/model-auth-BWLWy5hV.js:3683:9)
at resolveApiKeyForCandidate (file:///C:/Users/mario%20test/AppData/Roaming/npm/node_modules/openclaw/dist/pi-embedded-CHb5giY2.js:68930:11)
at applyApiKeyInfo (file:///C:/Users/mario%20test/AppData/Roaming/npm/node_modules/openclaw/dist/pi-embedded-CHb5giY2.js:68939:23)
at file:///C:/Users/mario%20test/AppData/Roaming/npm/node_modules/openclaw/dist/pi-embedded-CHb5giY2.js:68982:11
at file:///C:/Users/mario%20test/AppData/Roaming/npm/node_modules/openclaw/dist/pi-embedded-CHb5giY2.js:333:21

tawny crestBOT
#

Can you paste the exact text of the “2 part message” (both parts), ideally in a code block, and tell me where you’re starting the new session (Dashboard/Control UI vs CLI vs Discord/Telegram)?

Also grab your version first (this matters a lot for session-related bugs):

openclaw --version

If you can, include whatever the gateway prints/logs right when you start a new session (even ~20–50 lines). Once I see the actual two messages, I can tell you what’s triggering it and the fix.

#

That “2 part message” is OpenClaw trying to call an LLM (Anthropic) when creating a new session (one of the calls is the slug generator), but your Anthropic auth isn’t configured for the main agent.

You’ve basically got two ways to fix it:

Option A (use Claude / Anthropic): add Anthropic credentials

On the Windows machine running the Gateway:

  1. Run the onboarding wizard and add Anthropic auth:
openclaw onboard

Choose Anthropic API key (or setup-token).

  1. Restart the Gateway afterwards (however you run it).

Docs: https://docs.openclaw.ai/providers/anthropic

#

Yep — that stack trace is the same root cause: your main agent is trying to use anthropic/claude-opus-4-6, but there are no Anthropic credentials in:

C:\Users\mario test\.openclaw\agents\main\agent\auth-profiles.json

So every “new session” fails as soon as OpenClaw makes the first LLM call (slug generator / boot message).

Fix (pick one)

A) Use Anthropic (Claude) → add credentials

On that Windows machine:

  1. Run:
openclaw onboard

and choose Anthropic API key (or setup-token).

#

Option B (don’t want Anthropic): switch your default model/provider

If you intended to use another provider (e.g. OpenAI/OpenRouter/etc), make sure your config sets agents.defaults.model.primary to a provider you do have credentials for, and that you’ve added that provider’s API key.

Also: if you used a bare model name without provider/model, OpenClaw may assume anthropic (so it’ll keep failing until you either add Anthropic auth or make the model explicit).

Quick sanity checks

Please paste these outputs:

openclaw --version
openclaw models status

And if you’re setting env vars in a terminal: note that the Gateway may not inherit them. On Windows, the most reliable is putting keys into:
C:\Users\mario test\.openclaw\.env (line like ANTHROPIC_API_KEY=...)
Docs: https://docs.openclaw.ai/help/environment

#
  1. Restart the gateway after onboarding.

Docs: https://docs.openclaw.ai/providers/anthropic

B) Put an API key in the global .env (works well for gateways/services)

Create/edit:
C:\Users\mario test\.openclaw\.env

Add:

ANTHROPIC_API_KEY=sk-ant-...

Then restart the gateway.

(Important: setting env vars in a terminal often doesn’t reach the running Gateway process, depending on how you start it.)
Docs: https://docs.openclaw.ai/help/environment

#

C) If you don’t want Anthropic

Change your default model/provider to one you have credentials for (OpenAI/OpenRouter/etc) and configure that provider’s key instead.

Verify it’s fixed

Run:

openclaw models status
openclaw --version

Paste openclaw models status here if it still complains — it’ll show exactly which provider/profile it’s trying to use.

brittle pollen
#

[diagnostic] lane task error: lane=main durationMs=31 error="FailoverError: No API key found for provider "anthropic". Auth store: C:\Users\mario test.openclaw\agents\main\agent\auth-profiles.json (agentDir: C:\Users\mario test.openclaw\agents\main\agent). Configure auth for this agent (openclaw agents add <id>) or copy auth-profiles.json from the main agentDir."
19:03:12 [diagnostic] lane task error: lane=session:temp:slug-generator durationMs=44 error="FailoverError: No API key found for provider "anthropic". Auth store: C:\Users\mario test.openclaw\agents\main\agent\auth-profiles.json (agentDir: C:\Users\mario test.openclaw\agents\main\agent). Configure auth for this agent (openclaw agents add <id>) or copy auth-profiles.json from the main agentDir."
14:03:12 [llm-slug-generator] Failed to generate slug: FailoverError: No API key found for provider "anthropic". Auth store: C:\Users\mario test.openclaw\agents\main\agent\auth-profiles.json (agentDir: C:\Users\mario test.openclaw\agents\main\agent). Configure auth for this agent (openclaw agents add <id>) or copy auth-profiles.json from the main agentDir.
at throwAuthProfileFailover (file:///C:/Users/mario%20test/AppData/Roaming/npm/node_modules/openclaw/dist/pi-embedded-CHb5giY2.js:68919:34)
at file:///C:/Users/mario%20test/AppData/Roaming/npm/node_modules/openclaw/dist/pi-embedded-CHb5giY2.js:68988:61
at

#

file:///C:/Users/mario%20test/AppData/Roaming/npm/node_modules/openclaw/dist/pi-embedded-CHb5giY2.js:333:21 {
reason: 'auth',
provider: 'anthropic',
model: 'claude-opus-4-6',
profileId: undefined,
status: 401,
code: undefined,
[cause]: Error: No API key found for provider "anthropic". Auth store: C:\Users\mario test.openclaw\agents\main\agent\auth-profiles.json (agentDir: C:\Users\mario test.openclaw\agents\main\agent). Configure auth for this agent (openclaw agents add <id>) or copy auth-profiles.json from the main agentDir.
at resolveApiKeyForProvider (file:///C:/Users/mario%20test/AppData/Roaming/npm/node_modules/openclaw/dist/model-auth-BWLWy5hV.js:3596:8)
at getApiKeyForModel (file:///C:/Users/mario%20test/AppData/Roaming/npm/node_modules/openclaw/dist/model-auth-BWLWy5hV.js:3683:9)
at resolveApiKeyForCandidate (file:///C:/Users/mario%20test/AppData/Roaming/npm/node_modules/openclaw/dist/pi-embedded-CHb5giY2.js:68930:11)
at applyApiKeyInfo (file:///C:/Users/mario%20test/AppData/Roaming/npm/node_modules/openclaw/dist/pi-embedded-CHb5giY2.js:68939:23)
at file:///C:/Users/mario%20test/AppData/Roaming/npm/node_modules/openclaw/dist/pi-embedded-CHb5giY2.js:68982:11
at file:///C:/Users/mario%20test/AppData/Roaming/npm/node_modules/openclaw/dist/pi-embedded-CHb5giY2.js:333:21

#

PS C:\Users\mario test> openclaw models status

openclaw --version

🦞 OpenClaw 2026.2.19-2 (45d9b20) — Gateway online—please keep hands, feet, and appendages inside the shell at all times.

Config : ~.openclaw\openclaw.json
Agent dir : ~.openclaw\agents\main\agent
Default : ollama/kimi
Fallbacks (1) : google/gemini-3-flash
Image model : -
Image fallbacks (0): -
Aliases (12) : Lite -> google/gemini-2.5-flash-lite, Flash -> google/gemini-2.5-flash, 3-Flash -> google/gemini-3-flash, Kimi -> ollama/kimi, glm -> ollama/glm-5, deep -> ollama/deepseek-v3.1:671b, gemma -> ollama/gemma3:27b, qwen -> ollama/qwen3-coder:480b, qwenv -> ollama/qwen3-vl:235b-instruct, gpt -> ollama/gpt-oss:120b, lm -> lmstudio/ministral-3-3b-reasoning-2512, free -> openrouter/openrouter/free
Configured models (12): google/gemini-2.5-flash-lite, google/gemini-2.5-flash, google/gemini-3-flash, ollama/kimi, ollama/glm-5, ollama/deepseek-v3.1:671b, ollama/gemma3:27b, ollama/qwen3-coder:480b, ollama/qwen3-vl:235b-instruct, ollama/gpt-oss:120b, lmstudio/ministral-3-3b-reasoning-2512, openrouter/openrouter/free

Auth overview
Auth store : ~.openclaw\agents\main\agent\auth-profiles.json
Shell env : off
Providers w/ OAuth/tokens (0): -

  • lmstudio effective=models.json:lmstudio | models.json=lmstudio | source=models.json: ~.openclaw\agents\main\agent\models.json
  • ollama effective=models.json:sk-proxy | models.json=sk-proxy | source=models.json: ~.openclaw\agents\main\agent\models.json
  • openai effective=env:121 | env=121 | source=env: OPENAI_API_KEY

Missing auth

  • google Run openclaw configure or set an API key env var.

OAuth/token status

  • none
    2026.2.19-2
tawny crestBOT
#

That log is still the same thing: Anthropic is your active provider (claude-opus-4-6) but the Gateway can’t find any Anthropic credential in the main agent’s auth store.

1) Fix auth (fastest path)

On the same Windows machine/user that runs the Gateway, run one of these:

Wizard (recommended):

openclaw onboard

Pick Anthropic API key or setup-token.

Or (setup-token path):

openclaw models auth setup-token --provider anthropic

After that, restart the Gateway.

#

Docs: https://docs.openclaw.ai/providers/anthropic


2) Your path looks suspicious (likely mis-set state dir)

Notice your log path is:

C:\Users\mario test.openclaw\...

That’s not the normal default (C:\Users\mario test\.openclaw\...). This usually means OPENCLAW_STATE_DIR or OPENCLAW_HOME is set incorrectly.

In PowerShell, check:

gci env:OPENCLAW*

If OPENCLAW_STATE_DIR is set to C:\Users\mario test.openclaw, either unset it or set it to the correct folder, then restart the Gateway.

#

Your openclaw models status shows you’re not configured for Anthropic at all (default is ollama/kimi), so if you’re still seeing:

  • lane=session:temp:slug-generator
  • [llm-slug-generator] Failed to generate slug
  • No API key found for provider "anthropic"

…that’s almost certainly coming from the session-memory hook that runs when you do /new. That hook tries to call an LLM just to generate the filename slug for the memory file; if it can’t resolve your configured model in that context, it falls back to the built-in default (anthropic/claude-opus-4-6) → and then you get the scary error.

Two clean fixes (pick one):

Fix 1: Disable the hook (simplest)

openclaw hooks disable session-memory

Then restart your gateway.

Docs: https://docs.openclaw.ai/automation/hooks#session-memory

#

Docs on env loading/state dir: https://docs.openclaw.ai/help/environment


3) Paste this output so we can confirm where it’s reading auth from

openclaw models status
openclaw --version

Once openclaw models status shows Anthropic authenticated, the “new session” slug-generator error should disappear.

#

Fix 2: Keep the hook, but stop it from calling an LLM for the slug

This is supported by the hook code (even if not super documented):

openclaw config set hooks.internal.entries.session-memory.llmSlug false --json

Then restart the gateway.


Side note (you’ll hit this next)

Your fallbacks include google/gemini-3-flash but auth says Missing auth - google. If Ollama ever fails, you’ll get another “missing API key” error (for Google this time). Either add Google auth, or remove/replace that fallback with another local model.

If you tell me how you start the gateway (service vs openclaw gateway start), I can tell you the exact restart command for your setup.

brittle pollen
#

all my google profile is there in auth-profile.json it just stop work and showing me this message [diagnostic] lane task error: lane=main durationMs=82 error="FailoverError: No API key found for provider "google". Auth store: C:\Users\mario test.openclaw\agents\main\agent\auth-profiles.json (agentDir: C:\Users\mario test.openclaw\agents\main\agent). Configure auth for this agent (openclaw agents add <id>) or copy auth-profiles.json from the main agentDir."
04:23:03 [diagnostic] lane task error: lane=session:agent:main:main durationMs=93 error="FailoverError: No API key found for provider "google". Auth store: C:\Users\mario test.openclaw\agents\main\agent\auth-profiles.json (agentDir: C:\Users\mario test.openclaw\agents\main\agent). Configure auth for this agent (openclaw agents add <id>) or copy auth-profiles.json from the main agentDir."

tawny crestBOT
#

That error is specifically for the google model provider = “Google Gemini (API key)”.

So having a “Google profile” in auth-profiles.json (often OAuth for google-antigravity or google-gemini-cli) won’t satisfy it — provider google requires a Gemini API key (GEMINI_API_KEY). Docs call this out here: https://docs.openclaw.ai/help/faq#why-did-it-also-try-google-gemini-and-fail and https://docs.openclaw.ai/concepts/model-providers#google-gemini-api-key

What to do (pick one)

A) You want to use google/... Gemini models

  1. Put your key in the gateway env (best on Windows service installs):
  • Create/edit: C:\Users\mario test\.openclaw\.env
  • Add:
    GEMINI_API_KEY=your_key_here
    
  1. Restart the gateway.
  2. Verify:
#
   openclaw models status

(Reason: when running as a service, your terminal env vars often aren’t visible; .openclaw\.env is the reliable fix. Related doc: https://docs.openclaw.ai/help/faq#i-started-the-gateway-via-the-service-and-my-env-vars-disappeared-what-now)

B) You don’t want Google at all (it’s just being tried as a fallback)
Remove/avoid Google models in your configured fallbacks (docs mention agents.defaults.model.fallbacks) or switch your primary model away from google/.... The easiest way is often just re-running onboarding to pick a different model, then restart.

C) You actually meant Google Antigravity / Gemini CLI OAuth
Then you need to use the matching provider/model (google-antigravity/... or google-gemini-cli/...) — not google/....

If you paste one thing, paste this (safe)

Run and paste output (it redacts secrets):

openclaw --version
#
openclaw models status

That will make it obvious whether you’re failing because:

  • you’re on a google/... model with no GEMINI_API_KEY, or
  • Google is only in fallbacks, or
  • your intended provider is actually google-antigravity / google-gemini-cli.
brittle pollen
#

it was working before i did the update to 2026.2.19

tawny crestBOT
#

Yeah, 2026.2.19 is consistent with this kind of report: after an update, the model selection / failover path often changes, and suddenly you start hitting the Google fallback, which requires a Gemini API key.

Key detail from your log:

  • provider "google" = Gemini API key provider → expects GEMINI_API_KEY
  • Having “a Google profile” in auth-profiles.json is often OAuth for google-antigravity or google-gemini-cli, which does not satisfy provider google.

Docs: https://docs.openclaw.ai/help/faq#why-did-it-also-try-google-gemini-and-fail

2 likely scenarios after the update

1) Your real primary provider is failing, so it falls back to Google

So you only see the Google error, but the root cause is earlier (Anthropic/OpenAI/etc).

Please run and paste:

#
openclaw --version
openclaw models status

models status will show what your primary is and what it’s failing over to.

2) You actually are configured to use google/... now (or have it in fallbacks)

Fix options:

A) Provide the key
Put it somewhere the gateway will always load it (Windows service often won’t inherit your terminal env):

Create/edit:
C:\Users\mario test\.openclaw\.env

Add:

#
GEMINI_API_KEY=...your key...

Restart gateway, then:

openclaw models status

B) Remove/avoid Google in fallbacks
If you don’t want Google at all, remove google/... from agents.defaults.model.fallbacks (or switch primary away from a Gemini shorthand).

One more gotcha (super common after updates)

Make sure you’re looking at the exact auth store the error references:

C:\Users\mario test\.openclaw\agents\main\agent\auth-profiles.json

brittle pollen
#

i have more than one Google AI Studio key

#

so how the .env would save it

tawny crestBOT
#

If you have multiple Google AI Studio (Gemini) API keys, that’s fine — but OpenClaw only counts them for provider google if they’re stored as google auth, not just “some Google OAuth profile”.

Option 1 (simplest): use just one key

Pick one key and set it as the Gemini key (don’t paste it here):

Windows service-friendly way

  • Create/edit: C:\Users\mario test\.openclaw\.env
  • Add:
    GEMINI_API_KEY=YOUR_KEY
    
  • Restart the gateway
  • Check:
    openclaw models status
    
#

Put the key in OpenClaw’s state .env file — the Gateway loads that file on startup, so it “sticks” across reboots/updates and doesn’t depend on your PowerShell environment.

On Windows (your path has a space, so be careful)

  1. Open this file (create it if it doesn’t exist):
C:\Users\mario test\.openclaw\.env
  1. Add one line (don’t include quotes):
GEMINI_API_KEY=your_ai_studio_key_here
  1. Save the file.

  2. Restart the Gateway (important — it only reads .env at startup):

#
openclaw gateway restart
  1. Confirm it’s picked up:
openclaw models status

Notes:

  • .env is just a plain text file. One NAME=value per line.
  • It won’t overwrite an already-set process env var; it fills in what’s missing (good for safety).
  • Don’t post your key here; if you need to show anything, show only openclaw models status output (it should redact).

If openclaw gateway restart doesn’t work on your machine, tell me how you start OpenClaw (terminal vs Windows service/task) and I’ll give the exact restart step for that setup.

#

Option 2 (advanced): add multiple keys as multiple google:* auth profiles + rotate

OpenClaw supports multiple profiles per provider and will rotate them (failover stage 1) if you set an order.

Run these on the gateway machine:

openclaw models auth paste-token --provider google --profile-id google:key1
# paste key #1 when prompted

openclaw models auth paste-token --provider google --profile-id google:key2
# paste key #2 when prompted

Then set the rotation order:

#
openclaw models auth order set --provider google google:key1 google:key2

And verify:

openclaw models status

Quick sanity check

Since your error started after updating, I still suspect you’re now falling back to google/... (or switched to a Gemini shorthand), and the gateway can’t find any google API key.

If you paste openclaw models status (redacts secrets), I can tell you exactly whether:

  • your current model/fallbacks include google/..., and
  • whether provider google shows as authenticated or not.
brittle pollen
#

this not working bash openclaw models auth order set --provider google google:key1 google:key2 its given me an error

brittle pollen
#

hey @tawny crest this not working bash openclaw models auth order set --provider google google:key1 google:key2 its given me an error

tawny crestBOT
#

Hey — what’s up?

Did adding GEMINI_API_KEY to C:\\Users\\mario test\\.openclaw\\.env and restarting the gateway fix the “No API key found for provider google” error?

If not, paste the output of:

openclaw --version
openclaw models status

That’ll show whether you’re actually running a google/... model now, or you’re only hitting Google as a fallback because another provider is failing.

brittle pollen
#

hey @tawny crest this not working bash openclaw models auth order set --provider google google:key1 google:key2 its given me an error

brittle pollen
#

im taking this.. "order": {
"google:bot4": [],
"google:bot5": [],
"google:bot6": [],
"google:bot8": [],
"google:bot9": [],
"google:bot10": [],
"google:bot11": [],
"google:bot12": []
}
},

tawny crestBOT
#

Don’t worry about the mention — just paste the exact error text you get (remove/redact any keys). The fix depends on which error it is.

In the meantime, 2 common causes:

1) The profiles google:key1 / google:key2 don’t exist yet

You have to create those profile IDs first (each one stores one AI Studio key), then set the order.

Run (on the gateway machine), and when it prompts, paste the key (don’t post it here):

openclaw models auth paste-token --provider google --profile-id google:key1
openclaw models auth paste-token --provider google --profile-id google:key2

Then set rotation order (be explicit about agent):

#
openclaw models auth order set --provider google --agent main google:key1 google:key2

Verify:

openclaw models auth order get --provider google --agent main
openclaw models status

2) You’re running an older CLI / wrong openclaw on PATH

Some errors look like “Unknown command … order” or similar.

Please paste:

#
openclaw --version

…and the exact error from the order command.

If your goal is just “make it work again”

You don’t need multiple keys. The quickest fix is still just putting one key in:

C:\Users\mario test\.openclaw\.env

GEMINI_API_KEY=...

Restart gateway, done.

Send the error text and I’ll tell you which branch you’re on.

#

That order shape is backwards.

For auth order, OpenClaw wants:

  • key = provider name (e.g. "google")
  • value = array of profile IDs (e.g. "google:bot4")

So instead of this:

"order": {
  "google:bot4": [],
  "google:bot5": []
}

…it should be like this (either in config, or via the CLI):

brittle pollen
#

what happen to the rest of the message thats the part i want

#

@tawny crest can you finish this line... So instead of this:

"order": {
"google:bot4": [],
"google:bot5": []
}

…it should be like this (either in config, or via the CLI):

tawny crestBOT
#

Nothing “happened” to it — that snippet is just not the right shape for an auth order list.

You currently have:

"order": {
  "google:bot4": [],
  "google:bot5": [],
  ...
}

…but order is keyed by provider name, not by profile id.

What you want is one entry for the provider "google", whose value is the list of profile IDs in the order you want:

#
"auth": {
  "order": {
    "google": [
      "google:bot4",
      "google:bot5",
      "google:bot6",
      "google:bot8",
      "google:bot9",
      "google:bot10",
      "google:bot11",
      "google:bot12"
    ]
  }
}
brittle pollen
#

do this look right now.. "auth": {
"profiles": {
"google:bot4": {
"provider": "google",
"mode": "token"
},
"google:bot5": {
"provider": "google",
"mode": "token"
},
"google:bot6": {
"provider": "google",
"mode": "token"
},
"google:bot8": {
"provider": "google",
"mode": "token"
},
"google:bot9": {
"provider": "google",
"mode": "token"
},
"google:bot10": {
"provider": "google",
"mode": "token"
},
"google:bot11": {
"provider": "google",
"mode": "token"
},
"google:bot12": {
"provider": "google",
"mode": "token"
}
},
"auth": {
"order": {
"google": [
"google:bot4",
"google:bot5",
"google:bot6",
"google:bot8",
"google:bot9",
"google:bot10",
"google:bot11",
"google:bot12"
]
}
},

brittle pollen
#

this look right right

tawny crestBOT
#

I can’t tell from “this look right” unless I see the actual snippet 🙂

But yes, the correct shape is:

  • in openclaw.json (config):

    auth: {
      order: {
        google: ["google:bot4", "google:bot5"]
      }
    }
    
  • in auth-profiles.json (per-agent override): it should be top-level:

    "order": {