XISUITEDokumentation

Plans

50 Endpunkte. Basis-URL: https://xapi.ambertech.cloud/api/v1

List plans in a space#

GET/plansToken

Parameter

NameOrtTypBeschreibung
pageSizeQuerynumber–
pageQuerynumber–
is_archivedQueryboolean–
owner_idQueryany–
statusQueryany–
plan_typeQueryany–
searchQueryany–
exclude_plan_idsQueryany–
organization_idQueryany–
space_idQueryany–

Antworten

  • 200Space-scoped or organization-scoped plan list.
  • 403organization_id does not match current user organization.
Beispiel (cURL)
curl -X GET "https://xapi.ambertech.cloud/api/v1/plans" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

Create a new plan#

POST/plansToken

Request-Bodyapplication/jsonCreatePlanDto

NameTypBeschreibung
space_idPflichtstring–
spaceIdstring

Legacy camelCase space field accepted for compatibility.

organizationIdstring

Legacy camelCase organization field accepted for compatibility; auth context wins.

organization_idstring

Legacy snake_case organization field accepted for compatibility; auth context wins.

namePflichtstring–
descriptionstring–
plan_typestring

Werte: waterfallagilehybridipma

Standard: "waterfall"

start_datestring–
end_datestring–
budgetnumber–
currencystring

Standard: "EUR"

owner_idstring–
settingsobject–

Antworten

  • 201Erstellt
Beispiel (cURL)
curl -X POST "https://xapi.ambertech.cloud/api/v1/plans" \
  -H "Authorization: Bearer $XISUITE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"space_id":"…","name":"…"}'

Get plan details#

GET/plans/{planId}Token

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–

Antworten

  • 200OK
Beispiel (cURL)
curl -X GET "https://xapi.ambertech.cloud/api/v1/plans/{planId}" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

Update plan#

PATCH/plans/{planId}Token

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–

Request-Bodyapplication/jsonUpdatePlanDto

NameTypBeschreibung
idstring

Legacy body field accepted for compatibility; route param wins.

organizationIdstring

Legacy camelCase organization field accepted for compatibility; auth context wins.

organization_idstring

Legacy snake_case organization field accepted for compatibility; auth context wins.

namestring–
descriptionstring–
plan_typestring

Werte: waterfallagilehybridipma

statusstring

Werte: draftactiveon_holdcompletedarchived

start_datestring–
end_datestring–
budgetnumber–
currencystring–
owner_idstring–
filter_idstring–
progressnumber–
sort_ordernumber–
settingsobject–
is_archivedboolean–

Antworten

  • 200OK
Beispiel (cURL)
curl -X PATCH "https://xapi.ambertech.cloud/api/v1/plans/{planId}" \
  -H "Authorization: Bearer $XISUITE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"id":"…","organizationId":"…","organization_id":"…"}'

Delete plan (must be archived first)#

DELETE/plans/{planId}Token

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–

Antworten

  • 200OK
Beispiel (cURL)
curl -X DELETE "https://xapi.ambertech.cloud/api/v1/plans/{planId}" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

Archive plan#

POST/plans/{planId}/archiveToken

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–

Antworten

  • 201Erstellt
Beispiel (cURL)
curl -X POST "https://xapi.ambertech.cloud/api/v1/plans/{planId}/archive" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

Unarchive plan#

DELETE/plans/{planId}/archiveToken

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–

Antworten

  • 200OK
Beispiel (cURL)
curl -X DELETE "https://xapi.ambertech.cloud/api/v1/plans/{planId}/archive" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

List plan baselines#

GET/plans/{planId}/baselinesToken

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–

Antworten

  • 200OK
Beispiel (cURL)
curl -X GET "https://xapi.ambertech.cloud/api/v1/plans/{planId}/baselines" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

Create a plan baseline snapshot#

POST/plans/{planId}/baselinesToken

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–

Request-Bodyapplication/jsonCreatePlanBaselineDto

NameTypBeschreibung
plan_idstring

Legacy body field accepted for compatibility; route param wins.

namePflichtstring–
is_activeboolean

Legacy body field accepted for compatibility; Nest creates the baseline active.

Antworten

  • 201Erstellt
