> ## Documentation Index
> Fetch the complete documentation index at: https://docs.memorylake.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Boundary

> Retrieve a boundary by ID or by your own custom ID

```
GET /openapi/memorylake/api/v3/boundaries/{id}
```

Returns a single boundary. By default `{id}` is the boundary ID. Set `by_custom_id=true` to look the boundary up by its `custom_id` instead.

<Note>
  **Permission required:** `boundary:read`. This shows which scope the boundary declares, not what is in it: searching through the boundary still checks permission on the projects, actor and agent it names.
</Note>

### Path Parameters

<ParamField path="id" type="string" required>
  Boundary ID, or the boundary's `custom_id` when `by_custom_id` is `true`.
</ParamField>

### Query Parameters

<ParamField query="by_custom_id" type="boolean" default="false">
  When `true`, the path parameter is read as the boundary's `custom_id` rather than its ID.
</ParamField>

<RequestExample>
  ```bash By boundary ID theme={null}
  curl -X GET 'https://app.memorylake.ai/openapi/memorylake/api/v3/boundaries/bnd-5e8a2c71d94f4b3a8e6d0c2b7f1a9e34' \
    -H 'Authorization: Bearer sk_xxxxxx'
  ```

  ```bash By custom ID theme={null}
  curl -X GET 'https://app.memorylake.ai/openapi/memorylake/api/v3/boundaries/user-ext-001?by_custom_id=true' \
    -H 'Authorization: Bearer sk_xxxxxx'
  ```
</RequestExample>

### Response

<ResponseField name="data" type="object">
  <Expandable title="Boundary">
    <ResponseField name="id" type="string">Boundary ID</ResponseField>
    <ResponseField name="custom_id" type="string">Your own identifier for the boundary, if you set one</ResponseField>
    <ResponseField name="workspace_id" type="string">Workspace the boundary belongs to</ResponseField>
    <ResponseField name="name" type="string">Boundary name</ResponseField>
    <ResponseField name="project_ids" type="string[]">Projects in scope. Absent when the scope is not narrowed to particular projects.</ResponseField>
    <ResponseField name="human_actor_id" type="string">Actor in scope. Absent when none is set.</ResponseField>
    <ResponseField name="agent_id" type="string">Agent whose memories are in scope. Absent when none is set.</ResponseField>
    <ResponseField name="created_at" type="string">Creation timestamp</ResponseField>
    <ResponseField name="updated_at" type="string">Last update timestamp</ResponseField>
  </Expandable>
</ResponseField>

<ResponseExample>
  ```json Success (200) theme={null}
  {
    "success": true,
    "data": {
      "id": "bnd-5e8a2c71d94f4b3a8e6d0c2b7f1a9e34",
      "custom_id": "user-ext-001",
      "workspace_id": "ws-8001856949ad4f6a5b6226f415ffa877",
      "name": "Alice Chen - Support Assistant",
      "project_ids": ["proj-b93e8d95a8705bcc4ec42a65ba4cc7f8"],
      "human_actor_id": "actor-8d093c0578ffeb19f8fa10ea28ee9362",
      "agent_id": "agent-f8bf71ab17ed8eccad8c0e8ae708273f",
      "created_at": "2026-09-14T03:22:10Z",
      "updated_at": "2026-09-14T03:22:10Z"
    }
  }
  ```
</ResponseExample>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.