Skip to navigation

Endpoint request snippet

View as Markdown

Use the <EndpointRequestSnippet> component to reference an endpoint request from your API Reference. When AI agents fetch the Markdown version of a page, Fern renders the code examples as fenced code blocks, so agents consuming your docs via .md URLs or llms.txt receive the full request snippets without parsing HTML.

Usage

POST
/chat/:domain
curl -X POST https://fai.buildwithfern.com/chat/domain \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"messages": [
{
"role": "user",
"content": "Can you explain the benefits of using renewable energy sources?"
}
]
}'
Markdown
<EndpointRequestSnippet endpoint="POST /chat/{domain}" />

Reference particular examples

1

Set the example name in your spec

openapi.yml
paths:
/pet:
put:
summary: Update an existing pet
operationId: pets_update
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Pet'
examples:
ExampleWithMarkley:
value:
name: Markley
id: 44
2

Directly reference the example

Markdown
<EndpointRequestSnippet
endpoint="PUT /pet"
example="ExampleWithMarkley"
/>
Referencing examples

If the example includes a summary or docs field, use that for the example prop. If not summary is set, use the example name.

Variants

Filter languages

Use the languages prop to filter which languages appear in the dropdown and control their order.

POST
/chat/:domain
curl -X POST https://fai.buildwithfern.com/chat/domain \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"messages": [
{
"role": "user",
"content": "Can you explain the benefits of using renewable energy sources?"
}
]
}'
Markdown
<EndpointRequestSnippet
endpoint="POST /chat/{domain}"
languages={["curl", "python", "typescript"]}
/>

Show payload

The payload option displays the raw JSON request body for POST/PUT/PATCH requests, or query parameters for GET requests.

POST
/chat/:domain
curl -X POST https://fai.buildwithfern.com/chat/domain \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"messages": [
{
"role": "user",
"content": "Can you explain the benefits of using renewable energy sources?"
}
]
}'
Markdown
<EndpointRequestSnippet
endpoint="POST /chat/{domain}"
languages={["curl", "python", "payload"]}
/>

Hide the Try It button

The EndpointRequestSnippet component includes a Try It button by default. Use the hideTryItButton prop to hide it.

POST
/chat/:domain
curl -X POST https://fai.buildwithfern.com/chat/domain \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"messages": [
{
"role": "user",
"content": "Can you explain the benefits of using renewable energy sources?"
}
]
}'
Markdown
<EndpointRequestSnippet
endpoint="POST /chat/{domain}"
hideTryItButton={true}
/>

Properties

endpoint
stringRequired

The endpoint to display, in the format METHOD /path (e.g., POST /chat/{domain}). If your API uses namespaces, prefix with the namespace and :: (e.g., payments::POST /chat/{domain}).

example
string

The name of a specific example to display. If the example includes a summary or docs field, use that value.

highlight
number | number[]

Line numbers to highlight in the code snippet. Accepts a single number, an array of numbers, or ranges (e.g., {[1-3, 5]}).

languages
string[]

Specifies which languages to show in the dropdown and in what order. Supported values include curl, python, typescript, javascript, go, ruby, java, kotlin, csharp, php, swift, rust, and payload. When not specified, all available languages are shown.

hideTryItButton
boolean

When set to true, hides the Try It button from the snippet.