---
type: api
title: Get an Observability project
url: https://www.elastic.co/elastic/docs-builder/docs/4641/api/doc/cloud-serverless/operation/operation-getobservabilityproject
resource: https://www.elastic.co/elastic/docs-builder/docs/4641/api/doc/cloud-serverless/operation/operation-getobservabilityproject
products:
  - Elastic Cloud Serverless
---

# Get an Observability project

Authentication: required

- Server: `https://api.elastic-cloud.com`

## Paths

- `GET` `/api/v1/serverless/projects/observability/{id}`

#### Path parameters

- `id` (string · pattern: ^[a-z0-9]{32}$) — required
  The ID of the project

## Responses

#### `200`

The requested Observability project

`application/json`

- `id` (string · pattern: ^[a-z0-9]{32}$)
  ID of the project.
- `name` (string · min length: 1 · max length: 255)
  Descriptive name for a project.
- `alias` (string · min length: 8 · max length: 57 · pattern: ^[a-zA-Z]{1}(?:[a-zA-Z0-9-]*[a-zA-Z0-9]{1})?$)
  A domain label compatible with RFC-1035 standards. Project alias with a unique suffix added by the system to avoid naming conflicts.
- `region_id` (string)
  Unique human-readable identifier for a region in Elastic Cloud.
- `metadata` (object)
  Additional details about the project.
  - `created_at` (string · format: date-time)
    Date and time when the project was created.
  - `created_by` (string)
    ID of the user.
  - `organization_id` (string)
    The Organization ID who owns the project.
  - `suspended_at` (string · format: date-time)
    Date and time when the project was suspended.
  - `suspended_reason` (string)
    Reason why the project was suspended.
  - `tags` (map string to string · min properties: 1 · max properties: 64)
    Tags associated with a project in the form of key-value pairs. Tags are limited to a minimum of 1 and a maximum of 64 per project. Each tag key must begin with a lowercase letter (a-z), contain only lowercase letters, digits, underscores, and hyphens (a-z0-9_-), and have a maximum length of 32 characters.
    Map values (string · min length: 1 · max length: 128 · pattern: ^[a-z0-9][a-z0-9_-]*$)
  - `system_tags` (map string to string)
    System tags associated with a project in the form of key-value pairs. These tags are added by the internal system and are read-only. The keys are prefixed with an underscore to differentiate them from user tags.
    Map values (string · min length: 1 · max length: 128 · pattern: ^[a-z0-9][a-z0-9_-]*$)
  - `annotations` (map string to string · min properties: 1 · max properties: 64)
    Annotations associated with a project, as key-value pairs that keep their case. A project can have at most 64 annotations, separate from its tags. Each key must start with a letter, contain only letters, digits, underscores and hyphens (a-zA-Z0-9_-), and be at most 32 characters long. Annotations can't be used in cross-project search and can't filter the project list.
    Map values (string · min length: 1 · max length: 128 · pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$)
- `cloud_id` (string)
  The cloud ID, an encoded string that provides other Elastic services with the necessary information to connect to this Elasticsearch and Kibana.
- `traffic_filters` (object[])
  traffic filters IDs
  - `id` (string)
    traffic filter ID
- `linked` (object)
  Configuration for projects linked to this project
  - `projects` (map string to object)
    Map values (object)
    - `status` (enum)
      The state of the linked project.
      Values: `enabled`, `suspended`, `deleted`
    - `type` (enum)
      The type of the linked project
      Values: `elasticsearch`, `observability`, `security`, `vectordb`
- `monitoring` (object)
  Configuration for monitoring a project.
  - `logging` (object)
    Configuration for project logs.
    - `audit` (object)
      Configuration for logs from a specific category.
      - `destination` (object)
        Configuration for destination of logs.
        - `project_id` (string · pattern: ^[a-z0-9]{32}$)
          ID of the project.
        - `project_type` (enum)
          The type of the linked project
          Values: `elasticsearch`, `observability`, `security`, `vectordb`
        - `status` (enum)
          The state of log delivery to this destination. Controlled by the system and read-only: it is set to `suspended` or `deleted` when the destination project is suspended or deleted. Logs are only delivered when this is `enabled` and the logging category's `enabled` flag is true.
          Values: `enabled`, `suspended`, `deleted`
      - `enabled` (boolean)
        When true, logs from this category are delivered to the configured destination. When false, delivery is paused but the configuration is preserved.
      - `ignore_filters` (object[])
        References to logging ignore filters applied to reduce the volume of logs delivered for this category.
        - `id` (string)
          The unique identifier of the ignore filter.
