> This page is for version 1.0.0 (Latest) (default).
> For other versions, use one of these documentation indexes:
> - 1.0.0 (Latest) (default): https://docs.nvidia.com/nim/metadata-api/1.0.0/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/nim/metadata-api/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nim/metadata-api/_mcp/server.

# Endpoints for NIM Metadata API

> Reference for the three NIM Metadata API request forms, their parameters, and the status codes and error envelope the API returns.

Three request forms that use the HTTP `GET` method are available. All three
return the same JSON response body for the same NIM microservice and tag, so
choose whichever fits how you hold the identifier. All requests use the
following base URL:

```text
https://api.ngc.nvidia.com/v2
```

The path forms and the query form are equivalent. The path forms construct the
`resourceId` on your behalf.

## Query-Parameter Form

Use this form when you hold the repository path as a single string.

```text
GET /v2/nim/metadata?resourceId={resourceId}&tag={tag}
```

The following table describes the parameters:

| Parameter    | In    | Required | Description                                                                                                    |
| ------------ | ----- | -------- | -------------------------------------------------------------------------------------------------------------- |
| `resourceId` | query | Yes      | Repository path, in the form `{org}/{repo-name}` or `{org}/{team-name}/{repo-name}`. Must not contain a colon. |
| `tag`        | query | Yes      | Container tag.                                                                                                 |

The following example requests metadata for a team-owned NIM microservice:

```bash
curl --request GET \
  --url 'https://api.ngc.nvidia.com/v2/nim/metadata?resourceId=nim/meta/llama-3.1-8b-instruct&tag=2.0.12' \
  --header 'accept: application/json'
```

Omitting either parameter returns a 400 status code.

> **Note**
>
> URL-encode the `resourceId` if your client does not do so automatically.
> The slashes are literal and must survive to the server.

## Path Form, Team-Qualified

Use this form for a repository that sits inside a team within the organization.

```text
GET /v2/nim/{team-name}/{repo-name}/{tag-name}/metadata
```

The following table describes the parameters:

| Parameter   | In   | Required | Description                      |
| ----------- | ---- | -------- | -------------------------------- |
| `team-name` | path | Yes      | Team owning the repository.      |
| `repo-name` | path | Yes      | NIM microservice container name. |
| `tag-name`  | path | Yes      | Container tag.                   |

The following example uses the team-qualified path form:

```bash
curl --request GET \
  --url 'https://api.ngc.nvidia.com/v2/nim/meta/llama-3.1-8b-instruct/2.0.12/metadata' \
  --header 'accept: application/json'
```

## Path Form, Organization Root

Use this form for a repository that sits directly under the organization with
no team.

```text
GET /v2/nim/{repo-name}/{tag-name}/metadata
```

The following example uses the organization-root path form:

```bash
curl --request GET \
  --url 'https://api.ngc.nvidia.com/v2/nim/openfold3/1.2.0/metadata' \
  --header 'accept: application/json'
```

> **Note**
>
> No organization-root NIM microservice container exists in production today.
> The preceding command illustrates the path form only. Do not use it as a
> live test target.

> **Warning**
>
> Segment count alone distinguishes the two path forms. A team-owned NIM
> microservice requested through the organization-root form returns a 404
> status code rather than resolving silently. If you receive an unexpected 404
> status code, confirm that you are using the form that matches the actual
> layout of the repository. To check the layout, search for the NIM
> microservice on the NGC Catalog and review the URL path.

The service supplies the organization for both path forms, which is why it does
not appear in the path.

## Responses

The following table describes the status codes this endpoint returns:

| Status Code | Meaning                                               |
| ----------- | ----------------------------------------------------- |
| 200         | Metadata returned.                                    |
| 400         | Malformed request.                                    |
| 404         | No metadata exists for this NIM microservice and tag. |
| 500         | Internal error.                                       |

Errors use the standard NGC envelope:

```json
{
  "requestStatus": {
    "statusCode": "NOT_FOUND",
    "statusDescription": "NIM metadata does not exist for nim-metadata/openfold3:1.2.0",
    "requestId": "f2ee19e1-48e0-4a34-a148-86f3e78f0bf6"
  }
}
```

A request that uses the `GET` method returns one of the following
`statusCode` values:

* `INVALID_REQUEST` for a 400 status code
* `NOT_FOUND` for a 404 status code
* `INTERNAL_ERROR` for a 5xx status code

> **Note**
>
> The namespace in `statusDescription` refers to the internal metadata
> storage for the service and does not match the `resourceId` you sent. This
> is expected, and it is one more reason to branch on the status code rather
> than on the description text.

A 400 status code on this endpoint does not always mean your request was
malformed. Stored metadata that fails validation on read also surfaces as a 400
status code, and metadata that cannot be parsed at all surfaces as a 500 status
code. Consider a 400 status code service-side when your request is well-formed
and the description does not name one of your parameters. Report that case
rather than retrying with different parameters. For details, refer to
[Troubleshooting](/nim/metadata-api/troubleshooting).

Always log `requestStatus.requestId`, because that is the value support needs
to trace a specific request.

## Related Topics

* [Response Fields](/nim/metadata-api/reference/response-fields)
* [Related Endpoints](/nim/metadata-api/reference/related-endpoints)
* [Prerequisites](/nim/metadata-api/get-started/prerequisites)