Service data model

View field support, webhooks, and list parameters for each integration on the Supported Integrations page.

FieldTypeRequiredDescription
idstringNoUnique identifier for the service (app or project)
created_atstring (date-time)NoWhen the service was created (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
updated_atstring (date-time)NoWhen the service was last updated (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
namestringNoDisplay name of the service
typeenumNoThe kind of service Values: WEB, WORKER, CRON, STATIC, PRIVATE, OTHER
statusenumNoNormalized status; set to SUSPENDED or LIVE on update to suspend or resume Values: CREATING, DEPLOYING, LIVE, SUSPENDED, FAILED, OTHER
runtimestringNoRuntime or framework (eg. node, python, docker, nextjs)
region_idstringNoThe region the service runs in
gputype_idstringNoThe plan or instance type the service runs on
skustringNoThe vendor's own plan or size name
instance_countnumberNoCurrent number of running instances
min_instance_countnumberNoAutoscaling minimum
max_instance_countnumberNoAutoscaling maximum
repo_urlstringNoSource repository URL
branchstringNoSource branch deployed
imagestringNoContainer image, for image-based services
build_commandstringNoBuild command
start_commandstringNoStart command
urlstringNoPublic URL of the service
project_identifierstringNoVendor project, team or environment that groups the service (reference to TaskProject)
envComputeEnv[]NoEnvironment variables (write-only values) set when creating the service
env[].namestringYesEnvironment variable name
env[].valuestringNoEnvironment variable value (write-only; never returned)
metadataComputeMetadata[]NoVendor labels, tags and metadata
metadata[].idstringNo
metadata[].slugstringNoThe label, tag or metadata key
metadata[].valueobjectNoThe label, tag or metadata value
metadata[].namespacestringNoThe origin of the value (eg. labels, tags, metadata)
metadata[].formatenumNoThe data type of the value Values: TEXT, NUMBER, DATE, BOOLEAN, ARRAY, OBJECT
metadata[].extra_dataobjectNo

TypeScript

TypeScript
export type ComputeService = {
	id?: string; // Unique identifier for the service (app or project)
	created_at?: string-time; // When the service was created (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	updated_at?: string-time; // When the service was last updated (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	name?: string; // Display name of the service
	type?: 'WEB' | 'WORKER' | 'CRON' | 'STATIC' | 'PRIVATE' | 'OTHER'; // The kind of service
	status?: 'CREATING' | 'DEPLOYING' | 'LIVE' | 'SUSPENDED' | 'FAILED' | 'OTHER'; // Normalized status; set to SUSPENDED or LIVE on update to suspend or resume
	runtime?: string; // Runtime or framework (eg. node, python, docker, nextjs)
	region_id?: string; // The region the service runs in
	gputype_id?: string; // The plan or instance type the service runs on
	sku?: string; // The vendor's own plan or size name
	instance_count?: number; // Current number of running instances
	min_instance_count?: number; // Autoscaling minimum
	max_instance_count?: number; // Autoscaling maximum
	repo_url?: string; // Source repository URL
	branch?: string; // Source branch deployed
	image?: string; // Container image, for image-based services
	build_command?: string; // Build command
	start_command?: string; // Start command
	url?: string; // Public URL of the service
	project_identifier?: string; // Vendor project, team or environment that groups the service (reference to TaskProject)
	env?: []; // Environment variables (write-only values) set when creating the service
	metadata?: []; // Vendor labels, tags and metadata
	raw?: any; // Raw data from integration
} 

Zod

Zod
import { z } from 'zod';

export const ZodComputeService = z.object({
	id: z.string().optional().describe("Unique identifier for the service (app or project)"),
	created_at: z.string-time().optional().describe("When the service was created (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	updated_at: z.string-time().optional().describe("When the service was last updated (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	name: z.string().optional().describe("Display name of the service"),
	type: z.enum("WEB", "WORKER", "CRON", "STATIC", "PRIVATE", "OTHER").optional().describe("The kind of service"),
	status: z.enum("CREATING", "DEPLOYING", "LIVE", "SUSPENDED", "FAILED", "OTHER").optional().describe("Normalized status; set to SUSPENDED or LIVE on update to suspend or resume"),
	runtime: z.string().optional().describe("Runtime or framework (eg. node, python, docker, nextjs)"),
	region_id: z.string().optional().describe("The region the service runs in"),
	gputype_id: z.string().optional().describe("The plan or instance type the service runs on"),
	sku: z.string().optional().describe("The vendor's own plan or size name"),
	instance_count: z.number().optional().describe("Current number of running instances"),
	min_instance_count: z.number().optional().describe("Autoscaling minimum"),
	max_instance_count: z.number().optional().describe("Autoscaling maximum"),
	repo_url: z.string().optional().describe("Source repository URL"),
	branch: z.string().optional().describe("Source branch deployed"),
	image: z.string().optional().describe("Container image, for image-based services"),
	build_command: z.string().optional().describe("Build command"),
	start_command: z.string().optional().describe("Start command"),
	url: z.string().optional().describe("Public URL of the service"),
	project_identifier: z.string().optional().describe("Vendor project, team or environment that groups the service (reference to TaskProject)"),
	env: z.array().optional().describe("Environment variables (write-only values) set when creating the service"),
	metadata: z.array().optional().describe("Vendor labels, tags and metadata"),

});

Python

Python
import dataclasses

@dataclasses.dataclass
class ComputeServiceType(str, Enum):
	WEB = 'WEB'
	WORKER = 'WORKER'
	CRON = 'CRON'
	STATIC = 'STATIC'
	PRIVATE = 'PRIVATE'
	OTHER = 'OTHER'

@dataclasses.dataclass
class ComputeServiceStatus(str, Enum):
	CREATING = 'CREATING'
	DEPLOYING = 'DEPLOYING'
	LIVE = 'LIVE'
	SUSPENDED = 'SUSPENDED'
	FAILED = 'FAILED'
	OTHER = 'OTHER'

@dataclasses.dataclass
class ComputeService:
	"""Unique identifier for the service (app or project)"""
	id: Optional[str]
	"""When the service was created (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	created_at: Optional[str]
	"""When the service was last updated (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	updated_at: Optional[str]
	"""Display name of the service"""
	name: Optional[str]
	"""The kind of service"""
	type: Optional[ComputeServiceType]
	"""Normalized status; set to SUSPENDED or LIVE on update to suspend or resume"""
	status: Optional[ComputeServiceStatus]
	"""Runtime or framework (eg. node, python, docker, nextjs)"""
	runtime: Optional[str]
	"""The region the service runs in"""
	region_id: Optional[str]
	"""The plan or instance type the service runs on"""
	gputype_id: Optional[str]
	"""The vendor's own plan or size name"""
	sku: Optional[str]
	"""Current number of running instances"""
	instance_count: Optional[int]
	"""Autoscaling minimum"""
	min_instance_count: Optional[int]
	"""Autoscaling maximum"""
	max_instance_count: Optional[int]
	"""Source repository URL"""
	repo_url: Optional[str]
	"""Source branch deployed"""
	branch: Optional[str]
	"""Container image, for image-based services"""
	image: Optional[str]
	"""Build command"""
	build_command: Optional[str]
	"""Start command"""
	start_command: Optional[str]
	"""Public URL of the service"""
	url: Optional[str]
	"""Vendor project, team or environment that groups the service (reference to TaskProject)"""
	project_identifier: Optional[str]
	"""Environment variables (write-only values) set when creating the service"""
	env: Optional[PropertyComputeServiceEnv]
	"""Vendor labels, tags and metadata"""
	metadata: Optional[PropertyComputeServiceMetadata]
Are we missing anything? Let us know
Was this page helpful?