API reference
Sharing API
Publish a section or a whole project at a stable public link, read its sharing state, or revoke the link.
BetaUpdated
- Base URL
- https://lyricwinter.com/api/v1
- Authentication
- Authorization: Bearer lw_…
- Contract
- openapi.json
Share a project
POST/studio/projects/{projectId}/share
Scope
studio:writeCreates a stable public link for the whole project, or returns the existing one. Send an empty JSON object as the body.
Path parameters
projectIdstringrequireduuid
Request body application/json
object
Must be an empty JSON object.
Response 201
Stable project public link. Fields below are inside data.
schema_version1requiredproject_idstringrequireduuidis_publicbooleanrequiredshareobject | nullrequiredActive link; non-null exactly when is_public is true.
3 child attributes
idstringrequireduuidurlstringrequireduriPublic project page URL of the form <origin>/p/<token>.
created_atstringrequireddate-time
Errors 400, 401, 403, 404, 409, 500, 503 use the standard error envelope.
curl -X POST "https://lyricwinter.com/api/v1/studio/projects/$PROJECT_ID/share" \
-H "Authorization: Bearer $LYRICWINTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'const projectId = "<projectId>";
const response = await fetch(`https://lyricwinter.com/api/v1/studio/projects/${projectId}/share`, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.LYRICWINTER_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({}),
});
const { data, error, request_id } = await response.json();import os
import requests
project_id = "<projectId>"
response = requests.request(
"POST",
f"https://lyricwinter.com/api/v1/studio/projects/{project_id}/share",
headers={
"Authorization": f"Bearer {os.environ['LYRICWINTER_API_KEY']}",
},
json={},
)
payload = response.json()Response 201 (example)
{
"data": {
"schema_version": 1,
"project_id": "8f14e45f-ceea-4e7a-9c2d-3b1a5f2e7c10",
"is_public": true,
"share": {
"id": "c9f0f895-fb98-4b91-9e3f-1d2a6b7c8d20",
"url": "https://lyricwinter.com/…",
"created_at": "2026-09-30T17:00:00.000Z"
}
},
"request_id": "req_01J9Z3K8QF4"
}