API reference · Networking / Load balancers
Load balancers
Spread incoming traffic across instances using VPC-native or appliance load balancers.
A load balancer distributes incoming network connections across multiple instances. Pantech supports two kinds of load balancers: vpc_native for instances in a private VPC subnet (using a reserved public IP with purpose load_balancer), and appliance for standard security group zones (with dedicated public IP allocation and HTTP/HTTPS/TCP support). The ports, zone, kind, and network settings are fixed once created; the name, algorithm, and backend targets can change. See the load balancers guide.
The load balancer object
Fields
idstringrequirede.g.
lb_....namestringrequiredzone_idstringrequiredkindstringrequiredOne of
vpc_native,appliance.public_ip_idstringrequiredpublic_ip_addressstring or nullrequiredThe address clients connect to; null until it is known.
network_idstring or nullrequiredsubnet_idstringrequiredprotocolstringrequiredOne of
tcp,http,https.algorithmstringrequiredOne of
roundrobin,leastconn,source.public_portintegerrequiredprivate_portintegerrequiredcidr_listarray of stringrequiredSource addresses allowed to connect; empty is anywhere.
membersarray of LoadBalancerMemberrequiredShow 4 child fieldsHide child fields
instance_idstringrequiredinstance_namestring or nullThe instance's name; null when it is gone.
desired_statestringrequiredpresentwhile it should receive traffic;deletedonce you removed it and that has not finished.One of
present,deleted.observed_statestringrequiredactiveonce it receives traffic.One of
pending,active,deleting,deleted,failed,unknown.
desired_statestringrequiredWhat you asked for:
present, ordeletedonce you deleted it.One of
present,deleted.observed_statestringrequiredactiveonce it serves traffic.One of
pending,provisioning,active,deleting,deleted,failed,unknown.in_syncbooleanrequiredFalse while a change you made has not reached the load balancer yet.
created_atstring or nullrequiredupdated_atstring or nullrequired
List load balancers
Your load balancers, newest first, each with its targets. Deleted and failed ones are left out. Narrow it with network_id or public_ip_id.
Headers
AuthorizationstringrequiredBearerand your API key:Bearer PAN_….
Query parameters
network_idstringOnly load balancers in this private network (
net_…).public_ip_idstringOnly load balancers on this public IP (
pip_…).
Response 200
The load balancers.dataarray of LoadBalancerrequiredShow 19 child fieldsHide child fields
idstringrequirede.g.
lb_....namestringrequiredzone_idstringrequiredkindstringrequiredOne of
vpc_native,appliance.public_ip_idstringrequiredpublic_ip_addressstring or nullrequiredThe address clients connect to; null until it is known.
network_idstring or nullrequiredsubnet_idstringrequiredprotocolstringrequiredOne of
tcp,http,https.algorithmstringrequiredOne of
roundrobin,leastconn,source.public_portintegerrequiredprivate_portintegerrequiredcidr_listarray of stringrequiredSource addresses allowed to connect; empty is anywhere.
membersarray of LoadBalancerMemberrequiredShow 4 child fieldsHide child fields
instance_idstringrequiredinstance_namestring or nullThe instance's name; null when it is gone.
desired_statestringrequiredpresentwhile it should receive traffic;deletedonce you removed it and that has not finished.One of
present,deleted.observed_statestringrequiredactiveonce it receives traffic.One of
pending,active,deleting,deleted,failed,unknown.
desired_statestringrequiredWhat you asked for:
present, ordeletedonce you deleted it.One of
present,deleted.observed_statestringrequiredactiveonce it serves traffic.One of
pending,provisioning,active,deleting,deleted,failed,unknown.in_syncbooleanrequiredFalse while a change you made has not reached the load balancer yet.
created_atstring or nullrequiredupdated_atstring or nullrequired
next_cursorstring or nullrequiredAlways null: this list is returned whole.
Errors
- 401
UNAUTHENTICATED: the request has no API key, or the key is mistyped, revoked or expired, or its creator has left the organization. SendAuthorization: Bearer PAN_…with a valid key; create one in the console under Organization › API keys. - 403
INSUFFICIENT_SCOPE: the API key lacks the scope this endpoint needs (readfor GET,writefor changes; an AI app's key also needsdeletefor a destructive call). Use a key with that scope, or reconnect the AI app with "Manage and delete" access.FORBIDDEN: the member who created the key may not do this in the organization. Use a key created by an owner or admin.AI_APPS_DISABLED: the organization has turned AI app access off, and this request was made with an AI app's key or sent by Pantech's MCP server (Pantech-Client: mcp/…). An owner can turn it on in the console under Organization › AI apps. - 404
NOT_FOUND: load balancers are not offered on this platform yet. - 429
RATE_LIMITED: this API key, verified user or organization used its request budget for the current window, or this address exceeded an IP/failed-auth limit. WaitRetry-Afterseconds, then retry. For authenticated quota denials,RateLimit-Scopeidentifies the denying quota andRateLimit-Resetreports its remaining window in seconds. - 503
SERVICE_UNAVAILABLE: request quota storage is unavailable. Wait a few seconds, then retry.
Every code is explained in Errors.
curl "https://api.pantechdynamics.com/public/v1/load-balancers" \
-H "Authorization: Bearer $PANTECH_API_KEY"{
"data": [
{
"id": "lb_06gk3x9tq7m2v8r4y1c5d0zp8w",
"name": "web",
"zone_id": "af-abj-2",
"kind": "vpc_native",
"public_ip_id": "pip_06gk3x9tq7m2v8r4y1c5d0zp8w",
"public_ip_address": "102.211.122.80",
"network_id": "net_06gk3x9tq7m2v8r4y1c5d0zp8w",
"subnet_id": "snet_06gk3x9tq7m2v8r4y1c5d0zp8w",
"protocol": "tcp",
"algorithm": "roundrobin",
"public_port": 443,
"private_port": 8443,
"cidr_list": [],
"members": [
{
"instance_id": "vm_06gk3x9tq7m2v8r4y1c5d0zp8w",
"instance_name": "web-1",
"desired_state": "present",
"observed_state": "active"
}
],
"desired_state": "present",
"observed_state": "active",
"in_sync": true,
"created_at": "2026-10-03T09:30:00Z",
"updated_at": "2026-10-03T09:30:00Z"
}
],
"next_cursor": null
}Create a load balancer
Spreads one TCP port of a load_balancer public IP across instances in one subnet of that IP's private network (VPC). The public IP must be active and have purpose load_balancer; one public IP can carry several load balancers, one per public port. private_port defaults to public_port, and algorithm to roundrobin. cidr_list limits which source addresses may connect (default: anywhere). The subnet's firewall rules must allow the port.
Returns 202 Accepted with an operation_id (also in the Location header). The change happens in the background: poll GET /public/v1/operations/{operation_id}, or stream /events, until status is succeeded or failed; a failed operation carries a stable failure.code and a readable failure.reason.
Send an Idempotency-Key. A retry with the same key returns the original operation instead of making the change twice. The load balancer's id is the operation's resource_id.
Headers
AuthorizationstringrequiredBearerand your API key:Bearer PAN_….Idempotency-KeystringrequiredA new value, such as a UUID, for each change. Resend with the same value to retry safely.
At most 255 characters.
Body
application/jsonnamestringrequired1 to 63 characters.
zone_idstringThe zone to place the load balancer in.
kindstringvpc_native(a VPC zone: needspublic_ip_idandsubnet_id) orappliance(a standard zone: needszone_id; a load balancer VM with its own public address, billed as that VM). Left out, it isvpc_nativewhensubnet_idis given andappliancewhen onlyzone_idis. Anything else is422 INVALID_LOAD_BALANCER_KIND; an appliance in a zone that does not offer one fails its operation withLOAD_BALANCER_APPLIANCE_UNAVAILABLE.One of
vpc_native,appliance.public_ip_idstringAn active public IP with
purposeload_balancer(required forvpc_native).subnet_idstringA subnet of the public IP's private network. Every target must be in it (required for
vpc_native).algorithmstringroundrobintakes turns,leastconnpicks the target with the fewest connections,sourcekeeps a client on one target.One of
roundrobin,leastconn,source. Defaults toroundrobin.public_portintegerrequiredThe TCP port clients connect to, 1 to 65535.
private_portintegerThe port on each target. Defaults to
public_port.cidr_listarray of stringSource addresses allowed to connect, as IPv4 CIDRs (at most 20). Leave out for anywhere.
instance_idsarray of stringInstances to spread traffic across (at most 50). You can add them later.
Response 202
Accepted. Followoperation_id until it finishes.operation_idstringrequiredThe operation carrying out the change. Poll
GET /public/v1/operations/{operation_id}(also theLocationheader) untilstatusissucceededorfailed.resource_idstringrequiredThe resource being created or changed, e.g. the new snapshot's id for a snapshot create.
statusstringrequiredThe operation's status when the request was accepted, usually
submitting. Followoperation_idfor the outcome.
Errors
- 400
IDEMPOTENCY_KEY_REQUIRED: theIdempotency-Keyheader is missing. Send a new unique value, such as a UUID, with every write.INVALID_IDEMPOTENCY_KEY: theIdempotency-Keyheader is longer than 255 characters. Use a shorter value.INVALID_REQUEST_BODY: the body is not a single valid JSON object. Send one JSON object with the fields documented for this endpoint. - 401
UNAUTHENTICATED: the request has no API key, or the key is mistyped, revoked or expired, or its creator has left the organization. SendAuthorization: Bearer PAN_…with a valid key; create one in the console under Organization › API keys. - 403
INSUFFICIENT_SCOPE: the API key lacks the scope this endpoint needs (readfor GET,writefor changes; an AI app's key also needsdeletefor a destructive call). Use a key with that scope, or reconnect the AI app with "Manage and delete" access.FORBIDDEN: the member who created the key may not do this in the organization. Use a key created by an owner or admin.AI_APPS_DISABLED: the organization has turned AI app access off, and this request was made with an AI app's key or sent by Pantech's MCP server (Pantech-Client: mcp/…). An owner can turn it on in the console under Organization › AI apps. - 404
RESOURCE_NOT_FOUND: the public IP, subnet or an instance does not exist in your organization. Check the ids.NOT_FOUND: load balancers are not offered on this platform yet. - 409
PUBLIC_IP_NOT_FOR_LOAD_BALANCER: use an active public IP withpurposeload_balancer.PORT_IN_USE: another load balancer on this public IP already uses this port. Choose another port, or delete that load balancer.CONCURRENT_UPDATE: the resource changed while this request was being processed. Retry the request; if it repeats, read the resource first. - 413
REQUEST_TOO_LARGE: the body is larger than 64 KiB. Send a smaller request. - 422
VALIDATION_FAILED: a field is invalid. Each entry oferrorsnames thefieldand itscode:name,public_ip_id,subnet_idorpublic_portREQUIRED: send them.public_portINVALID_LOAD_BALANCER:name1 to 63 characters,algorithmroundrobin,leastconnorsource, ports 1 to 65535, and at most 20 IPv4 CIDRs incidr_list.subnet_idSUBNET_NOT_IN_NETWORK: the subnet is not in the public IP's private network.instance_idsINSTANCE_NOT_IN_SUBNET: every instance must be in the load balancer's subnet.instance_idsTOO_MANY: at most 50 instances.UNKNOWN_FIELD: the body has a field this endpoint does not take (named infield). Remove it or fix its spelling. - 429
RATE_LIMITED: this API key, verified user or organization used its request budget for the current window, or this address exceeded an IP/failed-auth limit. WaitRetry-Afterseconds, then retry. For authenticated quota denials,RateLimit-Scopeidentifies the denying quota andRateLimit-Resetreports its remaining window in seconds. - 503
SERVICE_UNAVAILABLE: request quota storage is unavailable. Wait a few seconds, then retry.PROVISIONING_UNAVAILABLE: the provisioning service is temporarily unavailable. Wait a few seconds, then retry with the sameIdempotency-Key.
Every code is explained in Errors.
curl -X POST "https://api.pantechdynamics.com/public/v1/load-balancers" \
-H "Authorization: Bearer $PANTECH_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"name": "web",
"public_port": 443,
"private_port": 8443,
"instance_ids": [
"vm_06gk3x9tq7m2v8r4y1c5d0zp8w"
]
}'{
"operation_id": "op_06gk3x9tq7m2v8r4y1c5d0zp8w",
"resource_id": "lb_06gk3x9tq7m2v8r4y1c5d0zp8w",
"status": "submitting"
}Get a load balancer
One load balancer, with its targets. in_sync is false while a change you made has not reached it yet.
Headers
AuthorizationstringrequiredBearerand your API key:Bearer PAN_….
Path parameters
load_balancer_idstringrequiredThe load balancer's id (
lb_…).
Response 200
The load balancer.idstringrequirede.g.
lb_....namestringrequiredzone_idstringrequiredkindstringrequiredOne of
vpc_native,appliance.public_ip_idstringrequiredpublic_ip_addressstring or nullrequiredThe address clients connect to; null until it is known.
network_idstring or nullrequiredsubnet_idstringrequiredprotocolstringrequiredOne of
tcp,http,https.algorithmstringrequiredOne of
roundrobin,leastconn,source.public_portintegerrequiredprivate_portintegerrequiredcidr_listarray of stringrequiredSource addresses allowed to connect; empty is anywhere.
membersarray of LoadBalancerMemberrequiredShow 4 child fieldsHide child fields
instance_idstringrequiredinstance_namestring or nullThe instance's name; null when it is gone.
desired_statestringrequiredpresentwhile it should receive traffic;deletedonce you removed it and that has not finished.One of
present,deleted.observed_statestringrequiredactiveonce it receives traffic.One of
pending,active,deleting,deleted,failed,unknown.
desired_statestringrequiredWhat you asked for:
present, ordeletedonce you deleted it.One of
present,deleted.observed_statestringrequiredactiveonce it serves traffic.One of
pending,provisioning,active,deleting,deleted,failed,unknown.in_syncbooleanrequiredFalse while a change you made has not reached the load balancer yet.
created_atstring or nullrequiredupdated_atstring or nullrequired
Errors
- 401
UNAUTHENTICATED: the request has no API key, or the key is mistyped, revoked or expired, or its creator has left the organization. SendAuthorization: Bearer PAN_…with a valid key; create one in the console under Organization › API keys. - 403
INSUFFICIENT_SCOPE: the API key lacks the scope this endpoint needs (readfor GET,writefor changes; an AI app's key also needsdeletefor a destructive call). Use a key with that scope, or reconnect the AI app with "Manage and delete" access.FORBIDDEN: the member who created the key may not do this in the organization. Use a key created by an owner or admin.AI_APPS_DISABLED: the organization has turned AI app access off, and this request was made with an AI app's key or sent by Pantech's MCP server (Pantech-Client: mcp/…). An owner can turn it on in the console under Organization › AI apps. - 404
RESOURCE_NOT_FOUND: no load balancer with this id in your organization, or the id is not a load balancer id (lb_…). Check the id.NOT_FOUND: load balancers are not offered on this platform yet. - 429
RATE_LIMITED: this API key, verified user or organization used its request budget for the current window, or this address exceeded an IP/failed-auth limit. WaitRetry-Afterseconds, then retry. For authenticated quota denials,RateLimit-Scopeidentifies the denying quota andRateLimit-Resetreports its remaining window in seconds. - 503
SERVICE_UNAVAILABLE: request quota storage is unavailable. Wait a few seconds, then retry.
Every code is explained in Errors.
curl "https://api.pantechdynamics.com/public/v1/load-balancers/lb_06gk3x9tq7m2v8r4y1c5d0zp8w" \
-H "Authorization: Bearer $PANTECH_API_KEY"{
"id": "lb_06gk3x9tq7m2v8r4y1c5d0zp8w",
"name": "web",
"zone_id": "af-abj-2",
"kind": "vpc_native",
"public_ip_id": "pip_06gk3x9tq7m2v8r4y1c5d0zp8w",
"public_ip_address": "102.211.122.80",
"network_id": "net_06gk3x9tq7m2v8r4y1c5d0zp8w",
"subnet_id": "snet_06gk3x9tq7m2v8r4y1c5d0zp8w",
"protocol": "tcp",
"algorithm": "roundrobin",
"public_port": 443,
"private_port": 8443,
"cidr_list": [],
"members": [
{
"instance_id": "vm_06gk3x9tq7m2v8r4y1c5d0zp8w",
"instance_name": "web-1",
"desired_state": "present",
"observed_state": "active"
}
],
"desired_state": "present",
"observed_state": "active",
"in_sync": true,
"created_at": "2026-10-03T09:30:00Z",
"updated_at": "2026-10-03T09:30:00Z"
}Change a load balancer
Renames it, changes its algorithm, or replaces its targets: instance_ids, when sent (even empty), is the whole new set. Fields you leave out stay as they are. The ports, the public IP, the subnet and cidr_list cannot change: create a new load balancer for those. A change that changes nothing returns an empty operation_id.
Returns 202 Accepted with an operation_id (also in the Location header). The change happens in the background: poll GET /public/v1/operations/{operation_id}, or stream /events, until status is succeeded or failed; a failed operation carries a stable failure.code and a readable failure.reason.
Send an Idempotency-Key. A retry with the same key returns the original operation instead of making the change twice.
Headers
AuthorizationstringrequiredBearerand your API key:Bearer PAN_….Idempotency-KeystringrequiredA new value, such as a UUID, for each change. Resend with the same value to retry safely.
At most 255 characters.
Path parameters
load_balancer_idstringrequiredThe load balancer's id (
lb_…).
Body
application/jsonnamestringA new name, 1 to 63 characters.
algorithmstringOne of
roundrobin,leastconn,source.instance_idsarray of stringThe whole new set of targets (at most 50). Send
[]to remove them all.
Response 202
Accepted. Followoperation_id until it finishes.operation_idstringrequiredThe operation carrying out the change. Poll
GET /public/v1/operations/{operation_id}(also theLocationheader) untilstatusissucceededorfailed.resource_idstringrequiredThe resource being created or changed, e.g. the new snapshot's id for a snapshot create.
statusstringrequiredThe operation's status when the request was accepted, usually
submitting. Followoperation_idfor the outcome.
Errors
- 400
IDEMPOTENCY_KEY_REQUIRED: theIdempotency-Keyheader is missing. Send a new unique value, such as a UUID, with every write.INVALID_IDEMPOTENCY_KEY: theIdempotency-Keyheader is longer than 255 characters. Use a shorter value.INVALID_REQUEST_BODY: the body is not a single valid JSON object. Send one JSON object with the fields documented for this endpoint. - 401
UNAUTHENTICATED: the request has no API key, or the key is mistyped, revoked or expired, or its creator has left the organization. SendAuthorization: Bearer PAN_…with a valid key; create one in the console under Organization › API keys. - 403
INSUFFICIENT_SCOPE: the API key lacks the scope this endpoint needs (readfor GET,writefor changes; an AI app's key also needsdeletefor a destructive call). Use a key with that scope, or reconnect the AI app with "Manage and delete" access.FORBIDDEN: the member who created the key may not do this in the organization. Use a key created by an owner or admin.AI_APPS_DISABLED: the organization has turned AI app access off, and this request was made with an AI app's key or sent by Pantech's MCP server (Pantech-Client: mcp/…). An owner can turn it on in the console under Organization › AI apps. - 404
RESOURCE_NOT_FOUND: no load balancer with this id in your organization, or the id is not a load balancer id (lb_…). Check the id.NOT_FOUND: load balancers are not offered on this platform yet. - 409
LOAD_BALANCER_NOT_CHANGEABLE: the load balancer is being deleted or has failed.CONCURRENT_UPDATE: the resource changed while this request was being processed. Retry the request; if it repeats, read the resource first. - 413
REQUEST_TOO_LARGE: the body is larger than 64 KiB. Send a smaller request. - 422
VALIDATION_FAILED: a field is invalid. Each entry oferrorsnames thefieldand itscode:public_portINVALID_LOAD_BALANCER:name1 to 63 characters andalgorithmroundrobin,leastconnorsource.instance_idsINSTANCE_NOT_IN_SUBNET: every instance must be in the load balancer's subnet.instance_idsTOO_MANY: at most 50 instances.UNKNOWN_FIELD: the body has a field this endpoint does not take (named infield). Remove it or fix its spelling. - 429
RATE_LIMITED: this API key, verified user or organization used its request budget for the current window, or this address exceeded an IP/failed-auth limit. WaitRetry-Afterseconds, then retry. For authenticated quota denials,RateLimit-Scopeidentifies the denying quota andRateLimit-Resetreports its remaining window in seconds. - 503
SERVICE_UNAVAILABLE: request quota storage is unavailable. Wait a few seconds, then retry.PROVISIONING_UNAVAILABLE: the provisioning service is temporarily unavailable. Wait a few seconds, then retry with the sameIdempotency-Key.
Every code is explained in Errors.
curl -X PATCH "https://api.pantechdynamics.com/public/v1/load-balancers/lb_06gk3x9tq7m2v8r4y1c5d0zp8w" \
-H "Authorization: Bearer $PANTECH_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"instance_ids": [
"vm_06gk3x9tq7m2v8r4y1c5d0zp8w"
]
}'{
"operation_id": "op_06gk3x9tq7m2v8r4y1c5d0zp8w",
"resource_id": "lb_06gk3x9tq7m2v8r4y1c5d0zp8w",
"status": "submitting"
}Delete a load balancer
Deletes the load balancer. Traffic to its port stops once the operation succeeds; the instances and the public IP are kept.
Returns 202 Accepted with an operation_id (also in the Location header). The change happens in the background: poll GET /public/v1/operations/{operation_id}, or stream /events, until status is succeeded or failed; a failed operation carries a stable failure.code and a readable failure.reason.
Send an Idempotency-Key. A retry with the same key returns the original operation instead of making the change twice.
Scope: write. Destructive: an AI app's key also needs delete.
Headers
AuthorizationstringrequiredBearerand your API key:Bearer PAN_….Idempotency-KeystringrequiredA new value, such as a UUID, for each change. Resend with the same value to retry safely.
At most 255 characters.
Path parameters
load_balancer_idstringrequiredThe load balancer's id (
lb_…).
Response 202
Accepted. Followoperation_id until it finishes.operation_idstringrequiredThe operation carrying out the change. Poll
GET /public/v1/operations/{operation_id}(also theLocationheader) untilstatusissucceededorfailed.resource_idstringrequiredThe resource being created or changed, e.g. the new snapshot's id for a snapshot create.
statusstringrequiredThe operation's status when the request was accepted, usually
submitting. Followoperation_idfor the outcome.
Errors
- 400
IDEMPOTENCY_KEY_REQUIRED: theIdempotency-Keyheader is missing. Send a new unique value, such as a UUID, with every write.INVALID_IDEMPOTENCY_KEY: theIdempotency-Keyheader is longer than 255 characters. Use a shorter value. - 401
UNAUTHENTICATED: the request has no API key, or the key is mistyped, revoked or expired, or its creator has left the organization. SendAuthorization: Bearer PAN_…with a valid key; create one in the console under Organization › API keys. - 403
INSUFFICIENT_SCOPE: the API key lacks the scope this endpoint needs (readfor GET,writefor changes; an AI app's key also needsdeletefor a destructive call). Use a key with that scope, or reconnect the AI app with "Manage and delete" access.FORBIDDEN: the member who created the key may not do this in the organization. Use a key created by an owner or admin.AI_APPS_DISABLED: the organization has turned AI app access off, and this request was made with an AI app's key or sent by Pantech's MCP server (Pantech-Client: mcp/…). An owner can turn it on in the console under Organization › AI apps. - 404
RESOURCE_NOT_FOUND: no load balancer with this id in your organization, or the id is not a load balancer id (lb_…). Check the id.NOT_FOUND: load balancers are not offered on this platform yet. - 409
CONCURRENT_UPDATE: the resource changed while this request was being processed. Retry the request; if it repeats, read the resource first. - 429
RATE_LIMITED: this API key, verified user or organization used its request budget for the current window, or this address exceeded an IP/failed-auth limit. WaitRetry-Afterseconds, then retry. For authenticated quota denials,RateLimit-Scopeidentifies the denying quota andRateLimit-Resetreports its remaining window in seconds. - 503
SERVICE_UNAVAILABLE: request quota storage is unavailable. Wait a few seconds, then retry.PROVISIONING_UNAVAILABLE: the provisioning service is temporarily unavailable. Wait a few seconds, then retry with the sameIdempotency-Key.
Every code is explained in Errors.
curl -X DELETE "https://api.pantechdynamics.com/public/v1/load-balancers/lb_06gk3x9tq7m2v8r4y1c5d0zp8w" \
-H "Authorization: Bearer $PANTECH_API_KEY" \
-H "Idempotency-Key: $(uuidgen)"{
"operation_id": "op_06gk3x9tq7m2v8r4y1c5d0zp8w",
"resource_id": "lb_06gk3x9tq7m2v8r4y1c5d0zp8w",
"status": "submitting"
}