curl --request PUT \
--url 'https://api-prod.usefini.com/v2/hc-articles/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/move/public' \
--header 'Authorization: Bearer fini_your_api_key' \
--header 'Content-Type: application/json' \
--data '{
"parentFolderId": "0f4da4fe-b2ae-4787-8c3b-854f36d9eb1b"
}'
const response = await fetch('https://api-prod.usefini.com/v2/hc-articles/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/move/public', {
method: 'PUT',
headers: {
Authorization: 'Bearer fini_your_api_key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
'parentFolderId': '0f4da4fe-b2ae-4787-8c3b-854f36d9eb1b'
}
)
});
const data = await response.json();
import requests
response = requests.put(
"https://api-prod.usefini.com/v2/hc-articles/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/move/public",
headers={"Authorization": "Bearer fini_your_api_key", "Content-Type": "application/json"},
json={
"parentFolderId": "0f4da4fe-b2ae-4787-8c3b-854f36d9eb1b"
},
)
data = response.json()
{
"id": "4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3",
"title": "Refund policy",
"mainKnowledge": "Customers can request a refund within 30 days of purchase.",
"agentInstruction": "Use this article for refund eligibility questions.",
"questions": [
"Can I get a refund?"
],
"keywords": [
"refund",
"billing"
],
"escalation": false,
"parentFolderId": "0f4da4fe-b2ae-4787-8c3b-854f36d9eb1b",
"isDraft": false,
"origin": "api",
"createdAt": "2026-07-28T08:55:32.000Z",
"updatedAt": "2026-07-28T09:10:18.000Z"
}
Folders & assignments
Move article
Move an article into a different folder.
PUT
/
v2
/
hc-articles
/
{id}
/
move
/
public
curl --request PUT \
--url 'https://api-prod.usefini.com/v2/hc-articles/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/move/public' \
--header 'Authorization: Bearer fini_your_api_key' \
--header 'Content-Type: application/json' \
--data '{
"parentFolderId": "0f4da4fe-b2ae-4787-8c3b-854f36d9eb1b"
}'
const response = await fetch('https://api-prod.usefini.com/v2/hc-articles/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/move/public', {
method: 'PUT',
headers: {
Authorization: 'Bearer fini_your_api_key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
'parentFolderId': '0f4da4fe-b2ae-4787-8c3b-854f36d9eb1b'
}
)
});
const data = await response.json();
import requests
response = requests.put(
"https://api-prod.usefini.com/v2/hc-articles/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/move/public",
headers={"Authorization": "Bearer fini_your_api_key", "Content-Type": "application/json"},
json={
"parentFolderId": "0f4da4fe-b2ae-4787-8c3b-854f36d9eb1b"
},
)
data = response.json()
{
"id": "4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3",
"title": "Refund policy",
"mainKnowledge": "Customers can request a refund within 30 days of purchase.",
"agentInstruction": "Use this article for refund eligibility questions.",
"questions": [
"Can I get a refund?"
],
"keywords": [
"refund",
"billing"
],
"escalation": false,
"parentFolderId": "0f4da4fe-b2ae-4787-8c3b-854f36d9eb1b",
"isDraft": false,
"origin": "api",
"createdAt": "2026-07-28T08:55:32.000Z",
"updatedAt": "2026-07-28T09:10:18.000Z"
}
Use this route to move an article between folders in the knowledge tree.
Headers
string
required
Bearer token containing your Fini workspace API key. Format:
Bearer fini_... The key needs write scope.string
required
application/jsonPath parameters
string
required
Article ID to move.
Body parameters
string
required
Destination folder ID.
Response
Returns the moved article object. See Manage knowledge for the shared article fields.curl --request PUT \
--url 'https://api-prod.usefini.com/v2/hc-articles/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/move/public' \
--header 'Authorization: Bearer fini_your_api_key' \
--header 'Content-Type: application/json' \
--data '{
"parentFolderId": "0f4da4fe-b2ae-4787-8c3b-854f36d9eb1b"
}'
const response = await fetch('https://api-prod.usefini.com/v2/hc-articles/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/move/public', {
method: 'PUT',
headers: {
Authorization: 'Bearer fini_your_api_key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
'parentFolderId': '0f4da4fe-b2ae-4787-8c3b-854f36d9eb1b'
}
)
});
const data = await response.json();
import requests
response = requests.put(
"https://api-prod.usefini.com/v2/hc-articles/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/move/public",
headers={"Authorization": "Bearer fini_your_api_key", "Content-Type": "application/json"},
json={
"parentFolderId": "0f4da4fe-b2ae-4787-8c3b-854f36d9eb1b"
},
)
data = response.json()
{
"id": "4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3",
"title": "Refund policy",
"mainKnowledge": "Customers can request a refund within 30 days of purchase.",
"agentInstruction": "Use this article for refund eligibility questions.",
"questions": [
"Can I get a refund?"
],
"keywords": [
"refund",
"billing"
],
"escalation": false,
"parentFolderId": "0f4da4fe-b2ae-4787-8c3b-854f36d9eb1b",
"isDraft": false,
"origin": "api",
"createdAt": "2026-07-28T08:55:32.000Z",
"updatedAt": "2026-07-28T09:10:18.000Z"
}
The response reflects the article after its
parentFolderId has been updated.Errors
400 Bad Request
400 Bad Request
The request body is malformed.
401 Unauthorized
401 Unauthorized
The API key is missing, malformed, revoked, or invalid.
403 Forbidden
403 Forbidden
The API key does not include the
write scope.404 Not Found
404 Not Found
The article or destination folder does not exist in the workspace.
Was this page helpful?
⌘I

