Update Article
curl --request PUT \
--url https://api.launchmystore.io/api/v1/articles/:id.json \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"title": "<string>",
"handle": "<string>",
"content": "<string>",
"tags": [
{}
],
"image": "<string>",
"templateSuffix": "<string>",
"seoTitle": "<string>",
"seoDesc": "<string>"
}
'import requests
url = "https://api.launchmystore.io/api/v1/articles/:id.json"
payload = {
"name": "<string>",
"title": "<string>",
"handle": "<string>",
"content": "<string>",
"tags": [{}],
"image": "<string>",
"templateSuffix": "<string>",
"seoTitle": "<string>",
"seoDesc": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
title: '<string>',
handle: '<string>',
content: '<string>',
tags: [{}],
image: '<string>',
templateSuffix: '<string>',
seoTitle: '<string>',
seoDesc: '<string>'
})
};
fetch('https://api.launchmystore.io/api/v1/articles/:id.json', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.launchmystore.io/api/v1/articles/:id.json",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'title' => '<string>',
'handle' => '<string>',
'content' => '<string>',
'tags' => [
[
]
],
'image' => '<string>',
'templateSuffix' => '<string>',
'seoTitle' => '<string>',
'seoDesc' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.launchmystore.io/api/v1/articles/:id.json"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"title\": \"<string>\",\n \"handle\": \"<string>\",\n \"content\": \"<string>\",\n \"tags\": [\n {}\n ],\n \"image\": \"<string>\",\n \"templateSuffix\": \"<string>\",\n \"seoTitle\": \"<string>\",\n \"seoDesc\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.launchmystore.io/api/v1/articles/:id.json")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"title\": \"<string>\",\n \"handle\": \"<string>\",\n \"content\": \"<string>\",\n \"tags\": [\n {}\n ],\n \"image\": \"<string>\",\n \"templateSuffix\": \"<string>\",\n \"seoTitle\": \"<string>\",\n \"seoDesc\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.launchmystore.io/api/v1/articles/:id.json")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"title\": \"<string>\",\n \"handle\": \"<string>\",\n \"content\": \"<string>\",\n \"tags\": [\n {}\n ],\n \"image\": \"<string>\",\n \"templateSuffix\": \"<string>\",\n \"seoTitle\": \"<string>\",\n \"seoDesc\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"status": 123,
"state": "<string>",
"data.article": {}
}Blogs
Update Article
Update an existing article
PUT
/
api
/
v1
/
articles
/
:id.json
Update Article
curl --request PUT \
--url https://api.launchmystore.io/api/v1/articles/:id.json \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"title": "<string>",
"handle": "<string>",
"content": "<string>",
"tags": [
{}
],
"image": "<string>",
"templateSuffix": "<string>",
"seoTitle": "<string>",
"seoDesc": "<string>"
}
'import requests
url = "https://api.launchmystore.io/api/v1/articles/:id.json"
payload = {
"name": "<string>",
"title": "<string>",
"handle": "<string>",
"content": "<string>",
"tags": [{}],
"image": "<string>",
"templateSuffix": "<string>",
"seoTitle": "<string>",
"seoDesc": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
title: '<string>',
handle: '<string>',
content: '<string>',
tags: [{}],
image: '<string>',
templateSuffix: '<string>',
seoTitle: '<string>',
seoDesc: '<string>'
})
};
fetch('https://api.launchmystore.io/api/v1/articles/:id.json', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.launchmystore.io/api/v1/articles/:id.json",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'title' => '<string>',
'handle' => '<string>',
'content' => '<string>',
'tags' => [
[
]
],
'image' => '<string>',
'templateSuffix' => '<string>',
'seoTitle' => '<string>',
'seoDesc' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.launchmystore.io/api/v1/articles/:id.json"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"title\": \"<string>\",\n \"handle\": \"<string>\",\n \"content\": \"<string>\",\n \"tags\": [\n {}\n ],\n \"image\": \"<string>\",\n \"templateSuffix\": \"<string>\",\n \"seoTitle\": \"<string>\",\n \"seoDesc\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.launchmystore.io/api/v1/articles/:id.json")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"title\": \"<string>\",\n \"handle\": \"<string>\",\n \"content\": \"<string>\",\n \"tags\": [\n {}\n ],\n \"image\": \"<string>\",\n \"templateSuffix\": \"<string>\",\n \"seoTitle\": \"<string>\",\n \"seoDesc\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.launchmystore.io/api/v1/articles/:id.json")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"title\": \"<string>\",\n \"handle\": \"<string>\",\n \"content\": \"<string>\",\n \"tags\": [\n {}\n ],\n \"image\": \"<string>\",\n \"templateSuffix\": \"<string>\",\n \"seoTitle\": \"<string>\",\n \"seoDesc\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"status": 123,
"state": "<string>",
"data.article": {}
}Update Article
Updates an existing article. Only provided fields will be updated.Request
curl -X PUT "https://api.launchmystore.io/api/v1/articles/art_xyz789.json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"title": "Summer Collection Launch - Extended!",
"content": "<p>Due to popular demand, our summer sale has been extended...</p>",
"tags": ["summer", "announcements", "sale-extended"]
}'
const response = await fetch('https://api.launchmystore.io/api/v1/articles/art_xyz789.json', {
method: 'PUT',
headers: {
'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
title: 'Summer Collection Launch - Extended!',
content: '<p>Due to popular demand, our summer sale has been extended...</p>',
tags: ['summer', 'announcements', 'sale-extended']
})
});
Path Parameters
string
required
The unique article ID to update
Body Parameters
All parameters are optional. Only provided fields will be updated. Fields may be sent at the top level, or nested under anarticle object.
string
Internal article name
string
The article title
string
URL-safe handle
string
Article body content (HTML)
array
Array of tag strings (replaces existing tags)
string
Featured image URL
string
Custom template suffix
string
Custom page title for search engines
string
Meta description for search engines
Response
The response uses the standard{ status, state, message, data } envelope.
On success state is "success" and the updated article is returned under
data.article.
integer
HTTP status code (
200 on success)string
"success" or "error"object
The updated article object
Example Response
{
"status": 200,
"state": "success",
"message": null,
"data": {
"article": {
"blogId": "a1b2c3d4-5e6f-7890-abcd-ef1234567890",
"id": "418273",
"name": "Summer Product Launch",
"title": "Summer Collection Launch - Extended!",
"handle": "summer-collection-launch-extended",
"content": "<p>Due to popular demand, our summer sale has been extended...</p>",
"image": "https://example.com/summer-launch.jpg",
"tags": ["summer", "announcements", "sale-extended"],
"templateSuffix": null,
"seoTitle": null,
"seoDesc": null,
"blogsPageId": "blog_abc123",
"storeId": "d290f1ee-6c54-4b01-90e6-d701748f0851",
"createdAt": "2024-03-14T09:00:00.000Z",
"updatedAt": "2024-03-25T14:30:00.000Z"
}
},
"count": null,
"pagination": null
}
Notes
- Changing the handle will break existing links to the article.
Error Codes
Errors return the same envelope withstate: "error" and a message.
| Status | message | When |
|---|---|---|
401 | — | Invalid or missing access token |
403 | — | App doesn’t have the write_content scope |
404 | Article not found | No article with the specified ID exists |
500 | error detail | Unexpected server error |