Beispiel (cURL)
curl -X POST "https://xapi.ambertech.cloud/api/v1/plans/{planId}/baselines" \
  -H "Authorization: Bearer $XISUITE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"…"}'

Delete a baseline#

DELETE/plans/{planId}/baselines/{baselineId}Token

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–
baselineIdPflichtPfadstring–

Antworten

  • 200OK
Beispiel (cURL)
curl -X DELETE "https://xapi.ambertech.cloud/api/v1/plans/{planId}/baselines/{baselineId}" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

Activate a baseline#

POST/plans/{planId}/baselines/{baselineId}/activateToken

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–
baselineIdPflichtPfadstring–

Antworten

  • 201Erstellt
Beispiel (cURL)
curl -X POST "https://xapi.ambertech.cloud/api/v1/plans/{planId}/baselines/{baselineId}/activate" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

Get Earned Value Management metrics#

GET/plans/{planId}/baselines/evmToken

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–

Antworten

  • 200OK
Beispiel (cURL)
curl -X GET "https://xapi.ambertech.cloud/api/v1/plans/{planId}/baselines/evm" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

List comments for a plan#

GET/plans/{planId}/commentsToken

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–

Antworten

  • 200OK
Beispiel (cURL)
curl -X GET "https://xapi.ambertech.cloud/api/v1/plans/{planId}/comments" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

Add a comment to a plan#

POST/plans/{planId}/commentsToken

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–

Request-Bodyapplication/jsonCreatePlanCommentDto

NameTypBeschreibung
contentPflichtstring

Comment content — supports HTML (max 10000 chars)

Antworten

  • 201Erstellt
Beispiel (cURL)
curl -X POST "https://xapi.ambertech.cloud/api/v1/plans/{planId}/comments" \
  -H "Authorization: Bearer $XISUITE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"content":"…"}'

Update a plan comment (author only)#

PUT/plans/{planId}/comments/{commentId}Token

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–
commentIdPflichtPfadstring–

Request-Bodyapplication/jsonUpdatePlanCommentDto

NameTypBeschreibung
contentPflichtstring

Updated comment content — supports HTML (max 10000 chars)

Antworten

  • 200OK
Beispiel (cURL)
curl -X PUT "https://xapi.ambertech.cloud/api/v1/plans/{planId}/comments/{commentId}" \
  -H "Authorization: Bearer $XISUITE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"content":"…"}'

Delete a plan comment (author only)#

DELETE/plans/{planId}/comments/{commentId}Token

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–
commentIdPflichtPfadstring–

Antworten

  • 200OK
Beispiel (cURL)
curl -X DELETE "https://xapi.ambertech.cloud/api/v1/plans/{planId}/comments/{commentId}" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

List Gantt dependencies#

GET/plans/{planId}/dependenciesToken

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–

Antworten

  • 200OK
Beispiel (cURL)
curl -X GET "https://xapi.ambertech.cloud/api/v1/plans/{planId}/dependencies" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

Add a dependency between plan items#

POST/plans/{planId}/dependenciesToken

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–

Request-Bodyapplication/jsonCreatePlanDependencyDto

NameTypBeschreibung
plan_idstring

Legacy body field accepted for compatibility; route param wins.

predecessor_idPflichtstring

Predecessor task ID

successor_idPflichtstring

Successor task ID

dependency_typestring

Werte: finish_to_startstart_to_startfinish_to_finishstart_to_finish

Standard: "finish_to_start"

lag_daysnumber

Lag in days (negative = lead)

Antworten

  • 201Erstellt
Beispiel (cURL)
curl -X POST "https://xapi.ambertech.cloud/api/v1/plans/{planId}/dependencies" \
  -H "Authorization: Bearer $XISUITE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"predecessor_id":"…","successor_id":"…"}'

Remove a dependency#

DELETE/plans/{planId}/dependencies/{depId}Token

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–
depIdPflichtPfadstring–

Antworten

  • 200OK
Beispiel (cURL)
curl -X DELETE "https://xapi.ambertech.cloud/api/v1/plans/{planId}/dependencies/{depId}" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

Get Gantt view data#

GET/plans/{planId}/ganttToken

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–

Antworten

  • 200OK
