curl
curl -sS -X POST "https://gateway.orbit/api/v1/instances/register" \
--cacert /path/to/orbit-root-ca.pem \
-H 'Accept: application/json' \
-H 'X-Orbit-Request-Id: 9d6b1e5c-4a3f-4a1b-9f0e-6d2c3f5a7b81' \
-H 'Content-Type: application/json' \
-d '{"source_path": "/srv/orbit/apps/acme/main"}'{
"data": {
"project": {
"id": 123,
"name": "<string>",
"slug": "<string>",
"code": "<string>",
"type": "monorepo",
"repository_url": "<string>",
"source_access": "github_app",
"default_branch": "<string>",
"root": "<string>",
"task_check": "<string>",
"task_workspace_routed": true,
"review_and_merge": true,
"merge_check": "<string>"
},
"instance": {
"id": 123,
"project_id": 123,
"node_id": 123,
"project": {
"id": 123,
"name": "<string>",
"slug": "<string>",
"type": "monorepo"
},
"node": {
"id": 123,
"name": "<string>"
},
"name": "<string>",
"source_layout": "<string>",
"checkout_path": "<string>",
"production_user": "<string>",
"production_home": "<string>",
"root": "<string>",
"effective_root": "<string>",
"selected_branch": "<string>",
"branch_override": "<string>",
"starting_commit": "<string>",
"detached": true,
"status": "<string>",
"route": {
"id": 123,
"kind": "<string>",
"project_id": 123,
"node_id": 123,
"cluster_id": 123,
"generation_basis_node_id": 123,
"domain": "<string>",
"provenance": "<string>",
"publication": "<string>",
"status": "<string>",
"failed_step": "<string>",
"error_code": "<string>",
"replaces_route_id": 123,
"replaced_by_route_id": 123,
"replacement_step": "<string>",
"target_set_step": "<string>",
"target": {
"id": 123,
"instance_id": 123,
"position": 123
},
"targets": [
{
"id": 123,
"instance_id": 123,
"position": 123
}
],
"process_id": 123,
"upstream": "<string>",
"analytics_instance_id": 123,
"web_root": "<string>"
},
"domain": "<string>",
"url": "<string>",
"removal": {
"operation_id": "<string>",
"id": 123,
"name": "<string>",
"force": true,
"status": "<string>",
"current_step": "<string>",
"total": 123,
"completed": 123,
"remaining": 123,
"failed_step": "<string>",
"error_code": "<string>"
},
"transfer": {
"operation_id": "<string>",
"id": 123,
"source_node_id": 123,
"destination_node_id": 123,
"destination_name": "<string>",
"destination_path": "<string>",
"destination_domain": "<string>",
"sqlite_selected": true,
"status": "<string>",
"current_step": "<string>",
"cutover_completed": true,
"cleanup_completed": true,
"failed_step": "<string>",
"error_code": "<string>",
"recovery_evidence": {}
},
"deploy_steps": [
{
"name": "<string>",
"phase": "<string>",
"command": "<string>",
"timeout_seconds": 123
}
],
"vite_port": 123,
"ssr_port": 123,
"seed_path": "<string>",
"seed_commit": "<string>",
"annotator_port": 123,
"annotator_url": "<string>",
"routes": [
{
"id": 123,
"kind": "<string>",
"project_id": 123,
"node_id": 123,
"cluster_id": 123,
"generation_basis_node_id": 123,
"domain": "<string>",
"provenance": "<string>",
"publication": "<string>",
"status": "<string>",
"failed_step": "<string>",
"error_code": "<string>",
"replaces_route_id": 123,
"replaced_by_route_id": 123,
"replacement_step": "<string>",
"target_set_step": "<string>",
"target": {
"id": 123,
"instance_id": 123,
"position": 123
},
"targets": [
{
"id": 123,
"instance_id": 123,
"position": 123
}
],
"process_id": 123,
"upstream": "<string>",
"analytics_instance_id": 123,
"web_root": "<string>"
}
]
},
"instances": [
{
"id": 123,
"project_id": 123,
"node_id": 123,
"project": {
"id": 123,
"name": "<string>",
"slug": "<string>",
"type": "monorepo"
},
"node": {
"id": 123,
"name": "<string>"
},
"name": "<string>",
"source_layout": "<string>",
"checkout_path": "<string>",
"production_user": "<string>",
"production_home": "<string>",
"root": "<string>",
"effective_root": "<string>",
"selected_branch": "<string>",
"branch_override": "<string>",
"starting_commit": "<string>",
"detached": true,
"status": "<string>",
"route": {
"id": 123,
"kind": "<string>",
"project_id": 123,
"node_id": 123,
"cluster_id": 123,
"generation_basis_node_id": 123,
"domain": "<string>",
"provenance": "<string>",
"publication": "<string>",
"status": "<string>",
"failed_step": "<string>",
"error_code": "<string>",
"replaces_route_id": 123,
"replaced_by_route_id": 123,
"replacement_step": "<string>",
"target_set_step": "<string>",
"target": {
"id": 123,
"instance_id": 123,
"position": 123
},
"targets": [
{
"id": 123,
"instance_id": 123,
"position": 123
}
],
"process_id": 123,
"upstream": "<string>",
"analytics_instance_id": 123,
"web_root": "<string>"
},
"domain": "<string>",
"url": "<string>",
"removal": {
"operation_id": "<string>",
"id": 123,
"name": "<string>",
"force": true,
"status": "<string>",
"current_step": "<string>",
"total": 123,
"completed": 123,
"remaining": 123,
"failed_step": "<string>",
"error_code": "<string>"
},
"transfer": {
"operation_id": "<string>",
"id": 123,
"source_node_id": 123,
"destination_node_id": 123,
"destination_name": "<string>",
"destination_path": "<string>",
"destination_domain": "<string>",
"sqlite_selected": true,
"status": "<string>",
"current_step": "<string>",
"cutover_completed": true,
"cleanup_completed": true,
"failed_step": "<string>",
"error_code": "<string>",
"recovery_evidence": {}
},
"deploy_steps": [
{
"name": "<string>",
"phase": "<string>",
"command": "<string>",
"timeout_seconds": 123
}
],
"vite_port": 123,
"ssr_port": 123,
"seed_path": "<string>",
"seed_commit": "<string>",
"annotator_port": 123,
"annotator_url": "<string>",
"routes": [
{
"id": 123,
"kind": "<string>",
"project_id": 123,
"node_id": 123,
"cluster_id": 123,
"generation_basis_node_id": 123,
"domain": "<string>",
"provenance": "<string>",
"publication": "<string>",
"status": "<string>",
"failed_step": "<string>",
"error_code": "<string>",
"replaces_route_id": 123,
"replaced_by_route_id": 123,
"replacement_step": "<string>",
"target_set_step": "<string>",
"target": {
"id": 123,
"instance_id": 123,
"position": 123
},
"targets": [
{
"id": 123,
"instance_id": 123,
"position": 123
}
],
"process_id": 123,
"upstream": "<string>",
"analytics_instance_id": 123,
"web_root": "<string>"
}
]
}
],
"status": "<string>",
"source_count": 123,
"completed_count": 123
},
"meta": {
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {},
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {},
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {},
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}Instances
Register an Instance
Adopt the current Git source as a managed Instance of an existing Project.
POST
/
api
/
v1
/
instances
/
register
curl
curl -sS -X POST "https://gateway.orbit/api/v1/instances/register" \
--cacert /path/to/orbit-root-ca.pem \
-H 'Accept: application/json' \
-H 'X-Orbit-Request-Id: 9d6b1e5c-4a3f-4a1b-9f0e-6d2c3f5a7b81' \
-H 'Content-Type: application/json' \
-d '{"source_path": "/srv/orbit/apps/acme/main"}'{
"data": {
"project": {
"id": 123,
"name": "<string>",
"slug": "<string>",
"code": "<string>",
"type": "monorepo",
"repository_url": "<string>",
"source_access": "github_app",
"default_branch": "<string>",
"root": "<string>",
"task_check": "<string>",
"task_workspace_routed": true,
"review_and_merge": true,
"merge_check": "<string>"
},
"instance": {
"id": 123,
"project_id": 123,
"node_id": 123,
"project": {
"id": 123,
"name": "<string>",
"slug": "<string>",
"type": "monorepo"
},
"node": {
"id": 123,
"name": "<string>"
},
"name": "<string>",
"source_layout": "<string>",
"checkout_path": "<string>",
"production_user": "<string>",
"production_home": "<string>",
"root": "<string>",
"effective_root": "<string>",
"selected_branch": "<string>",
"branch_override": "<string>",
"starting_commit": "<string>",
"detached": true,
"status": "<string>",
"route": {
"id": 123,
"kind": "<string>",
"project_id": 123,
"node_id": 123,
"cluster_id": 123,
"generation_basis_node_id": 123,
"domain": "<string>",
"provenance": "<string>",
"publication": "<string>",
"status": "<string>",
"failed_step": "<string>",
"error_code": "<string>",
"replaces_route_id": 123,
"replaced_by_route_id": 123,
"replacement_step": "<string>",
"target_set_step": "<string>",
"target": {
"id": 123,
"instance_id": 123,
"position": 123
},
"targets": [
{
"id": 123,
"instance_id": 123,
"position": 123
}
],
"process_id": 123,
"upstream": "<string>",
"analytics_instance_id": 123,
"web_root": "<string>"
},
"domain": "<string>",
"url": "<string>",
"removal": {
"operation_id": "<string>",
"id": 123,
"name": "<string>",
"force": true,
"status": "<string>",
"current_step": "<string>",
"total": 123,
"completed": 123,
"remaining": 123,
"failed_step": "<string>",
"error_code": "<string>"
},
"transfer": {
"operation_id": "<string>",
"id": 123,
"source_node_id": 123,
"destination_node_id": 123,
"destination_name": "<string>",
"destination_path": "<string>",
"destination_domain": "<string>",
"sqlite_selected": true,
"status": "<string>",
"current_step": "<string>",
"cutover_completed": true,
"cleanup_completed": true,
"failed_step": "<string>",
"error_code": "<string>",
"recovery_evidence": {}
},
"deploy_steps": [
{
"name": "<string>",
"phase": "<string>",
"command": "<string>",
"timeout_seconds": 123
}
],
"vite_port": 123,
"ssr_port": 123,
"seed_path": "<string>",
"seed_commit": "<string>",
"annotator_port": 123,
"annotator_url": "<string>",
"routes": [
{
"id": 123,
"kind": "<string>",
"project_id": 123,
"node_id": 123,
"cluster_id": 123,
"generation_basis_node_id": 123,
"domain": "<string>",
"provenance": "<string>",
"publication": "<string>",
"status": "<string>",
"failed_step": "<string>",
"error_code": "<string>",
"replaces_route_id": 123,
"replaced_by_route_id": 123,
"replacement_step": "<string>",
"target_set_step": "<string>",
"target": {
"id": 123,
"instance_id": 123,
"position": 123
},
"targets": [
{
"id": 123,
"instance_id": 123,
"position": 123
}
],
"process_id": 123,
"upstream": "<string>",
"analytics_instance_id": 123,
"web_root": "<string>"
}
]
},
"instances": [
{
"id": 123,
"project_id": 123,
"node_id": 123,
"project": {
"id": 123,
"name": "<string>",
"slug": "<string>",
"type": "monorepo"
},
"node": {
"id": 123,
"name": "<string>"
},
"name": "<string>",
"source_layout": "<string>",
"checkout_path": "<string>",
"production_user": "<string>",
"production_home": "<string>",
"root": "<string>",
"effective_root": "<string>",
"selected_branch": "<string>",
"branch_override": "<string>",
"starting_commit": "<string>",
"detached": true,
"status": "<string>",
"route": {
"id": 123,
"kind": "<string>",
"project_id": 123,
"node_id": 123,
"cluster_id": 123,
"generation_basis_node_id": 123,
"domain": "<string>",
"provenance": "<string>",
"publication": "<string>",
"status": "<string>",
"failed_step": "<string>",
"error_code": "<string>",
"replaces_route_id": 123,
"replaced_by_route_id": 123,
"replacement_step": "<string>",
"target_set_step": "<string>",
"target": {
"id": 123,
"instance_id": 123,
"position": 123
},
"targets": [
{
"id": 123,
"instance_id": 123,
"position": 123
}
],
"process_id": 123,
"upstream": "<string>",
"analytics_instance_id": 123,
"web_root": "<string>"
},
"domain": "<string>",
"url": "<string>",
"removal": {
"operation_id": "<string>",
"id": 123,
"name": "<string>",
"force": true,
"status": "<string>",
"current_step": "<string>",
"total": 123,
"completed": 123,
"remaining": 123,
"failed_step": "<string>",
"error_code": "<string>"
},
"transfer": {
"operation_id": "<string>",
"id": 123,
"source_node_id": 123,
"destination_node_id": 123,
"destination_name": "<string>",
"destination_path": "<string>",
"destination_domain": "<string>",
"sqlite_selected": true,
"status": "<string>",
"current_step": "<string>",
"cutover_completed": true,
"cleanup_completed": true,
"failed_step": "<string>",
"error_code": "<string>",
"recovery_evidence": {}
},
"deploy_steps": [
{
"name": "<string>",
"phase": "<string>",
"command": "<string>",
"timeout_seconds": 123
}
],
"vite_port": 123,
"ssr_port": 123,
"seed_path": "<string>",
"seed_commit": "<string>",
"annotator_port": 123,
"annotator_url": "<string>",
"routes": [
{
"id": 123,
"kind": "<string>",
"project_id": 123,
"node_id": 123,
"cluster_id": 123,
"generation_basis_node_id": 123,
"domain": "<string>",
"provenance": "<string>",
"publication": "<string>",
"status": "<string>",
"failed_step": "<string>",
"error_code": "<string>",
"replaces_route_id": 123,
"replaced_by_route_id": 123,
"replacement_step": "<string>",
"target_set_step": "<string>",
"target": {
"id": 123,
"instance_id": 123,
"position": 123
},
"targets": [
{
"id": 123,
"instance_id": 123,
"position": 123
}
],
"process_id": 123,
"upstream": "<string>",
"analytics_instance_id": 123,
"web_root": "<string>"
}
]
}
],
"status": "<string>",
"source_count": 123,
"completed_count": 123
},
"meta": {
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {},
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {},
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {},
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}Body
application/json
Maximum string length:
4096Pattern:
^\/[^\x00-\x1f]*$(?![\s\S])Adopt the checkout and every linked worktree
Maximum string length:
63Relative web-root override for this Instance
Maximum string length:
255Optional explicit Route domain
Maximum string length:
253Run the Project setup steps after adoption