---
title: "List published blog posts (POST form)"
method: POST
path: "/blog-posts"
tags: ["Blog"]
---

# List published blog posts (POST form)

`POST /blog-posts`

## Request

- Base URL: `https://grape.cool/api/v1`
- URL: `https://grape.cool/api/v1/blog-posts`
- Auth: none required

Returns published posts newest first, without their bodies. Identical to the GET operation; the query arguments move into a JSON body.

## Request body

- object
  - `limit` integer: Return at most this many posts.

## Response `200`

Published posts.

- object
  - `success` true, required
  - `data` BlogPostSummary[], required
    - `id` string: Internal identifier.
    - `slug` string, required: Identifier for getBlogPost.
    - `title` string, required: Post title.
    - `description` string, required: Standfirst.
    - `publishedAt` string, date-time, required: When the post went out.
    - `url` string, uri
  - `meta` Meta: Counts and echoed arguments that describe the payload.
    - `total` integer: How many items exist.
    - `returned` integer: How many items this response carries.
    - `query` string: The search term that was used.
    - `currency` string: ISO 4217 code the prices are quoted in.

## Other responses

- `400`: A parameter was missing or outside the allowed values.
- `404`: Nothing matches the identifier given.
- `429`: More than 1000 requests came from this IP address in an hour.
- `500`: The request could not be completed.

---

[API](https://skmtc.dev/grape/apis/grape-public-api.md) · [All operations](https://skmtc.dev/grape/apis/grape-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/grape/apis/grape-public-api/revisions/16061cbac2d4?raw)