- `type` (enum)
  the type of the project
  Values: `observability`
- `product_tier` (enum)
  the tier of the observability project. The default is "complete" when not specified at creation time.
  Values: `complete`, `logs_essentials`
- `endpoints` (object)
  The endpoints to access the different apps of the project.
  - `elasticsearch` (string)
    The endpoint to access elasticsearch.
  - `kibana` (string)
    The endpoint to access kibana.
  - `apm` (string)
    The endpoint to access apm.
  - `ingest` (string)
    The endpoint to access the Managed OTLP Endpoint.
- `private_endpoints` (object)
  Private endpoints (URLs) for Observability projects when PrivateLink is enabled.
  - `elasticsearch` (string)
    The PrivateLink endpoint URL to access elasticsearch.
  - `kibana` (string)
    The PrivateLink endpoint URL to access kibana.
  - `apm` (string)
    The PrivateLink endpoint URL to access APM.
  - `ingest` (string)
    The PrivateLink endpoint URL to access the Managed OTLP Endpoint.
##### Response headers

- `ETag` (string)

#### `404`

Not Found

`application/json`

- `errors` (object[])
  - `message` (string)
    A human-readable message of the error.
  - `code` (string)
    An identifier for this type of error.
## Code examples

#### curl

```curl
curl -X GET "https://api.elastic-cloud.com/api/v1/serverless/projects/observability/${ID}" \
  -H "Authorization: ApiKey ${API_KEY}"
```

## Response examples

#### 200

`application/json`

Generated from the API spec. Values are representative. Unions use the first variant; deeply nested or large bodies may omit fields.

```json
{
  "id": "string",
  "name": "my project",
  "alias": "my-project-alias-bdc0f7",
  "region_id": "aws-us-east-1",
  "metadata": {
    "created_at": "string",
    "created_by": "1014289666002276",
    "organization_id": "198583657190",
    "suspended_at": "string",
    "suspended_reason": "trial expired",
    "tags": {
      "key": "string"
    },
    "system_tags": {
      "key": "string"
    },
    "annotations": {
      "key": "string"
    }
  },
  "cloud_id": "my_project:LmF3cy5lbGFzdG",
  "traffic_filters": [
    {
      "id": "traffic-filter-1"
    }
  ],
  "linked": {
    "projects": {
      "key": {
        "status": "enabled",
        "type": "elasticsearch"
      }
    }
  },
  "monitoring": {
    "logging": {
      "audit": {
        "destination": {
          "project_id": "string",
          "project_type": "elasticsearch",
          "status": "enabled"
        },
        "enabled": false,
        "ignore_filters": [
          {
            "id": "audit-ignore-data-reads"
          }
        ]
      }
    }
  },
  "type": "observability",
  "product_tier": "complete",
  "endpoints": {
    "elasticsearch": "string",
    "kibana": "string",
    "apm": "string",
    "ingest": "string"
  },
  "private_endpoints": {
    "elasticsearch": "https://my-project-alias-df6c6d.es.private.us-east-1.aws.elastic.cloud",
    "kibana": "https://my-project-alias-df6c6d.kb.private.us-east-1.aws.elastic.cloud",
    "apm": "https://my-project-alias-df6c6d.apm.private.us-east-1.aws.elastic.cloud",
    "ingest": "https://my-project-alias-df6c6d.ingest.private.us-east-1.aws.elastic.cloud"
  }
}
```

#### 404

`application/json`

Generated from the API spec. Values are representative. Unions use the first variant; deeply nested or large bodies may omit fields.

```json
{
  "errors": [
    {
      "message": "Explicative error message",
      "code": "code.error"
    }
  ]
}
```

