naftiko: 1.0.0-alpha2
info:
label: Nanonets File Management API
description: Approve, unapprove, assign, update, delete, and re-export files within a Nanonets model.
tags: [Nanonets, Workflow, Approvals]
created: '2026-05-25'
modified: '2026-05-25'
binds:
- namespace: env
keys: { NANONETS_API_KEY: NANONETS_API_KEY }
capability:
consumes:
- type: http
namespace: file-management
baseUri: https://app.nanonets.com
description: Nanonets file management and review surface.
resources:
- name: verify
path: /api/v2/ImageLevelInferences/Model/{model_id}/Verify/{request_file_id}
operations:
- { name: verifyFile, method: POST, description: 'Approve a file.', outputRawFormat: json,
outputParameters: [ { name: result, type: object, value: $. } ],
inputParameters: [ { name: model_id, in: path, type: string, required: true },
{ name: request_file_id, in: path, type: string, required: true } ] }
- name: unverify
path: /api/v2/ImageLevelInferences/Model/{model_id}/UnVerify/{request_file_id}
operations:
- { name: unverifyFile, method: POST, description: 'Unapprove a file.', outputRawFormat: json,
outputParameters: [ { name: result, type: object, value: $. } ],
inputParameters: [ { name: model_id, in: path, type: string, required: true },
{ name: request_file_id, in: path, type: string, required: true } ] }
- name: assign
path: /api/v2/team/members/model/{model_id}/assign/files
operations:
- { name: assignFiles, method: POST, description: 'Assign files to a reviewer.', outputRawFormat: json,
outputParameters: [ { name: result, type: object, value: $. } ],
inputParameters: [ { name: model_id, in: path, type: string, required: true },
{ name: body, in: body, type: object, required: true } ] }
- name: update-fields
path: /api/v2/Inferences/Model/{model_id}/ImageLevelInference
operations:
- { name: updateFileFields, method: PATCH, description: 'Update or add field values on a file.',
outputRawFormat: json, outputParameters: [ { name: result, type: object, value: $. } ],
inputParameters: [ { name: model_id, in: path, type: string, required: true },
{ name: use_ui_version, in: query, type: boolean, required: true },
{ name: body, in: body, type: object, required: true } ] }
- name: delete
path: /api/v2/Inferences/Model/{model_id}/InferenceRequestFiles/{file_id}
operations:
- { name: deleteFile, method: DELETE, description: 'Delete a processed file.', outputRawFormat: json,
outputParameters: [ { name: result, type: object, value: $. } ],
inputParameters: [ { name: model_id, in: path, type: string, required: true },
{ name: file_id, in: path, type: string, required: true } ] }
- name: retry-exports
path: /api/v2/Inferences/Model/{model_id}/ImageLevelInferences/retryallexports
operations:
- { name: retryAllExports, method: POST, description: 'Retry exports for one or more files.',
outputRawFormat: json, outputParameters: [ { name: result, type: object, value: $. } ],
inputParameters: [ { name: model_id, in: path, type: string, required: true },
{ name: body, in: body, type: object, required: true } ] }
authentication:
type: basic
username: '{{env.NANONETS_API_KEY}}'
password: ''
exposes:
- type: rest
namespace: file-management-rest
port: 8080
description: REST adapter for file management.
resources:
- path: /v1/files/verify
name: verify
operations:
- { method: POST, name: verifyFile, description: 'Approve a file.', call: file-management.verifyFile,
with: { model_id: rest.body.model_id, request_file_id: rest.body.request_file_id } }
- path: /v1/files/unverify
name: unverify
operations:
- { method: POST, name: unverifyFile, description: 'Unapprove a file.', call: file-management.unverifyFile,
with: { model_id: rest.body.model_id, request_file_id: rest.body.request_file_id } }
- path: /v1/files/update
name: update
operations:
- { method: PATCH, name: updateFileFields, description: 'Update or add field values on a file.',
call: file-management.updateFileFields, with: { model_id: rest.body.model_id, use_ui_version: rest.body.use_ui_version,
body: rest.body.body } }
- type: mcp
namespace: file-management-mcp
port: 9090
transport: http
description: MCP adapter for file management.
tools:
- { name: nanonets-verify-file, description: 'Approve a file.', hints: { readOnly: false, destructive: false,
idempotent: true }, call: file-management.verifyFile, with: { model_id: tools.model_id, request_file_id: tools.request_file_id } }
- { name: nanonets-unverify-file, description: 'Unapprove a file.', hints: { readOnly: false, destructive: false,
idempotent: true }, call: file-management.unverifyFile, with: { model_id: tools.model_id, request_file_id: tools.request_file_id } }
- { name: nanonets-assign-files, description: 'Assign files to a reviewer.', hints: { readOnly: false,
destructive: false, idempotent: false }, call: file-management.assignFiles, with: { model_id: tools.model_id,
body: tools.body } }
- { name: nanonets-update-fields, description: 'Update field values on a file.', hints: { readOnly: false,
destructive: false, idempotent: false }, call: file-management.updateFileFields, with: { model_id: tools.model_id,
use_ui_version: true, body: tools.body } }
- { name: nanonets-delete-file, description: 'Delete a processed file.', hints: { readOnly: false, destructive: true,
idempotent: true }, call: file-management.deleteFile, with: { model_id: tools.model_id, file_id: tools.file_id } }
- { name: nanonets-retry-exports, description: 'Retry exports for one or more files.', hints: { readOnly: false,
destructive: false, idempotent: false }, call: file-management.retryAllExports, with: { model_id: tools.model_id,
body: tools.body } }