Get one of a shop’s blog posts
GET
/storefront/sites/{host}/posts/{slug}
const url = 'https://example.com/storefront/sites/northgate.shop.getbottle.app/posts/getting-your-barbecue-ready';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://example.com/storefront/sites/northgate.shop.getbottle.app/posts/getting-your-barbecue-readyDeliberately unauthenticated: a post the business published, dated today or before, by its address, with its body cleaned again on the way out. A post whose address changed answers kind moved with where it is now. With preview, drafts too, never cached. Anything else is 404 with an empty body.
Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”host
required
string
Example
northgate.shop.getbottle.appslug
required
string
Example
getting-your-barbecue-readyQuery Parameters
Section titled “Query Parameters”preview
string
Responses
Section titled “Responses”The post, or where it moved to
Media typeapplication/json
One of:
object
kind
required
string
post
required
object
id
required
UUID v7
string format: uuid
slug
required
string
title
required
string
excerpt
required
string
cover
required
object
alt
required
string | null
width
required
integer
height
required
integer
thumb
required
string
card
required
string
large
required
string
authorName
required
string
publishedOn
required
string format: date
tags
required
Array<object>
object
name
required
string
slug
required
string
updatedAt
required
string format: date-time
bodyHtml
required
string | null
seoTitle
required
string
seoDescription
required
string
object
kind
required
string
slug
required
string
Example
{ "kind": "post", "post": { "id": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f" }}Not changed since the ETag sent
No such post. No body.
Too many requests from one address