Beispiel (cURL)
curl -X GET "https://xapi.ambertech.cloud/api/v1/plans/{planId}/gantt" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

Generate AI plan preview from prompt#

POST/plans/{planId}/generateToken

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–

Request-Bodyapplication/jsonGeneratePlanDto

NameTypBeschreibung
promptPflichtstring

Natural language prompt describing the project plan (10-50000 chars)

Antworten

  • 201Erstellt
Beispiel (cURL)
curl -X POST "https://xapi.ambertech.cloud/api/v1/plans/{planId}/generate" \
  -H "Authorization: Bearer $XISUITE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"prompt":"…"}'

Materialize AI-generated plan (execute generation)#

POST/plans/{planId}/generate/executeToken

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–

Request-Bodyapplication/jsonExecutePlanDto

NameTypBeschreibung
generation_idPflichtstring

ID of the plan_ai_generations record to execute

Antworten

  • 201Erstellt
Beispiel (cURL)
curl -X POST "https://xapi.ambertech.cloud/api/v1/plans/{planId}/generate/execute" \
  -H "Authorization: Bearer $XISUITE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"generation_id":"…"}'

List all items in a plan#

GET/plans/{planId}/itemsToken

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–

Antworten

  • 200OK
Beispiel (cURL)
curl -X GET "https://xapi.ambertech.cloud/api/v1/plans/{planId}/items" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

Add item to plan#

POST/plans/{planId}/itemsToken

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–

Request-Bodyapplication/jsonCreatePlanItemDto

NameTypBeschreibung
plan_idstring

Legacy body field accepted for compatibility; route param wins.

namePflichtstring–
descriptionstring–
item_typestring

Werte: phasework_packagetaskmilestone

Standard: "task"

parent_idstring–
start_datestring–
end_datestring–
duration_daysnumber

Duration in days

prioritystring

Werte: highesthighmediumlowlowest

assigned_tostring–
estimated_hoursnumber–
estimated_costnumber–
colorstring–
sort_ordernumber–
progressnumber

Progress percentage 0-100

linked_task_idstring

Link existing task instead of creating new

task_type_idstring

Task type ID from task_hierarchy_configurations

Antworten

  • 201Erstellt
Beispiel (cURL)
curl -X POST "https://xapi.ambertech.cloud/api/v1/plans/{planId}/items" \
  -H "Authorization: Bearer $XISUITE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"…"}'

Get a single plan item#

GET/plans/{planId}/items/{itemId}Token

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–
itemIdPflichtPfadstring–

Antworten

  • 200OK
Beispiel (cURL)
curl -X GET "https://xapi.ambertech.cloud/api/v1/plans/{planId}/items/{itemId}" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

Update a plan item#

PATCH/plans/{planId}/items/{itemId}Token

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–
itemIdPflichtPfadstring–

Request-Bodyapplication/jsonUpdatePlanItemDto

NameTypBeschreibung
idstring

Legacy body field accepted for compatibility; route param wins.

plan_idstring

Legacy body field accepted for compatibility; route param wins.

namestring–
descriptionstring–
item_typestring

Werte: phasework_packagetaskmilestone

start_datestring–
end_datestring–
duration_daysnumber–
prioritystring

Werte: highesthighmediumlowlowest

assigned_tostring–
estimated_hoursnumber–
actual_hoursnumber–
estimated_costnumber–
actual_costnumber–
colorstring–
sort_ordernumber–
is_critical_pathboolean–
progressnumber–
statusstring–
parent_idobject

Parent task ID; send null to unset parent

task_type_idstring

Task type ID from task_hierarchy_configurations

linked_task_idstring

Accepted for compatibility; ignored on update (used on create only)

Antworten

  • 200OK
Beispiel (cURL)
curl -X PATCH "https://xapi.ambertech.cloud/api/v1/plans/{planId}/items/{itemId}" \
  -H "Authorization: Bearer $XISUITE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"id":"…","plan_id":"…","name":"…"}'

Remove item from plan#

DELETE/plans/{planId}/items/{itemId}Token

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–
itemIdPflichtPfadstring–

Antworten

  • 200OK
Beispiel (cURL)
curl -X DELETE "https://xapi.ambertech.cloud/api/v1/plans/{planId}/items/{itemId}" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

