For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Sign upLog in
Developer GuideCore ConceptsAPI Reference
  • API Reference
      • GETList
      • POSTCreate
      • GETGet
      • PUTUpsert
      • DELDelete
      • PATCHUpdate
      • HEADExists
      • GETList Thumbnails
      • GETGet Thumbnail
LogoLogo
Sign upLog in
API ReferenceDiagrams

Upsert

PUT
https://api.icepanel.io/v1/landscapes/:landscapeId/versions/:versionId/diagrams/:diagramId
PUT
/v1/landscapes/:landscapeId/versions/:versionId/diagrams/:diagramId
1import { IcePanelClient } from "@icepanel/sdk";
2
3async function main() {
4 const client = new IcePanelClient({
5 apiKey: "YOUR_API_KEY_HERE",
6 });
7 await client.diagrams.upsert("landscapeId", "versionId", "diagramId", {
8 body: {
9 index: 1.1,
10 modelId: "string",
11 name: "string",
12 type: "app-diagram",
13 },
14 });
15}
16main();
1{
2 "diagram": {
3 "commit": 1.1,
4 "groupId": "string",
5 "index": 1.1,
6 "labels": {},
7 "modelId": "string",
8 "name": "string",
9 "parentId": "string",
10 "pinned": true,
11 "status": "current",
12 "handleId": "string",
13 "type": "app-diagram",
14 "commentCount": 1.1,
15 "connectionCount": 1.1,
16 "createdAt": "2024-01-15T09:30:00Z",
17 "createdBy": "user",
18 "createdById": "string",
19 "id": "string",
20 "landscapeId": "string",
21 "objectCount": {
22 "actor": 1.1,
23 "app": 1.1,
24 "group": 1.1,
25 "component": 1.1,
26 "store": 1.1,
27 "system": 1.1,
28 "area": 1.1,
29 "box": 1.1
30 },
31 "updatedAt": "2024-01-15T09:30:00Z",
32 "updatedBy": "user",
33 "updatedById": "string",
34 "version": 1.1,
35 "versionId": "string",
36 "description": "string",
37 "pinnedAt": "2024-01-15T09:30:00Z",
38 "pinnedIndex": 1.1,
39 "zoomOverrides": {},
40 "deletedAt": "2024-01-15T09:30:00Z",
41 "deletedBy": "user",
42 "deletedById": "string",
43 "latestEntityId": "string"
44 },
45 "diagramContent": {
46 "comments": {},
47 "commit": 1.1,
48 "connections": {},
49 "objects": {},
50 "createdAt": "2024-01-15T09:30:00Z",
51 "createdBy": "user",
52 "createdById": "string",
53 "groupId": "string",
54 "handleId": "string",
55 "id": "string",
56 "landscapeId": "string",
57 "modelId": "string",
58 "name": "string",
59 "status": "current",
60 "type": "app-diagram",
61 "updatedAt": "2024-01-15T09:30:00Z",
62 "updatedBy": "user",
63 "updatedById": "string",
64 "version": 1.1,
65 "versionId": "string",
66 "deletedAt": "2024-01-15T09:30:00Z",
67 "deletedBy": "user",
68 "deletedById": "string",
69 "latestEntityId": "string",
70 "viewedAt": "2024-01-15T09:30:00Z",
71 "viewedBy": "user",
72 "viewedById": "string"
73 }
74}
Was this page helpful?
Previous

Delete

Next
Built with

Authentication

X-API-Keystring
API key authentication
OR
AuthorizationBearer
Bearer token authentication

Path parameters

landscapeIdstringRequired
versionIdstringRequired
diagramIdstringRequired

Query parameters

updateViewedAtbooleanOptional

Request

This endpoint expects an object.
indexdoubleRequired
modelIdstringRequired
model object id this object belongs to
namestringRequired
typeenumRequired
Allowed values:
commentsmap from strings to objectsOptional
commitdoubleOptional
connectionsmap from strings to objectsOptional
descriptionstringOptional
groupIdstring or nullOptional
handleIdstringOptional
labelsmap from strings to stringsOptional
objectsmap from strings to objectsOptional
parentIdstring or nullOptional
pinnedbooleanOptional
pinnedAtdatetimeOptional
pinnedIndexdoubleOptional
statusenumOptional
Allowed values:
zoomOverridesmap from strings to strings or nullOptional
Custom zoom levels for specific model objects within the diagram. The key is the modelObjectId and the value is the diagram id.

Response

OK
diagramobject
diagramContentobject

Errors

400
Bad Request Error
401
Unauthorized Error
404
Not Found Error
409
Conflict Error
422
Unprocessable Entity Error
500
Internal Server Error