Mutation
mutation UpsertTailscaleServeTemplate($input: TailscaleServeTemplateInput!, $requestId: ID!) {
upsertTailscaleServeTemplate(input: $input, requestId: $requestId) {
id
kind
status
templateId
agents {
agent {
id
name
hostname
version
osVersion
architecture
}
status
job {
id
agentId
worktreeId
kind
payload
status
}
error
}
createdAt
}
}Variables
{
"input": {
"name": "string",
"protocol": "HTTP",
"listenPort": 1,
"destinationProtocol": "HTTP",
"destinationPort": 1,
"funnel": true,
"proxyProtocol": "NONE",
"assignments": [
{
"agentId": "id",
"enabled": true
}
]
},
"requestId": "id"
}Response
{
"data": {
"upsertTailscaleServeTemplate": {
"id": "id",
"kind": "INSPECT",
"status": "QUEUING",
"templateId": "id",
"agents": [
{
"agent": {
"id": "id",
"name": "string",
"hostname": "string",
"version": "string",
"osVersion": "string",
"architecture": "string"
},
"status": "QUEUING",
"job": {
"id": "id",
"agentId": "id",
"worktreeId": "id",
"kind": "string",
"payload": "value",
"status": "QUEUED"
},
"error": "string"
}
],
"createdAt": "string"
}
}
}Mutations
upsertTailscaleServeTemplate
Creates or updates a shared Tailscale Serve template and queues enabled assignments.
MUTATION
upsertTailscaleServeTemplate(input: TailscaleServeTemplateInput!, requestId: ID!): TailscaleServeOperation!Arguments
input
required
Validated template settings and explicit assignments.
requestId
ID!
required
Client-generated idempotency identifier.
Returns
id
ID!
Stable operation identifier.
Operation kind.
status
Aggregate operation progress.
templateId
ID
Related template identifier.
agents
Per-agent progress and jobs.
createdAt
String!
Creation time in ISO 8601 format.
finishedAt
String
Completion time in ISO 8601 format.
updatedAt
String!
Last update time in ISO 8601 format.
Mutation
mutation UpsertTailscaleServeTemplate($input: TailscaleServeTemplateInput!, $requestId: ID!) {
upsertTailscaleServeTemplate(input: $input, requestId: $requestId) {
id
kind
status
templateId
agents {
agent {
id
name
hostname
version
osVersion
architecture
}
status
job {
id
agentId
worktreeId
kind
payload
status
}
error
}
createdAt
}
}Variables
{
"input": {
"name": "string",
"protocol": "HTTP",
"listenPort": 1,
"destinationProtocol": "HTTP",
"destinationPort": 1,
"funnel": true,
"proxyProtocol": "NONE",
"assignments": [
{
"agentId": "id",
"enabled": true
}
]
},
"requestId": "id"
}Response
{
"data": {
"upsertTailscaleServeTemplate": {
"id": "id",
"kind": "INSPECT",
"status": "QUEUING",
"templateId": "id",
"agents": [
{
"agent": {
"id": "id",
"name": "string",
"hostname": "string",
"version": "string",
"osVersion": "string",
"architecture": "string"
},
"status": "QUEUING",
"job": {
"id": "id",
"agentId": "id",
"worktreeId": "id",
"kind": "string",
"payload": "value",
"status": "QUEUED"
},
"error": "string"
}
],
"createdAt": "string"
}
}
}