| title | Create a link |
|---|---|
| description | Create a link via Plane API. HTTP POST request format, required fields, and example responses. |
| keywords | plane api, create link, add url reference, work item link, issue link, rest api, api integration |
POST
/api/v1/workspaces/{workspace_slug}/projects/{project_id}/work-items/{work_item_id}/links/
Creates a new link attached to a work item.
The workspace_slug represents the unique workspace identifier for a workspace in Plane. It can be found in the URL. For example, in the URL https://app.plane.so/my-team/projects/, the workspace slug is my-team.
The unique identifier of the project.
The unique identifier for the work item.
curl -X POST \
"https://api.plane.so/api/v1/workspaces/my-workspace/projects/project-uuid/work-items/work-item-uuid/links/" \
-H "X-API-Key: $PLANE_API_KEY" \
# Or use -H "Authorization: Bearer $PLANE_OAUTH_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"title": "example-title",
"url": "example-url"
}'import requests
response = requests.post(
"https://api.plane.so/api/v1/workspaces/my-workspace/projects/project-uuid/work-items/work-item-uuid/links/",
headers={"X-API-Key": "your-api-key"},
json={
'title': 'example-title',
'url': 'example-url'
}
)
print(response.json())const response = await fetch(
"https://api.plane.so/api/v1/workspaces/my-workspace/projects/project-uuid/work-items/work-item-uuid/links/",
{
method: "POST",
headers: {
"X-API-Key": "your-api-key",
"Content-Type": "application/json"
},
body: JSON.stringify({
"title": "example-title",
"url": "example-url"
})
}
);
const data = await response.json();{
"id": "project-uuid",
"name": "Project Name",
"identifier": "PROJ",
"description": "Project description",
"created_at": "2024-01-01T00:00:00Z"
}