Move plan item to new parent#

POST/plans/{planId}/items/{itemId}/moveToken

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–
itemIdPflichtPfadstring–

Request-Bodyapplication/jsonMovePlanItemDto

NameTypBeschreibung
task_idstring

Legacy body field accepted for compatibility; route param wins.

new_parent_idPflichtobject

New parent item ID; pass null to move to root level

sort_ordernumber

New sort order position

Antworten

  • 201Erstellt
Beispiel (cURL)
curl -X POST "https://xapi.ambertech.cloud/api/v1/plans/{planId}/items/{itemId}/move" \
  -H "Authorization: Bearer $XISUITE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"new_parent_id":{}}'

Bulk reorder plan items#

PUT/plans/{planId}/items/reorderToken

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–

Request-Bodyapplication/jsonReorderPlanItemsDto

NameTypBeschreibung
itemsPflichtReorderItemEntry[]–
items[].idstring

Legacy alias for task_id. task.id, not plan_tasks.id.

items[].task_idPflichtstring

task.id (not plan_tasks.id)

items[].sort_orderPflichtnumber–
items[].parent_task_idobject

New parent task ID (optional reparent)

items[].parent_idobject

Legacy alias for parent_task_id.

Antworten

  • 200OK
Beispiel (cURL)
curl -X PUT "https://xapi.ambertech.cloud/api/v1/plans/{planId}/items/reorder" \
  -H "Authorization: Bearer $XISUITE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"items":[]}'

List plan permissions#

GET/plans/{planId}/permissionsToken

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–

Antworten

  • 200OK
Beispiel (cURL)
curl -X GET "https://xapi.ambertech.cloud/api/v1/plans/{planId}/permissions" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

Grant permission on a plan#

POST/plans/{planId}/permissionsToken

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–

Request-Bodyapplication/jsonCreatePlanPermissionDto

NameTypBeschreibung
plan_idstring

Legacy body field accepted for compatibility; route param wins.

user_idPflichtstring–
permission_levelstring

Werte: vieweditadmin

Standard: "view"

Antworten

  • 201Erstellt
Beispiel (cURL)
curl -X POST "https://xapi.ambertech.cloud/api/v1/plans/{planId}/permissions" \
  -H "Authorization: Bearer $XISUITE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"user_id":"…"}'

Update plan permission level#

PATCH/plans/{planId}/permissions/{permissionId}Token

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–
permissionIdPflichtPfadstring–

Request-Bodyapplication/jsonUpdatePlanPermissionDto

NameTypBeschreibung
idstring

Legacy body field accepted for compatibility; route param wins.

permission_levelPflichtstring

Werte: vieweditadmin

Antworten

  • 200OK
Beispiel (cURL)
curl -X PATCH "https://xapi.ambertech.cloud/api/v1/plans/{planId}/permissions/{permissionId}" \
  -H "Authorization: Bearer $XISUITE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"permission_level":"view"}'

Revoke plan permission#

DELETE/plans/{planId}/permissions/{permissionId}Token

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–
permissionIdPflichtPfadstring–

Antworten

  • 200OK
Beispiel (cURL)
curl -X DELETE "https://xapi.ambertech.cloud/api/v1/plans/{planId}/permissions/{permissionId}" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

Set manual RAG health for a plan#

POST/plans/{planId}/ragToken

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–

Request-Bodyapplication/jsonSetRagDto

NameTypBeschreibung
rag_statusPflichtstring

Werte: greenamberred

Antworten

  • 201Manual RAG override persisted.
  • 400Invalid RAG payload.
  • 403User cannot edit this plan.
Beispiel (cURL)
curl -X POST "https://xapi.ambertech.cloud/api/v1/plans/{planId}/rag" \
  -H "Authorization: Bearer $XISUITE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"rag_status":"green"}'

Clear manual RAG health for a plan#

DELETE/plans/{planId}/ragToken

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–

Antworten

  • 200Manual RAG override cleared and computed RAG returned.
  • 403User cannot edit this plan.
Beispiel (cURL)
curl -X DELETE "https://xapi.ambertech.cloud/api/v1/plans/{planId}/rag" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

Refresh filter-driven plan#

