Skip to content

Create Blog Translation​

POST
/api/v1/posts/id/{id}/translations

Authorizations​

SessionAuth

Session ID for authenticated requests

Type
API Key (header: X-Session-ID)

Parameters​

Path Parameters

id*
Type
string
Required

Request Body​

application/json
JSON
{
  
"lang": "string",
  
"title": "string",
  
"body": "string",
  
"excerpt": "string"
}

Responses​

Translation created

Playground​

Server
Authorization
Variables
Key
Value
Body

Samples​

Powered by VitePress OpenAPI

Create a translation for a blog post.

Auth: session + writer role.

Parameters ​

NameInTypeRequiredDescription
idpathstringYesPost id

Request Body ​

json
{
	"lang": "es",
	"title": "Hola mundo",
	"body": "# Hola"
}

Response 200 ​

json
{
	"data": { "id": "post_2", "lang": "es", "created": true },
	"user_context": { "authenticated": true, "user_type": "writer" },
	"meta": {}
}

Response Errors ​

  • 400 invalid translation payload
  • 401 missing session
  • 403 missing writer role
  • 404 post not found
  • 429 RATE_LIMIT_EXCEEDED

Notes ​

  • Rate limit: post bucket, 10 requests / 3600s by default. A session that can publish (admin, superadmin, author, editor, or the roles in BLOG_ALLOWED_POST_ROLES and BLOG_ADMIN_ROLES) is not counted. Otherwise 429 RATE_LIMIT_EXCEEDED. See Rate limits.

  • Use this to publish localised versions of the same post.

  • Keep the source language and translated slug aligned.