Get Custom Tool
This page uses Nexus's generated request and response schema. Requests still require the correct account, workspace, and resource permissions.
/tool/{tool_id}curl --request GET 'https://school.narb.cc/api/tool/{tool_id}' \
--header 'Authorization: Bearer YOUR_TOKEN'This builds a request example. Fill in required query values, then replace path placeholders and YOUR_TOKEN in your own environment. Use a token for a user with access to this workspace. Responses and permissions depend on your account and deployment. Never paste a private token into documentation.
Download the Nexus OpenAPI schema ↗
Import the schema into your API client. It describes the backend source; enabled routes depend on your workspace.
Authentication and scope#
Send requests to the workspace that owns the resource. Authentication does not by itself grant a school membership, class assignment, or administrator permission. School endpoints apply their role and class checks on the server.
Use a credential issued for that workspace with only the permissions your integration needs. Keep it on your server. Do not place credentials in a public website or a shared skill.
Parameters#
| Name | Location | Required | Type |
|---|---|---|---|
tool_id | path | Yes | integer |
tenant_id | query | No | string or null |
The tenant_id parameter is part of the engine schema. It does not authorize a caller to another school. Use the workspace and permissions assigned to your account.
Responses#
200#
Successful Response
{
"properties": {
"id": {
"type": "integer",
"title": "Id"
},
"name": {
"type": "string",
"title": "Name"
},
"description": {
"type": "string",
"title": "Description"
},
"definition": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Definition"
},
"display_name": {
"type": "string",
"title": "Display Name"
},
"in_code_tool_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "In Code Tool Id"
},
"custom_headers": {
"anyOf": [
{
"items": {},
"type": "array"
},
{
"type": "null"
}
],
"title": "Custom Headers"
},
"passthrough_auth": {
"type": "boolean",
"title": "Passthrough Auth"
},
"mcp_server_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Mcp Server Id"
},
"user_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "User Id"
},
"oauth_config_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Oauth Config Id"
},
"oauth_config_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Oauth Config Name"
},
"enabled": {
"type": "boolean",
"title": "Enabled",
"default": true
},
"permissions": {
"additionalProperties": {
"type": "boolean"
},
"type": "object",
"title": "Permissions"
},
"chat_selectable": {
"type": "boolean",
"title": "Chat Selectable",
"default": true
},
"agent_creation_selectable": {
"type": "boolean",
"title": "Agent Creation Selectable",
"default": true
},
"default_enabled": {
"type": "boolean",
"title": "Default Enabled",
"default": false
}
},
"type": "object",
"required": [
"id",
"name",
"description",
"definition",
"display_name",
"in_code_tool_id",
"custom_headers",
"passthrough_auth"
],
"title": "ToolSnapshot"
}422#
Validation Error
{
"properties": {
"detail": {
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}Access and error handling#
A signed-out or expired session needs authentication. A denied request can mean the account lacks permission, class membership, an approved model, or an available allowance. Do not retry a write blindly after a network failure; first check whether it was recorded.
Treat validation errors as a request problem. Use the returned field details to correct the request. Resource identifiers do not confer access.
Schema version#
Generated from Nexus backend source fe1c3a07c793029d3d87191a68f89e481afd6bc8. Check your deployed version before integrating. Schema coverage is not a live acceptance test.