POST/plans/{planId}/refreshToken

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–

Antworten

  • 201Erstellt
Beispiel (cURL)
curl -X POST "https://xapi.ambertech.cloud/api/v1/plans/{planId}/refresh" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

List plan risks#

GET/plans/{planId}/risksToken

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–
risk_typeQuerystring–
is_blockerQuerystring

Filter by blocker flag. Pass true to return only blockers, false to exclude them.

Antworten

  • 200OK
Beispiel (cURL)
curl -X GET "https://xapi.ambertech.cloud/api/v1/plans/{planId}/risks" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

Add risk to plan#

POST/plans/{planId}/risksToken

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–

Request-Bodyapplication/jsonCreatePlanRiskDto

NameTypBeschreibung
plan_idstring

Legacy body field accepted for compatibility; route param wins.

namePflichtstring–
descriptionstring–
risk_typestring

Werte: riskopportunity

Standard: "risk"

categorystring

Category (e.g. Technical, Schedule, Budget)

probabilitynumber

Probability 1-5

Standard: 3

impactnumber

Impact 1-5

Standard: 3

expected_valuenumber–
statusstring

Werte: identifiedanalyzingmitigatingacceptedresolvedoccurred

Standard: "identified"

mitigation_strategystring–
contingency_planstring–
owner_idstring–
task_idstring

Associated task ID

response_datestring–
is_blockerboolean

When true, the risk is a blocker (rendered under Blockers on portfolio letters and badged on the plan risk register).

Standard: false

Antworten

  • 201Erstellt
Beispiel (cURL)
curl -X POST "https://xapi.ambertech.cloud/api/v1/plans/{planId}/risks" \
  -H "Authorization: Bearer $XISUITE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"…"}'

Update a risk#

PATCH/plans/{planId}/risks/{riskId}Token

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–
riskIdPflichtPfadstring–

Request-Bodyapplication/jsonUpdatePlanRiskDto

NameTypBeschreibung
idstring

Legacy body field accepted for compatibility; route param wins.

plan_idstring

Legacy body field accepted for compatibility; route param wins.

namestring–
descriptionstring–
risk_typestring

Werte: riskopportunity

categorystring–
probabilitynumber–
impactnumber–
expected_valuenumber–
statusstring

Werte: identifiedanalyzingmitigatingacceptedresolvedoccurred

mitigation_strategystring–
contingency_planstring–
owner_idstring–
task_idstring–
response_datestring–
is_blockerboolean

Toggle the blocker flag on an existing plan risk.

Antworten

  • 200OK
Beispiel (cURL)
curl -X PATCH "https://xapi.ambertech.cloud/api/v1/plans/{planId}/risks/{riskId}" \
  -H "Authorization: Bearer $XISUITE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"id":"…","plan_id":"…","name":"…"}'

Delete a risk#

DELETE/plans/{planId}/risks/{riskId}Token

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–
riskIdPflichtPfadstring–

Antworten

  • 200OK
Beispiel (cURL)
curl -X DELETE "https://xapi.ambertech.cloud/api/v1/plans/{planId}/risks/{riskId}" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

Risk matrix view#

GET/plans/{planId}/risks/matrixToken

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–

Antworten

  • 200OK
Beispiel (cURL)
curl -X GET "https://xapi.ambertech.cloud/api/v1/plans/{planId}/risks/matrix" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

Risk register (5x5 matrix)#

GET/plans/{planId}/risks/registerToken

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–

Antworten

  • 200OK
Beispiel (cURL)
curl -X GET "https://xapi.ambertech.cloud/api/v1/plans/{planId}/risks/register" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

List plan stakeholders#

GET/plans/{planId}/stakeholdersToken

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–

Antworten

  • 200OK
Beispiel (cURL)
curl -X GET "https://xapi.ambertech.cloud/api/v1/plans/{planId}/stakeholders" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

Add stakeholder to plan#

POST/plans/{planId}/stakeholdersToken

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–

Request-Bodyapplication/jsonCreatePlanStakeholderDto

NameTypBeschreibung
plan_idstring

Legacy body field accepted for compatibility; route param wins.

namePflichtstring–
rolestring–
emailstring–
user_idstring–
organization_namestring–
power_levelnumber

