---
title: "Resolve inherited and node-local tools for a revision's flow"
method: GET
path: "/v1/assistants/{agent_id}/revisions/{revision_id}/effective-tool-surface"
tags: ["assistants"]
---

# Resolve inherited and node-local tools for a revision's flow

`GET /v1/assistants/{agent_id}/revisions/{revision_id}/effective-tool-surface`

Return the backend-owned effective surface with provenance for every AgentNode.

Free revision model: resolved for the specific revision addressed in the path.
The client performs no inheritance or precedence logic of its own.

## Path parameters

- `agent_id` string, uuid, required
- `revision_id` string, uuid, required

## Response `200`

Successful Response

- EffectiveToolSurfaceResponse — Backend-resolved per-AgentNode authoring surface for one assistant revision.
  - `revision_id` string, uuid, required
  - `workflow_revision_id` string, uuid, nullable
  - `graph_version` integer
  - `utility_catalog` UtilityCatalogEntry[]
    - `name` string, required
    - `canonical_key` string, required
    - `display_name` string, nullable
    - `description` string
    - `parameters` object
  - `assistant_tools` EffectiveToolSurfaceEntry[]
    - `name` string, required
    - `canonical_key` string, nullable
    - `display_name` string, nullable
    - `mentionable` boolean
    - `description` string
    - `parameters` object
    - `provenance` 'util' | 'platform' | 'ambient' | 'node' | 'runtime', required
    - `locked` boolean, required
    - `dynamic` boolean
    - `selection_sources` string[]
  - `nodes` EffectiveNodeToolSurface[]
    - `node_id` string, required
    - `tools` EffectiveToolSurfaceEntry[]
      - `name` string, required
      - `canonical_key` string, nullable
      - `display_name` string, nullable
      - `mentionable` boolean
      - `description` string
      - `parameters` object
      - `provenance` 'util' | 'platform' | 'ambient' | 'node' | 'runtime', required
      - `locked` boolean, required
      - `dynamic` boolean
      - `selection_sources` string[]

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/oneloop-hq/apis/feather-api.md) · [All operations](https://skmtc.net/oneloop-hq/apis/feather-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/oneloop-hq/feather-api/revisions/9cd7291d4228/schema)
