# The Endpoint object

An AI Search endpoint — compute infrastructure that hosts AI Search indexes
 and serves queries against them. Customers create, query, and delete endpoints;
 the system manages provisioning, scaling, and health status.

## Attributes

- `name` (string, Public Preview)
  Name of the AI Search endpoint. Server-assigned full resource path
   (`workspaces/{workspace}/endpoints/{endpoint}`) on output. On create, the
   user-supplied short name is conveyed via `CreateEndpointRequest.endpoint_id`;
   the server composes the full `name` and returns it on the response.
  Example: `docs-endpoint`
- `creator` (string, Public Preview, Output only)
  Creator of the endpoint
  Example: `john@example.com`
- `create_time` (string, Public Preview, Output only)
  Time the endpoint was created.
  Example: `2023-12-08T05:31:52.061Z`
- `update_time` (string, Public Preview, Output only)
  Time the endpoint was last updated.
  Example: `2023-12-08T05:31:52.061Z`
- `endpoint_type` (string, Public Preview, Immutable)
  Type of endpoint. Required on create and immutable thereafter.
  Possible values:
  - `STORAGE_OPTIMIZED`
  - `STANDARD`
- `last_updated_user` (string, Public Preview, Output only)
  User who last updated the endpoint
  Example: `john@example.com`
- `id` (string, Public Preview, Output only)
  Unique identifier of the endpoint
  Example: `c56bf0a9-4929-4bd4-8bd5-d82ca62f9c76`
- `endpoint_status` (object, Public Preview, Output only)
  Current status of the endpoint
  - `state` (string, Public Preview, Output only)
    Current lifecycle state of the endpoint. See `State` for the meaning of each value.
    Possible values:
    - `PROVISIONING`
    - `ONLINE`
    - `OFFLINE`
    - `RED_STATE`
    - `YELLOW_STATE`
    - `DELETED`
    Example: `PROVISIONING`
  - `message` (string, Public Preview, Output only)
    Human-readable detail about the endpoint's current state or the reason for a state transition.
- `index_count` (int32, Public Preview, Output only)
  Number of indexes on the endpoint
- `budget_policy_id` (string, Public Preview)
  The user-selected budget policy id for the endpoint.
- `effective_budget_policy_id` (string, Public Preview, Output only)
  The budget policy id applied to the endpoint
  Example: `8b0444ff-8b60-48b0-9d31-e391f6126e0f`
- `custom_tags` (array of object, Public Preview)
  The custom tags assigned to the endpoint
  - `key` (string, Public Preview)
    Key field for an AI Search endpoint tag.
  - `value` (string, Public Preview)
    [Optional] Value field for an AI Search endpoint tag.
- `throughput_info` (object, Public Preview, Output only)
  Throughput information for the endpoint
  - `requested_concurrency` (double, Public Preview)
    The requested concurrency (total CPU) for the endpoint
    Example: `10`
  - `current_concurrency` (double, Public Preview, Output only)
    The current concurrency (total CPU) allocated to the endpoint
    Example: `8`
  - `current_concurrency_utilization_percentage` (double, Public Preview, Output only)
    The current utilization of concurrency as a percentage (0-100)
    Example: `75.5`
  - `minimal_concurrency_allowed` (double, Public Preview)
    The minimum concurrency allowed for this endpoint
    Example: `2`
  - `maximum_concurrency_allowed` (double, Public Preview)
    The maximum concurrency allowed for this endpoint
    Example: `140`
  - `change_request_state` (string, Public Preview, Output only)
    The state of the most recent throughput change request
    Possible values:
    - `CHANGE_SUCCESS`
    - `CHANGE_FAILED`
    - `CHANGE_REACHED_MINIMUM`
    - `CHANGE_REACHED_MAXIMUM`
    - `CHANGE_IN_PROGRESS`
    - `CHANGE_ADJUSTED`
    Example: `CHANGE_SUCCESS`
  - `change_request_message` (string, Public Preview, Output only)
    Additional information about the throughput change request
    Example: `Throughput successfully adjusted to 10 vCPUs`
  - `requested_num_replicas` (int32, Public Preview)
    The requested number of replicas for the endpoint
    Example: `2`
  - `current_num_replicas` (int32, Public Preview, Output only)
    The current number of replicas allocated to the endpoint
    Example: `1`
- `scaling_info` (object, Public Preview, Output only)
  Scaling information for the endpoint
  - `state` (string, Public Preview, Output only)
    The current state of the scaling change request.
    Possible values:
    - `SCALING_CHANGE_UNSPECIFIED`
    - `SCALING_CHANGE_APPLIED`
    - `SCALING_CHANGE_IN_PROGRESS`
    Example: `SCALING_CHANGE_APPLIED`
  - `requested_target_qps` (int64, Public Preview)
    The requested QPS target for the endpoint. Best-effort; the system does not
     guarantee this QPS will be achieved.
    Example: `500`
- `usage_policy_id` (string, Public Preview)
  The usage policy id applied to the endpoint.
- `replica_count` (int32, Public Preview)
  The client-supplied desired number of replicas for the endpoint, applied at
   create/update time. Mutually exclusive with `target_qps`.
- `target_qps` (int32, Public Preview)
  Target QPS for the endpoint. Mutually exclusive with `replica_count`. Best-effort;
   the system does not guarantee this QPS will be achieved.

## Example

```json
{
  "name": "docs-endpoint",
  "creator": "john@example.com",
  "create_time": "2023-12-08T05:31:52.061Z",
  "update_time": "2023-12-08T05:31:52.061Z",
  "endpoint_type": "string",
  "last_updated_user": "john@example.com",
  "id": "c56bf0a9-4929-4bd4-8bd5-d82ca62f9c76",
  "endpoint_status": {
    "state": "PROVISIONING",
    "message": "string"
  },
  "index_count": 0,
  "budget_policy_id": "string",
  "effective_budget_policy_id": "8b0444ff-8b60-48b0-9d31-e391f6126e0f",
  "custom_tags": [
    {
      "key": "string",
      "value": "string"
    }
  ],
  "throughput_info": {
    "requested_concurrency": 10,
    "current_concurrency": 8,
    "current_concurrency_utilization_percentage": 75.5,
    "minimal_concurrency_allowed": 2,
    "maximum_concurrency_allowed": 140,
    "change_request_state": "CHANGE_SUCCESS",
    "change_request_message": "Throughput successfully adjusted to 10 vCPUs",
    "requested_num_replicas": 2,
    "current_num_replicas": 1
  },
  "scaling_info": {
    "state": "SCALING_CHANGE_APPLIED",
    "requested_target_qps": 500
  },
  "usage_policy_id": "string",
  "replica_count": 0,
  "target_qps": 0
}
```