Power/influence level 1-10

Standard: 5

interest_levelnumber

Interest level 1-10

Standard: 5

attitudestring

Werte: supportiveneutralresistant

engagement_strategystring–
notesstring–

Antworten

  • 201Erstellt
Beispiel (cURL)
curl -X POST "https://xapi.ambertech.cloud/api/v1/plans/{planId}/stakeholders" \
  -H "Authorization: Bearer $XISUITE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"…"}'

Update a stakeholder#

PATCH/plans/{planId}/stakeholders/{stakeholderId}Token

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–
stakeholderIdPflichtPfadstring–

Request-Bodyapplication/jsonUpdatePlanStakeholderDto

NameTypBeschreibung
idstring

Legacy body field accepted for compatibility; route param wins.

plan_idstring

Legacy body field accepted for compatibility; route param wins.

namestring–
rolestring–
emailstring–
user_idstring–
organization_namestring–
power_levelnumber–
interest_levelnumber–
attitudestring

Werte: supportiveneutralresistant

engagement_strategystring–
notesstring–

Antworten

  • 200OK
Beispiel (cURL)
curl -X PATCH "https://xapi.ambertech.cloud/api/v1/plans/{planId}/stakeholders/{stakeholderId}" \
  -H "Authorization: Bearer $XISUITE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"id":"…","plan_id":"…","name":"…"}'

Delete a stakeholder#

DELETE/plans/{planId}/stakeholders/{stakeholderId}Token

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–
stakeholderIdPflichtPfadstring–

Antworten

  • 200OK
Beispiel (cURL)
curl -X DELETE "https://xapi.ambertech.cloud/api/v1/plans/{planId}/stakeholders/{stakeholderId}" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

Stakeholder power/interest matrix#

GET/plans/{planId}/stakeholders/matrixToken

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–

Antworten

  • 200OK
Beispiel (cURL)
curl -X GET "https://xapi.ambertech.cloud/api/v1/plans/{planId}/stakeholders/matrix" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

Get WBS tree view#

GET/plans/{planId}/wbsToken

Parameter

NameOrtTypBeschreibung
planIdPflichtPfadstring–

Antworten

  • 200OK
Beispiel (cURL)
curl -X GET "https://xapi.ambertech.cloud/api/v1/plans/{planId}/wbs" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

Get one accessible plan by UUID or plan key#

GET/plans/mine/{planIdOrKey}Token

Resolves a plan by UUID or org-scoped plan key and returns a whitelisted detail (metadata + item/risk/stakeholder counts — no items, no baseline, no financials) only when the caller can view it (org admin/owner, member space with view_plans, or a per-plan permission grant). Cross-org, non-member, permission-denied, ambiguous-key, and nonexistent all return an IDENTICAL 404 (anti-probing). Archived plans are returned flagged. Backs the MCP plan.get tool.

Parameter

NameOrtTypBeschreibung
planIdOrKeyPflichtPfadstring

Plan UUID or plan key

Antworten

  • 200Accessible plan returned
  • 401Not authenticated
  • 404Plan not found or not accessible
Beispiel (cURL)
curl -X GET "https://xapi.ambertech.cloud/api/v1/plans/mine/{planIdOrKey}" \
  -H "Authorization: Bearer $XISUITE_TOKEN"
GET/plans/mine/searchToken

Name search over plans the authenticated caller can read in their active organization — member spaces with view_plans (or org admin/owner) plus per-plan permission grants. Never cross-org, never a non-member space plan without an explicit grant. Archived plans are excluded unless includeArchived=true. An absent query lists all accessible plans. Backs the MCP plan.search tool.

Parameter

NameOrtTypBeschreibung
qQuerystring–
spaceIdOrKeyQuerystring–
statusQuerystring–
ownerIdQuerystring–
includeArchivedQueryboolean–
limitQuerynumber–
cursorQuerystring–

Antworten

  • 200Accessible plans returned
  • 401Not authenticated
Beispiel (cURL)
curl -X GET "https://xapi.ambertech.cloud/api/v1/plans/mine/search" \
  -H "Authorization: Bearer $XISUITE_TOKEN"
Stand: 25. Oktober 2026© 2026 XISUITE · AmberTech Solutions