---
title: API endpoint
slug: docs/api-endpoint
docTags: 
createdAt: 2026-06-05T11:12:18.527Z
---

[API Endpoint](docId\:JwrgiyTgiu8c_7ml3Hna8) blocks render interactive API documentation, including request parameters, code examples, and response samples.

## Syntax

You can add this component using either Markdown or MDX syntax.

::::Tabs
:::Tab{title="Markdown"}
```markdown
:::::ApiMethodV2
(JSON configuration with name, method, url, request, examples, results)
:::::
```
:::

:::Tab{title="MDX"}
```javascript
<ApiMethodV2>
(JSON configuration with name, method, url, request, examples, results)
</ApiMethodV2>
```
:::
::::

The JSON configuration supports the following parameter groups:

- `pathParameters`&#x20;
- `queryParameters`&#x20;
- `headerParameters`&#x20;
- `bodyDataParameters`
- `formDataParameters`&#x20;

You can also include request examples and response samples in multiple languages.

When used inside a two-column layout, API endpoint blocks are rendered in the right column.

## MDX example

The following example creates an endpoint for retrieving a user, including request parameters, multiple code examples, and response samples.

```javascript
<ApiMethodV2>
{
  "name": "Get User",
  "method": "GET",
  "url": "https://api.example.com/users/{id}",
  "description": "Retrieve a user by their unique ID.",
  "tab": "examples",
  "examples": {
    "languages": [
      {
        "id": "js-example",
        "language": "javascript",
        "code": "const res = await fetch('https://api.example.com/users/usr_abc123', {\n  headers: { 'Authorization': 'Bearer sk_live_xxx' }\n})\nconst user = await res.json()",
        "customLabel": ""
      },
      {
        "id": "curl-example",
        "language": "bash",
        "code": "curl https://api.example.com/users/usr_abc123 \\\n  -H 'Authorization: Bearer sk_live_xxx'",
        "customLabel": ""
      }
    ],
    "selectedLanguageId": "js-example"
  },
  "results": {
    "languages": [
      {
        "id": "res-200",
        "language": "200",
        "code": "{\n  \"id\": \"usr_abc123\",\n  \"name\": \"Jane Doe\",\n  \"email\": \"jane@example.com\",\n  \"role\": \"admin\"\n}",
        "customLabel": ""
      },
      {
        "id": "res-404",
        "language": "404",
        "code": "{\n  \"error\": \"Not found\",\n  \"message\": \"User does not exist\"\n}",
        "customLabel": ""
      }
    ],
    "selectedLanguageId": "res-200"
  },
  "request": {
    "pathParameters": [
      {
        "name": "id",
        "kind": "required",
        "type": "string",
        "description": "User ID (e.g. usr_abc123)"
      }
    ],
    "queryParameters": [
      {
        "name": "include",
        "kind": "optional",
        "type": "string",
        "description": "Comma-separated relations to include"
      }
    ],
    "headerParameters": [
      {
        "name": "Authorization",
        "kind": "required",
        "type": "string",
        "description": "Bearer token"
      }
    ],
    "bodyDataParameters": [],
    "formDataParameters": []
  },
  "currentNewParameter": {
    "label": "Path Parameter",
    "value": "pathParameters"
  },
  "hasTryItOut": false
}
</ApiMethodV2>
```

