You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 7ea707a
Browse filesBrowse the repository at this point in the historyBrowse files
Submits one feedback item, filed under the account that owns the token.
The body goes through --data, like every other JSON write; feedback.yaml
now declares its fields so --schema and generate-skills describe them.
create needs user-feedback:write, which mapbox auth login now asks for.
POST /oauth/register drops it until mapbox/api-accounts#2152 is deployed,
so until then a login gets a 403 on create.
The Feedback API's 403 says "Access token does not have <scope> scope",
which missing_scope didn't recognize, so it got the generic advice
instead of the scope-specific one. It's recognized now.
Verified against production with a token that has the scope: create
returns 200 and the item, with place_name filled in; a repeated id gets
400 "already exists"; trace_id in the body is dropped; get reads the item
at once, while list took 20-40 seconds to show it. A login token gets the
403 above.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
registrable — nothing here can force that. `fonts:list` and
489
491
`fonts:write` became registrable on 2026-09-08, which shipped
490
492
`fonts list`, `fonts upload` and `fonts delete`; `styles:download`
491
-
followed on 2026-09-30 and shipped `styles download`.
493
+
followed on 2026-09-30 and shipped `styles download`, and
494
+
`user-feedback:write` shipped `feedback create`.
492
495
-**Withheld deliberately.**`styles set-style-protected` unlocks a style
493
496
for deletion — a live token holding `styles:protect` (which *is*
494
497
registrable) can call it successfully, this CLI just declines to offer a
@@ -898,11 +901,9 @@ hand down to the parameters documented at docs.mapbox.com/api/feedback —
898
901
see `custom-openapi/README.md` for why this command group doesn't come from
899
902
the vendored specs the way most others do.
900
903
901
-
**`feedback create`, the write side of this API, is not a command.** It
902
-
needs a `user-feedback:write` scope that `POST /oauth/register` silently
903
-
drops from the granted set — confirmed directly against production, the
904
-
same shape `accounts create-token` already documents. No
905
-
`mapbox auth login` token can ever carry it.
904
+
`list` and `get` need `user-feedback:read` and `create` needs
905
+
`user-feedback:write`; `mapbox auth login` asks for both. A login from
906
+
before `create` shipped lacks the write scope, so log in again to use it.
906
907
907
908
### `mapbox feedback list`
908
909
@@ -1031,6 +1032,72 @@ time, not wrapped in `items`:
1031
1032
1032
1033
Same trimming as `list` above.
1033
1034
1035
+
### `mapbox feedback create`
1036
+
1037
+
Submits one feedback item, filed under the account that owns the token.
1038
+
It goes to Mapbox's review queue, and the API has no way to delete it, so
1039
+
check the body with `--dry-run` first.
1040
+
1041
+
#### Parameters
1042
+
1043
+
The body is JSON, through `--data` (a string, `@<path>` or `@-`).
1044
+
1045
+
| Field | Effect |
1046
+
| --- | --- |
1047
+
|`feedback` (required) | The text of the feedback. |
1048
+
|`lat`, `lon` (required) | The place the feedback is about. |
1049
+
|`category` (required) | Any string. It isn't checked against a list; `feedback list` shows the ones already in use. |
1050
+
|`id`| A UUID. Generated when omitted. Send your own to make a retry safe: a second request with the same id gets a 400 `Feedback with id … already exists.` rather than a duplicate. |
1051
+
|`feature`| A GeoJSON Feature the feedback is about, coordinates in `[lon, lat]` order. |
1052
+
|`screenshot`| A PNG or JPEG as a data URI (`data:image/png;base64,…`), not bare base64. |
1053
+
1054
+
`trace_id` can't be set here: the API drops it, and an item created this
1055
+
way has `trace_id: null`. The new item is readable with `get` at once; it
0 commit comments