---
title: "POST /v3/{+parent}/services"
method: POST
path: "/v3/{+parent}/services"
tags: ["services"]
---

# POST /v3/{+parent}/services

`POST /v3/{+parent}/services`

Create a Service.

## Path parameters

- `parent` string, required

## Query parameters

- `serviceId` string

## Request body

- Service — A Service is a discrete, autonomous, and network-accessible unit, designed to solve an individual concern (Wikipedia (https://en.wikipedia.org/wiki/Service-orientation)). In Cloud Monitoring, a Service acts as the root resource under which operational aspects of the service are accessible.
  - `displayName` string — Name used for UI elements listing this Service.
  - `cloudEndpoints` CloudEndpoints — Cloud Endpoints service. Learn more at https://cloud.google.com/endpoints.
    - `service` string — The name of the Cloud Endpoints service underlying this service. Corresponds to the service resource label in the api monitored resource (https://cloud.google.com/monitoring/api/resources#tag_api).
  - `meshIstio` MeshIstio — Istio service scoped to an Istio mesh. Anthos clusters running ASM < 1.6.8 will have their services ingested as this type.
    - `serviceName` string — The name of the Istio service underlying this service. Corresponds to the destination_service_name metric label in Istio metrics.
    - `meshUid` string — Identifier for the mesh in which this Istio service is defined. Corresponds to the mesh_uid metric label in Istio metrics.
    - `serviceNamespace` string — The namespace of the Istio service underlying this service. Corresponds to the destination_service_namespace metric label in Istio metrics.
  - `userLabels` object — Labels which have been used to annotate the service. Label keys must start with a letter. Label keys and values may contain lowercase letters, numbers, underscores, and dashes. Label keys and values have a maximum length of 63 characters, and must be less than 128 bytes in size. Up to 64 label entries may be stored. For labels which do not have a semantic value, the empty string may be supplied for the label value.
  - `gkeWorkload` GkeWorkload — A GKE Workload (Deployment, StatefulSet, etc). The field names correspond to the metadata labels on monitored resources that fall under a workload (for example, k8s_container or k8s_pod).
    - `projectId` string — Output only. The project this resource lives in. For legacy services migrated from the Custom type, this may be a distinct project from the one parenting the service itself.
    - `location` string — The location of the parent cluster. This may be a zone or region.
    - `topLevelControllerName` string — The name of this workload.
    - `namespaceName` string — The name of the parent namespace.
    - `topLevelControllerType` string — The type of this workload (for example, "Deployment" or "DaemonSet")
    - `clusterName` string — The name of the parent cluster.
  - `basicService` BasicService — A well-known service type, defined by its service type and service labels. Documentation and examples here (https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
    - `serviceType` string — The type of service that this basic service defines, e.g. APP_ENGINE service type. Documentation and valid values here (https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
    - `serviceLabels` object — Labels that specify the resource that emits the monitoring data which is used for SLO reporting of this Service. Documentation and valid values for given service types here (https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  - `custom` Custom — Use a custom service to designate a service that you want to monitor when none of the other service types (like App Engine, Cloud Run, or a GKE type) matches your intended service.
  - `clusterIstio` ClusterIstio — Istio service scoped to a single Kubernetes cluster. Learn more at https://istio.io. Clusters running OSS Istio will have their services ingested as this type.
    - `clusterName` string — The name of the Kubernetes cluster in which this Istio service is defined. Corresponds to the cluster_name resource label in k8s_cluster resources.
    - `serviceName` string — The name of the Istio service underlying this service. Corresponds to the destination_service_name metric label in Istio metrics.
    - `location` string — The location of the Kubernetes cluster in which this Istio service is defined. Corresponds to the location resource label in k8s_cluster resources.
    - `serviceNamespace` string — The namespace of the Istio service underlying this service. Corresponds to the destination_service_namespace metric label in Istio metrics.
  - `cloudRun` CloudRun — Cloud Run service. Learn more at https://cloud.google.com/run.
    - `serviceName` string — The name of the Cloud Run service. Corresponds to the service_name resource label in the cloud_run_revision monitored resource (https://cloud.google.com/monitoring/api/resources#tag_cloud_run_revision).
    - `location` string — The location the service is run. Corresponds to the location resource label in the cloud_run_revision monitored resource (https://cloud.google.com/monitoring/api/resources#tag_cloud_run_revision).
  - `gkeNamespace` GkeNamespace — GKE Namespace. The field names correspond to the resource metadata labels on monitored resources that fall under a namespace (for example, k8s_container or k8s_pod).
    - `namespaceName` string — The name of this namespace.
    - `clusterName` string — The name of the parent cluster.
    - `projectId` string — Output only. The project this resource lives in. For legacy services migrated from the Custom type, this may be a distinct project from the one parenting the service itself.
    - `location` string — The location of the parent cluster. This may be a zone or region.
  - `appEngine` AppEngine — App Engine service. Learn more at https://cloud.google.com/appengine.
    - `moduleId` string — The ID of the App Engine module underlying this service. Corresponds to the module_id resource label in the gae_app monitored resource (https://cloud.google.com/monitoring/api/resources#tag_gae_app).
  - `name` string — Identifier. Resource name for this Service. The format is: projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]
  - `telemetry` Telemetry — Configuration for how to query telemetry on a Service.
    - `resourceName` string — The full name of the resource that defines this service. Formatted as described in https://cloud.google.com/apis/design/resource_names.
  - `istioCanonicalService` IstioCanonicalService — Canonical service scoped to an Istio mesh. Anthos clusters running ASM >= 1.6.8 will have their services ingested as this type.
    - `meshUid` string — Identifier for the Istio mesh in which this canonical service is defined. Corresponds to the mesh_uid metric label in Istio metrics (https://cloud.google.com/monitoring/api/metrics_istio).
    - `canonicalService` string — The name of the canonical service underlying this service. Corresponds to the destination_canonical_service_name metric label in label in Istio metrics (https://cloud.google.com/monitoring/api/metrics_istio).
    - `canonicalServiceNamespace` string — The namespace of the canonical service underlying this service. Corresponds to the destination_canonical_service_namespace metric label in Istio metrics (https://cloud.google.com/monitoring/api/metrics_istio).
  - `gkeService` GkeService — GKE Service. The "service" here represents a Kubernetes service object (https://kubernetes.io/docs/concepts/services-networking/service). The field names correspond to the resource labels on k8s_service monitored resources (https://cloud.google.com/monitoring/api/resources#tag_k8s_service).
    - `serviceName` string — The name of this service.
    - `location` string — The location of the parent cluster. This may be a zone or region.
    - `projectId` string — Output only. The project this resource lives in. For legacy services migrated from the Custom type, this may be a distinct project from the one parenting the service itself.
    - `clusterName` string — The name of the parent cluster.
    - `namespaceName` string — The name of the parent namespace.

## Response `200`

Successful response

---

[API](https://skmtc.dev/google/apis/monitoring.md) · [All operations](https://skmtc.dev/google/apis/monitoring/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/google/monitoring/revisions/11ce0f8d9e4c/schema)
