> For the complete documentation index, see [llms.txt](https://docs.floral.fun/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.floral.fun/developer-resources/troubleshooting.md).

# Troubleshooting

| What you see                                                         | Likely cause                                                                                                              | Fix                                                                                                              |
| -------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| `400 invalid_redirect_uri` from `/oauth/authorize`                   | The URL isn't an exact match                                                                                              | Compare it with your registered URL, including the path, query and trailing slash                                |
| `400 invalid_client` from `/oauth/authorize`                         | Wrong `client_id`, or the application is disabled, suspended or deleted                                                   | Check its status in the Developer Portal                                                                         |
| `invalid_request` on your redirect URL                               | A PKCE parameter is missing or malformed                                                                                  | Send a 43-character base64url `code_challenge` and `code_challenge_method=S256`                                  |
| `invalid_scope` on your redirect URL                                 | The scope isn't enabled for your application                                                                              | Enable it under Permissions                                                                                      |
| `401 invalid_client` from `/oauth/token`                             | Wrong, rotated or revoked secret, a public client sent a secret, or the application is disabled, suspended or deleted     | Rotate the secret if lost. Public clients send no secret. Check the application's status in the Developer Portal |
| `400 invalid_grant` exchanging a code                                | The code expired after 5 minutes, was already used, or the verifier or redirect URL differs                               | Restart from authorization, reusing the same verifier and redirect URL for that attempt                          |
| `400 invalid_grant` refreshing                                       | The user disconnected, the token expired, the application was disabled and re-enabled, or an old refresh token was reused | Send the user through Floral Connect again                                                                       |
| `400 unauthorized_client`                                            | A public client asked for `client_credentials`                                                                            | Use a user token, or a confidential client                                                                       |
| `401 invalid_token` from `/v1`                                       | The token expired or was revoked, or the application is disabled                                                          | Refresh it. If that fails, reconnect                                                                             |
| `403 insufficient_scope`                                             | The token lacks the scope, or you removed it from the application                                                         | Enable the scope, and have the user connect again if needed                                                      |
| `403 user_not_linked`                                                | The user hasn't granted your application `quests:verify`, or disconnected                                                 | Send them through Floral Connect                                                                                 |
| `404 target_not_found`                                               | The post isn't public, or doesn't exist                                                                                   | Pick a public target                                                                                             |
| `verified: false` with `not_public`                                  | The repost or quote isn't public                                                                                          | Ask the user to change its audience                                                                              |
| `429`                                                                | You hit a rate limit                                                                                                      | Wait for `Retry-After`. See [Rate limits](/developer-resources/rate-limits.md)                                   |
| `NEW_DEVICE_HOLD` in the Developer Portal                            | The device signed in within the last 24 hours, and this is a sensitive change                                             | Confirm with your authenticator app, or use a device you've used before                                          |
| `503` uploading an icon                                              | Image checks or storage are temporarily unavailable                                                                       | Try again shortly. Your application keeps working without an icon                                                |
| "New developer accounts are paused" or "New applications are paused" | Floral has paused new sign-ups                                                                                            | Try again later. Existing applications aren't affected                                                           |
| "You can have up to 10 applications"                                 | You've reached the limit                                                                                                  | Delete one you no longer need                                                                                    |
| "Accept the updated developer terms"                                 | The terms changed                                                                                                         | Accept them in the Developer Portal                                                                              |
| `state` missing on return                                            | Your `state` is longer than 1024 characters                                                                               | Send a shorter one                                                                                               |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.floral.fun/developer-resources/troubleshooting.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
