> ## Documentation Index
> Fetch the complete documentation index at: https://tomee-mayank-kiro-power.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Troubleshooting

> Troubleshoot common issues with API playground configuration, including OpenAPI validation errors, missing endpoints, and auth problems.

If your API pages aren't displaying correctly, check these common configuration issues.

<AccordionGroup>
  <Accordion title="All of my OpenAPI pages are completely blank">
    This usually means that Mintlify cannot find your OpenAPI document or that the document is invalid.

    Run `mint dev` locally to reveal some of these issues.

    To verify your OpenAPI document passes validation:

    1. Visit [this validator](https://editor.swagger.io/).
    2. Switch to the **Validate text** tab.
    3. Paste in your OpenAPI document.
    4. Click **Validate it!**

    If the text box that appears below has a green border, your document has passed validation.
    Mintlify uses this exact validation package to validate OpenAPI documents. If your document passes
    validation here, the problem likely lies elsewhere.

    Additionally, Mintlify does not support OpenAPI 2.0. If your document uses this version of the specification,
    you could encounter this issue. You can convert your document at [editor.swagger.io](https://editor.swagger.io/) (under Edit > Convert to OpenAPI 3):

    <Frame>
      <img src="https://mintcdn.com/tomee-mayank-kiro-power/pF7gZX1Hrj5oz70b/images/convert-oas-3.png?fit=max&auto=format&n=pF7gZX1Hrj5oz70b&q=85&s=3d02ff7f3e5673d1b30ffdc596562794" alt="Screenshot of the Swagger Editor with the Edit menu expanded and the &#x22;Convert to OpenAPI 3&#x22; menu item highlighted." width="1454" height="592" data-path="images/convert-oas-3.png" />
    </Frame>
  </Accordion>

  <Accordion title="One of my OpenAPI pages is completely blank">
    A misspelled `openapi` field in the page metadata usually causes this issue. Make sure
    the HTTP method and path match the HTTP method and path in the OpenAPI document.

    <Note>
      Mintlify automatically resolves trailing slash differences between your `openapi` reference
      and the OpenAPI specification. For example, `GET /users/{id}/` matches a specification path of `/users/{id}`.
    </Note>

    Here's an example of how things might go wrong:

    ```mdx get-user.mdx theme={null}
    ---
    openapi: "GET /user/{id}"
    ---
    ```

    ```yaml openapi.yaml theme={null}
    paths:
      "/users/{id}":
        get: ...
    ```

    The path in the `openapi` field says `/user/{id}` (singular). The path in the OpenAPI document is
    `/users/{id}` (plural).

    Another common issue is a misspelled filename. If you specify a particular OpenAPI document
    in the `openapi` field, ensure the filename is correct. For example, if you have two OpenAPI
    documents, `openapi/v1.json` and `openapi/v2.json`, your metadata might look like this:

    ```mdx api-reference/v1/users/get-user.mdx theme={null}
    ---
    openapi: "v1 GET /users/{id}"
    ---
    ```
  </Accordion>

  <Accordion title="My build fails with &#x22;Failed to fetch OpenAPI file for anchor or tab&#x22;">
    This error means Mintlify could not download the OpenAPI document at the URL in your `docs.json` `openapi` field during the build. Common causes include:

    * The host is unreachable or resolves only from a private network.
    * The URL requires authentication (a token, session cookie, or IP allowlist).
    * The certificate is invalid or the domain has a DNS issue.
    * The origin returned a transient 5xx or timed out.
    * The spec was being republished at the moment the build ran, so the URL served a partial or empty response.

    Builds fetch the URL from the public internet without credentials, so confirm that the document downloads with `curl` from a machine outside your network. To fix the error, switch to one of these patterns:

    * **Commit the spec into your docs repo.** This is the recommended pattern when the source URL is behind auth. Point the `openapi` field at the repo-relative path (for example, `"openapi": "openapi.json"`) and update the file in the same commit that changes your API.
    * **Serve the spec from a stable public HTTPS URL.** Host it on a CDN or object storage bucket that does not require auth, has a valid TLS certificate, and returns the full document on every request.

    For a full diagnostic walkthrough, including intermittent failures caused by CI publishing the spec after triggering the build, see [Build fails with "Failed to fetch OpenAPI file for anchor or tab"](/help-center/openapi-url-fetch-fails-during-build).
  </Accordion>

  <Accordion title="Requests from the API Playground don't work">
    If you use a custom domain, your reverse proxy might cause this issue. By default, the API
    Playground starts requests with a `POST` request to the `/_mintlify/api/request` path on the docs
    site. If your reverse proxy allows only `GET` requests, all of these requests fail. Configure your
    reverse proxy to allow `POST` requests to the `/_mintlify/api/request` path.

    Alternatively, if your reverse proxy prevents you from accepting `POST` requests, configure Mintlify
    to send requests directly to your backend with the `api.playground.proxy` setting in the `docs.json`.
    See the [settings documentation](/organize/settings-api) for details. When you use this configuration,
    requests come directly from users' browsers rather than through your proxy. Configure Cross-Origin
    Resource Sharing (CORS) on your server.
  </Accordion>

  <Accordion title="OpenAPI navigation entries are not generating pages">
    If you are using an OpenAPI navigation configuration, but the pages aren't generating, check these common issues:

    1. **Missing default OpenAPI spec**: Ensure you have an `openapi` field set for the navigation element:

    ```json {5} theme={null}
    "navigation": {
      "groups": [
        {
          "group": "API reference",
          "openapi": "/path/to/openapi.json",
          "pages": [
            "GET /users",
            "POST /users"
          ]
        }
      ]
    }
    ```

    2. **OpenAPI spec inheritance**: If using nested navigation, ensure child groups inherit the correct OpenAPI spec or specify their own.

    3. **Validation issues**: Use `mint validate` to verify your OpenAPI document is valid.
  </Accordion>

  <Accordion title="Some OpenAPI operations appear in navigation but others don't">
    1. **Hidden operations**: Operations marked with `x-hidden: true` in your OpenAPI spec won't appear in auto-generated navigation.
    2. **Invalid operations**: Operations with validation errors in the OpenAPI spec may be skipped. Check your OpenAPI document for syntax errors.
    3. **Manual vs automatic inclusion**: If you reference any endpoints from an OpenAPI spec, only the explicitly referenced operations appear in navigation. No other pages are automatically added. This includes operations that are referenced in child navigation elements.
  </Accordion>

  <Accordion title="The Authorization field description is generic or unhelpful">
    Mintlify auto-generates a description for the `Authorization` field in the API playground based on the security scheme type. Add a `description` to the security scheme in your OpenAPI specification to override the generated text.

    ```json {7} theme={null}
    {
      "components": {
        "securitySchemes": {
          "bearerAuth": {
            "type": "http",
            "scheme": "bearer",
            "description": "Your API key from the [dashboard](https://example.com/dashboard). Send it as `Bearer <key>`."
          }
        }
      }
    }
    ```

    The `description` supports Markdown and replaces the auto-generated text on every endpoint that uses the security scheme.
  </Accordion>

  <Accordion title="Mixed navigation (OpenAPI and MDX pages) not working correctly">
    When combining OpenAPI operations with regular documentation pages in navigation:

    1. **File conflicts**: Mintlify does not support both an `MDX` file and a navigation entry for the same operation. For example, if you have `get-users.mdx`, do not also include `"GET /users"` in your navigation. If a file must share a name with an operation, use the `x-mint` extension for the endpoint so its href points to a different location.
    2. **Path resolution**: Mintlify treats navigation entries that don't match OpenAPI operations as file paths. Ensure your `MDX` files exist at the expected locations.
    3. **Case sensitivity**: OpenAPI operation matching is case-sensitive. Ensure HTTP methods are uppercase in navigation entries.
  </Accordion>
</AccordionGroup>
