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>",
"template_suffix": "<string>",
"seo_title": "<string>",
"seo_desc": "<string>",
"seo_image": "<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>",
"template_suffix": "<string>",
"seo_title": "<string>",
"seo_desc": "<string>",
"seo_image": "<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>',
template_suffix: '<string>',
seo_title: '<string>',
seo_desc: '<string>',
seo_image: '<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>',
'template_suffix' => '<string>',
'seo_title' => '<string>',
'seo_desc' => '<string>',
'seo_image' => '<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 \"template_suffix\": \"<string>\",\n \"seo_title\": \"<string>\",\n \"seo_desc\": \"<string>\",\n \"seo_image\": \"<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 \"template_suffix\": \"<string>\",\n \"seo_title\": \"<string>\",\n \"seo_desc\": \"<string>\",\n \"seo_image\": \"<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 \"template_suffix\": \"<string>\",\n \"seo_title\": \"<string>\",\n \"seo_desc\": \"<string>\",\n \"seo_image\": \"<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>",
"template_suffix": "<string>",
"seo_title": "<string>",
"seo_desc": "<string>",
"seo_image": "<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>",
"template_suffix": "<string>",
"seo_title": "<string>",
"seo_desc": "<string>",
"seo_image": "<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>',
template_suffix: '<string>',
seo_title: '<string>',
seo_desc: '<string>',
seo_image: '<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>',
'template_suffix' => '<string>',
'seo_title' => '<string>',
'seo_desc' => '<string>',
'seo_image' => '<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 \"template_suffix\": \"<string>\",\n \"seo_title\": \"<string>\",\n \"seo_desc\": \"<string>\",\n \"seo_image\": \"<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 \"template_suffix\": \"<string>\",\n \"seo_title\": \"<string>\",\n \"seo_desc\": \"<string>\",\n \"seo_image\": \"<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 \"template_suffix\": \"<string>\",\n \"seo_title\": \"<string>\",\n \"seo_desc\": \"<string>\",\n \"seo_image\": \"<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
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.
Internal article name
The article title
URL-safe handle
Article body content (HTML)
Array of tag strings (replaces existing tags)
Featured image URL
Custom template suffix
Custom page title for search engines
Meta description for search engines
Social/share image URL 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.
HTTP status code (
200 on success)"success" or "error"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,
"seoImage": null,
"blogsPageId": "blog_abc123",
"storeId": "f73049dc-b4d4-4f85-99c2-681a5e351a8a",
"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 |
⌘I