merge: chore/cleanup-remove-bloat-and-secrets into main

This commit is contained in:
Crypto Rug Munch 2026-07-02 01:24:22 +07:00
commit bde2f3a97d
1173 changed files with 437609 additions and 0 deletions

View file

@ -0,0 +1,34 @@
# NOTE: This file is auto generated by OpenAPI Generator.
# URL: https://openapi-generator.tech
#
# ref: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python
name: rugmunch Python package
on: [push, pull_request]
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install -r test-requirements.txt
- name: Test with pytest
run: |
pytest --cov=rugmunch

66
sdks/python/.gitignore vendored Normal file
View file

@ -0,0 +1,66 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
env/
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
*.egg-info/
.installed.cfg
*.egg
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*,cover
.hypothesis/
venv/
.venv/
.python-version
.pytest_cache
# Translations
*.mo
*.pot
# Django stuff:
*.log
# Sphinx documentation
docs/_build/
# PyBuilder
target/
# Ipython Notebook
.ipynb_checkpoints

View file

@ -0,0 +1,31 @@
# NOTE: This file is auto generated by OpenAPI Generator.
# URL: https://openapi-generator.tech
#
# ref: https://docs.gitlab.com/ee/ci/README.html
# ref: https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Python.gitlab-ci.yml
stages:
- test
.pytest:
stage: test
script:
- pip install -r requirements.txt
- pip install -r test-requirements.txt
- pytest --cov=rugmunch
pytest-3.10:
extends: .pytest
image: python:3.10-alpine
pytest-3.11:
extends: .pytest
image: python:3.11-alpine
pytest-3.12:
extends: .pytest
image: python:3.12-alpine
pytest-3.13:
extends: .pytest
image: python:3.13-alpine
pytest-3.14:
extends: .pytest
image: python:3.14-alpine

View file

@ -0,0 +1,23 @@
# OpenAPI Generator Ignore
# Generated by openapi-generator https://github.com/openapitools/openapi-generator
# Use this file to prevent files from being overwritten by the generator.
# The patterns follow closely to .gitignore or .dockerignore.
# As an example, the C# client generator defines ApiClient.cs.
# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line:
#ApiClient.cs
# You can match any string of characters against a directory, file or extension with a single asterisk (*):
#foo/*/qux
# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux
# You can recursively match patterns against a directory, file or extension with a double asterisk (**):
#foo/**/qux
# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux
# You can also negate patterns with an exclamation (!).
# For example, you can ignore all files in a docs folder with the file extension .md:
#docs/*.md
# Then explicitly reverse the ignore rule for a single file:
#!docs/README.md

View file

@ -0,0 +1,206 @@
.github/workflows/python.yml
.gitignore
.gitlab-ci.yml
.openapi-generator-ignore
.travis.yml
README.md
docs/AdminAlertsApi.md
docs/AlertSubscription.md
docs/AlertType.md
docs/AlertmanagerAlert.md
docs/AlertmanagerPayload.md
docs/AlertsApi.md
docs/AppDomainScannerModelsScanRequest.md
docs/AppDomainTokenModelsRiskLevel.md
docs/AppDomainWalletModelsScanRequest.md
docs/AttachRagRequest.md
docs/Balance.md
docs/BulkIngestRequest.md
docs/CatalogApi.md
docs/CatalogResponse.md
docs/CreateAlertRequest.md
docs/FeedbackRecord.md
docs/FindRiskyTokensRequest.md
docs/GenerateRequest.md
docs/GenerateResponse.md
docs/HTTPValidationError.md
docs/HealthApi.md
docs/Id.md
docs/IngestRequest.md
docs/IngestResult.md
docs/JsonRpcRequest.md
docs/LocationInner.md
docs/McpApi.md
docs/MetaApi.md
docs/NewsAdminApi.md
docs/NewsAnalysisResponse.md
docs/NewsApi.md
docs/NewsItemOut.md
docs/NewsListResponse.md
docs/PaginatedResponse.md
docs/RagApi.md
docs/RagIngestRequest.md
docs/RagSearchRequest.md
docs/ReceiptResponse.md
docs/ReportsApi.md
docs/ResolveEntityRequest.md
docs/ScanFlag.md
docs/ScanModuleResult.md
docs/ScanResponse.md
docs/ScanResult.md
docs/ScanTier.md
docs/ScannerApi.md
docs/SearchHit.md
docs/SearchRequest.md
docs/SearchResponse.md
docs/TokenApi.md
docs/TokenDetail.md
docs/TokenHolding.md
docs/TokenRisk.md
docs/TokenScanRequest.md
docs/TokenScanResult.md
docs/Transaction.md
docs/UsageResponse.md
docs/ValidationError.md
docs/WalletAnalysis.md
docs/WalletApi.md
docs/X402Api.md
git_push.sh
pyproject.toml
requirements.txt
rugmunch/__init__.py
rugmunch/api/__init__.py
rugmunch/api/admin_alerts_api.py
rugmunch/api/alerts_api.py
rugmunch/api/catalog_api.py
rugmunch/api/health_api.py
rugmunch/api/mcp_api.py
rugmunch/api/meta_api.py
rugmunch/api/news_admin_api.py
rugmunch/api/news_api.py
rugmunch/api/rag_api.py
rugmunch/api/reports_api.py
rugmunch/api/scanner_api.py
rugmunch/api/token_api.py
rugmunch/api/wallet_api.py
rugmunch/api/x402_api.py
rugmunch/api_client.py
rugmunch/api_response.py
rugmunch/configuration.py
rugmunch/exceptions.py
rugmunch/models/__init__.py
rugmunch/models/alert_subscription.py
rugmunch/models/alert_type.py
rugmunch/models/alertmanager_alert.py
rugmunch/models/alertmanager_payload.py
rugmunch/models/app_domain_scanner_models_scan_request.py
rugmunch/models/app_domain_token_models_risk_level.py
rugmunch/models/app_domain_wallet_models_scan_request.py
rugmunch/models/attach_rag_request.py
rugmunch/models/balance.py
rugmunch/models/bulk_ingest_request.py
rugmunch/models/catalog_response.py
rugmunch/models/create_alert_request.py
rugmunch/models/feedback_record.py
rugmunch/models/find_risky_tokens_request.py
rugmunch/models/generate_request.py
rugmunch/models/generate_response.py
rugmunch/models/http_validation_error.py
rugmunch/models/id.py
rugmunch/models/ingest_request.py
rugmunch/models/ingest_result.py
rugmunch/models/json_rpc_request.py
rugmunch/models/location_inner.py
rugmunch/models/news_analysis_response.py
rugmunch/models/news_item_out.py
rugmunch/models/news_list_response.py
rugmunch/models/paginated_response.py
rugmunch/models/rag_ingest_request.py
rugmunch/models/rag_search_request.py
rugmunch/models/receipt_response.py
rugmunch/models/resolve_entity_request.py
rugmunch/models/scan_flag.py
rugmunch/models/scan_module_result.py
rugmunch/models/scan_response.py
rugmunch/models/scan_result.py
rugmunch/models/scan_tier.py
rugmunch/models/search_hit.py
rugmunch/models/search_request.py
rugmunch/models/search_response.py
rugmunch/models/token_detail.py
rugmunch/models/token_holding.py
rugmunch/models/token_risk.py
rugmunch/models/token_scan_request.py
rugmunch/models/token_scan_result.py
rugmunch/models/transaction.py
rugmunch/models/usage_response.py
rugmunch/models/validation_error.py
rugmunch/models/wallet_analysis.py
rugmunch/py.typed
rugmunch/rest.py
setup.cfg
setup.py
test-requirements.txt
test/__init__.py
test/test_admin_alerts_api.py
test/test_alert_subscription.py
test/test_alert_type.py
test/test_alertmanager_alert.py
test/test_alertmanager_payload.py
test/test_alerts_api.py
test/test_app_domain_scanner_models_scan_request.py
test/test_app_domain_token_models_risk_level.py
test/test_app_domain_wallet_models_scan_request.py
test/test_attach_rag_request.py
test/test_balance.py
test/test_bulk_ingest_request.py
test/test_catalog_api.py
test/test_catalog_response.py
test/test_create_alert_request.py
test/test_feedback_record.py
test/test_find_risky_tokens_request.py
test/test_generate_request.py
test/test_generate_response.py
test/test_health_api.py
test/test_http_validation_error.py
test/test_id.py
test/test_ingest_request.py
test/test_ingest_result.py
test/test_json_rpc_request.py
test/test_location_inner.py
test/test_mcp_api.py
test/test_meta_api.py
test/test_news_admin_api.py
test/test_news_analysis_response.py
test/test_news_api.py
test/test_news_item_out.py
test/test_news_list_response.py
test/test_paginated_response.py
test/test_rag_api.py
test/test_rag_ingest_request.py
test/test_rag_search_request.py
test/test_receipt_response.py
test/test_reports_api.py
test/test_resolve_entity_request.py
test/test_scan_flag.py
test/test_scan_module_result.py
test/test_scan_response.py
test/test_scan_result.py
test/test_scan_tier.py
test/test_scanner_api.py
test/test_search_hit.py
test/test_search_request.py
test/test_search_response.py
test/test_token_api.py
test/test_token_detail.py
test/test_token_holding.py
test/test_token_risk.py
test/test_token_scan_request.py
test/test_token_scan_result.py
test/test_transaction.py
test/test_usage_response.py
test/test_validation_error.py
test/test_wallet_analysis.py
test/test_wallet_api.py
test/test_x402_api.py
tox.ini

View file

@ -0,0 +1 @@
7.23.0

17
sdks/python/.travis.yml Normal file
View file

@ -0,0 +1,17 @@
# ref: https://docs.travis-ci.com/user/languages/python
language: python
python:
- "3.10"
- "3.11"
- "3.12"
- "3.13"
- "3.14"
# uncomment the following if needed
#- "3.14-dev" # 3.14 development branch
#- "nightly" # nightly build
# command to install dependencies
install:
- "pip install -r requirements.txt"
- "pip install -r test-requirements.txt"
# command to run tests
script: pytest --cov=rugmunch

82
sdks/python/README.md Normal file
View file

@ -0,0 +1,82 @@
# rugmunch-sdk
Python SDK for [Rug Munch Intelligence](https://rugmunch.io) — sovereign crypto intelligence platform with 13+ chains, 96 data providers, 8 MCP tools, and x402 paid tier.
## Install
```bash
pip install rugmunch
```
## Quick start (async)
```python
import asyncio
from rugmunch_sdk import RMI
async def main():
async with RMI(base_url="https://api.rugmunch.io", api_key="...") as client:
# Real-time token risk (FREE 5/day, $0.01 thereafter)
risk = await client.get_token_risk(chain="solana", address="DezXAZ...")
print(f"Risk: {risk.score}/100 ({risk.tier})")
# RAG search
hits = await client.rag_search("ethereum wallet security", collection="scam_intel")
for h in hits:
print(f" - {h.text[:80]}...")
# Full AI research report ($5/report)
report = await client.generate_report("token", "solana:DezXAZ...")
print(report.markdown[:500])
asyncio.run(main())
```
## Quick start (sync — for scripts / notebooks)
```python
from rugmunch_sdk import RMI_sync
with RMI_sync(base_url="https://api.rugmunch.io") as client:
risk = client.get_token_risk(chain="solana", address="DezXAZ...")
print(f"Risk: {risk.score}/100 ({risk.tier})")
```
## Available methods
| Method | Free? | x402 price |
|--------|-------|------------|
| `get_health()` | yes | free |
| `get_catalog_stats()` | yes | free |
| `get_x402_catalog()` | yes | free |
| `list_mcp_tools()` | yes | free |
| `call_mcp_tool(name, args)` | per tool | per tool |
| `get_token_risk(chain, address)` | 5/day | $0.01 |
| `get_wallet_analysis(chain, address)` | 5/day | $0.01 |
| `resolve_entity(wallet_id)` | no | $0.10 |
| `rag_search(query, collection, top_k)` | 5/day | $0.01 |
| `rag_ingest(content, collection)` | no | $0.10 |
| `list_news(since_hours, limit)` | 5/day | $0.01 |
| `get_news_trending(window_hours, limit)` | 5/day | $0.01 |
| `get_news(news_id)` | 5/day | $0.01 |
| `analyze_news(news_id)` | 5/day | $0.01 |
| `generate_report(subject_type, subject_id)` | no | $5.00 |
## MCP integration
RMI is a Model Context Protocol server. Add to your AI agent:
```json
{
"mcpServers": {
"rugmunch": {
"url": "https://api.rugmunch.io/mcp",
"transport": "streamable-http"
}
}
}
```
## License
MIT © Rug Munch Intelligence

View file

@ -0,0 +1,217 @@
# rugmunch.AdminAlertsApi
All URIs are relative to *http://localhost*
Method | HTTP request | Description
------------- | ------------- | -------------
[**alerts_critical_webhook_api_v1_admin_alerts_critical_post**](AdminAlertsApi.md#alerts_critical_webhook_api_v1_admin_alerts_critical_post) | **POST** /api/v1/admin/alerts/critical | Alerts Critical Webhook
[**alerts_recent_api_v1_admin_alerts_recent_get**](AdminAlertsApi.md#alerts_recent_api_v1_admin_alerts_recent_get) | **GET** /api/v1/admin/alerts/recent | Alerts Recent
[**alerts_webhook_api_v1_admin_alerts_webhook_post**](AdminAlertsApi.md#alerts_webhook_api_v1_admin_alerts_webhook_post) | **POST** /api/v1/admin/alerts/webhook | Alerts Webhook
# **alerts_critical_webhook_api_v1_admin_alerts_critical_post**
> Dict[str, object] alerts_critical_webhook_api_v1_admin_alerts_critical_post(alertmanager_payload)
Alerts Critical Webhook
Critical-only webhook — escalations only (severity=critical).
### Example
```python
import rugmunch
from rugmunch.models.alertmanager_payload import AlertmanagerPayload
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.AdminAlertsApi(api_client)
alertmanager_payload = rugmunch.AlertmanagerPayload() # AlertmanagerPayload |
try:
# Alerts Critical Webhook
api_response = api_instance.alerts_critical_webhook_api_v1_admin_alerts_critical_post(alertmanager_payload)
print("The response of AdminAlertsApi->alerts_critical_webhook_api_v1_admin_alerts_critical_post:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling AdminAlertsApi->alerts_critical_webhook_api_v1_admin_alerts_critical_post: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**alertmanager_payload** | [**AlertmanagerPayload**](AlertmanagerPayload.md)| |
### Return type
**Dict[str, object]**
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **alerts_recent_api_v1_admin_alerts_recent_get**
> Dict[str, object] alerts_recent_api_v1_admin_alerts_recent_get(limit=limit)
Alerts Recent
Read recent alerts (debug endpoint — admin only in production).
### Example
```python
import rugmunch
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.AdminAlertsApi(api_client)
limit = 50 # int | (optional) (default to 50)
try:
# Alerts Recent
api_response = api_instance.alerts_recent_api_v1_admin_alerts_recent_get(limit=limit)
print("The response of AdminAlertsApi->alerts_recent_api_v1_admin_alerts_recent_get:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling AdminAlertsApi->alerts_recent_api_v1_admin_alerts_recent_get: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**limit** | **int**| | [optional] [default to 50]
### Return type
**Dict[str, object]**
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **alerts_webhook_api_v1_admin_alerts_webhook_post**
> Dict[str, object] alerts_webhook_api_v1_admin_alerts_webhook_post(alertmanager_payload)
Alerts Webhook
Default receiver webhook — all severities.
### Example
```python
import rugmunch
from rugmunch.models.alertmanager_payload import AlertmanagerPayload
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.AdminAlertsApi(api_client)
alertmanager_payload = rugmunch.AlertmanagerPayload() # AlertmanagerPayload |
try:
# Alerts Webhook
api_response = api_instance.alerts_webhook_api_v1_admin_alerts_webhook_post(alertmanager_payload)
print("The response of AdminAlertsApi->alerts_webhook_api_v1_admin_alerts_webhook_post:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling AdminAlertsApi->alerts_webhook_api_v1_admin_alerts_webhook_post: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**alertmanager_payload** | [**AlertmanagerPayload**](AlertmanagerPayload.md)| |
### Return type
**Dict[str, object]**
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

View file

@ -0,0 +1,36 @@
# AlertSubscription
A token alert subscription record (what we store in Redis).
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **str** | Unique subscription id, e.g. alert:1700000000 |
**token_address** | **str** | |
**alert_types** | [**List[AlertType]**](AlertType.md) | | [optional]
**webhook_url** | **str** | | [optional]
**created_at** | **datetime** | | [optional]
**active** | **bool** | | [optional] [default to True]
**owner_id** | **str** | User id of subscription owner, None = anonymous | [optional]
## Example
```python
from rugmunch.models.alert_subscription import AlertSubscription
# TODO update the JSON string below
json = "{}"
# create an instance of AlertSubscription from a JSON string
alert_subscription_instance = AlertSubscription.from_json(json)
# print the JSON string representation of the object
print(AlertSubscription.to_json())
# convert the object into a dict
alert_subscription_dict = alert_subscription_instance.to_dict()
# create an instance of AlertSubscription from a dict
alert_subscription_from_dict = AlertSubscription.from_dict(alert_subscription_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -0,0 +1,23 @@
# AlertType
Valid alert trigger types. Matches the legacy alert_types enum.
## Enum
* `LIQUIDITY_REMOVE` (value: `'liquidity_remove'`)
* `MINT` (value: `'mint'`)
* `BLACKLIST` (value: `'blacklist'`)
* `HONEYPOT` (value: `'honeypot'`)
* `RUG_PULL` (value: `'rug_pull'`)
* `WHALE_MOVEMENT` (value: `'whale_movement'`)
* `DEPLOYER_SELL` (value: `'deployer_sell'`)
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -0,0 +1,34 @@
# AlertmanagerAlert
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**status** | **str** | |
**labels** | **Dict[str, str]** | | [optional]
**annotations** | **Dict[str, str]** | | [optional]
**starts_at** | **str** | | [optional]
**ends_at** | **str** | | [optional]
**generator_url** | **str** | | [optional]
## Example
```python
from rugmunch.models.alertmanager_alert import AlertmanagerAlert
# TODO update the JSON string below
json = "{}"
# create an instance of AlertmanagerAlert from a JSON string
alertmanager_alert_instance = AlertmanagerAlert.from_json(json)
# print the JSON string representation of the object
print(AlertmanagerAlert.to_json())
# convert the object into a dict
alertmanager_alert_dict = alertmanager_alert_instance.to_dict()
# create an instance of AlertmanagerAlert from a dict
alertmanager_alert_from_dict = AlertmanagerAlert.from_dict(alertmanager_alert_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -0,0 +1,37 @@
# AlertmanagerPayload
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**version** | **str** | | [optional]
**group_key** | **str** | | [optional]
**status** | **str** | |
**receiver** | **str** | | [optional]
**group_labels** | **Dict[str, str]** | | [optional]
**common_labels** | **Dict[str, str]** | | [optional]
**common_annotations** | **Dict[str, str]** | | [optional]
**external_url** | **str** | | [optional]
**alerts** | [**List[AlertmanagerAlert]**](AlertmanagerAlert.md) | | [optional]
## Example
```python
from rugmunch.models.alertmanager_payload import AlertmanagerPayload
# TODO update the JSON string below
json = "{}"
# create an instance of AlertmanagerPayload from a JSON string
alertmanager_payload_instance = AlertmanagerPayload.from_json(json)
# print the JSON string representation of the object
print(AlertmanagerPayload.to_json())
# convert the object into a dict
alertmanager_payload_dict = alertmanager_payload_instance.to_dict()
# create an instance of AlertmanagerPayload from a dict
alertmanager_payload_from_dict = AlertmanagerPayload.from_dict(alertmanager_payload_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -0,0 +1,211 @@
# rugmunch.AlertsApi
All URIs are relative to *http://localhost*
Method | HTTP request | Description
------------- | ------------- | -------------
[**cancel_api_v1_alerts_alert_id_delete**](AlertsApi.md#cancel_api_v1_alerts_alert_id_delete) | **DELETE** /api/v1/alerts/{alert_id} | Cancel
[**list_alerts_api_v1_alerts_get**](AlertsApi.md#list_alerts_api_v1_alerts_get) | **GET** /api/v1/alerts | List Alerts
[**subscribe_api_v1_alerts_subscribe_post**](AlertsApi.md#subscribe_api_v1_alerts_subscribe_post) | **POST** /api/v1/alerts/subscribe | Subscribe
# **cancel_api_v1_alerts_alert_id_delete**
> cancel_api_v1_alerts_alert_id_delete(alert_id)
Cancel
Cancel (delete) a subscription. Owner only.
### Example
```python
import rugmunch
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.AlertsApi(api_client)
alert_id = 'alert_id_example' # str |
try:
# Cancel
api_instance.cancel_api_v1_alerts_alert_id_delete(alert_id)
except Exception as e:
print("Exception when calling AlertsApi->cancel_api_v1_alerts_alert_id_delete: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**alert_id** | **str**| |
### Return type
void (empty response body)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**204** | Successful Response | - |
**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **list_alerts_api_v1_alerts_get**
> PaginatedResponse list_alerts_api_v1_alerts_get()
List Alerts
List alert subscriptions. Authenticated users see their own; anonymous sees all (legacy behavior).
### Example
```python
import rugmunch
from rugmunch.models.paginated_response import PaginatedResponse
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.AlertsApi(api_client)
try:
# List Alerts
api_response = api_instance.list_alerts_api_v1_alerts_get()
print("The response of AlertsApi->list_alerts_api_v1_alerts_get:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling AlertsApi->list_alerts_api_v1_alerts_get: %s\n" % e)
```
### Parameters
This endpoint does not need any parameter.
### Return type
[**PaginatedResponse**](PaginatedResponse.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **subscribe_api_v1_alerts_subscribe_post**
> AlertSubscription subscribe_api_v1_alerts_subscribe_post(create_alert_request)
Subscribe
Create a new alert subscription for a token.
### Example
```python
import rugmunch
from rugmunch.models.alert_subscription import AlertSubscription
from rugmunch.models.create_alert_request import CreateAlertRequest
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.AlertsApi(api_client)
create_alert_request = rugmunch.CreateAlertRequest() # CreateAlertRequest |
try:
# Subscribe
api_response = api_instance.subscribe_api_v1_alerts_subscribe_post(create_alert_request)
print("The response of AlertsApi->subscribe_api_v1_alerts_subscribe_post:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling AlertsApi->subscribe_api_v1_alerts_subscribe_post: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**create_alert_request** | [**CreateAlertRequest**](CreateAlertRequest.md)| |
### Return type
[**AlertSubscription**](AlertSubscription.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**201** | Successful Response | - |
**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

View file

@ -0,0 +1,33 @@
# AppDomainScannerModelsScanRequest
Request body for the token scan endpoint.
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**address** | **str** | Token contract address |
**chain** | **str** | | [optional] [default to 'solana']
**tier** | [**ScanTier**](ScanTier.md) | | [optional]
**user_id** | **str** | Optional user id for rate-limit tracking | [optional]
## Example
```python
from rugmunch.models.app_domain_scanner_models_scan_request import AppDomainScannerModelsScanRequest
# TODO update the JSON string below
json = "{}"
# create an instance of AppDomainScannerModelsScanRequest from a JSON string
app_domain_scanner_models_scan_request_instance = AppDomainScannerModelsScanRequest.from_json(json)
# print the JSON string representation of the object
print(AppDomainScannerModelsScanRequest.to_json())
# convert the object into a dict
app_domain_scanner_models_scan_request_dict = app_domain_scanner_models_scan_request_instance.to_dict()
# create an instance of AppDomainScannerModelsScanRequest from a dict
app_domain_scanner_models_scan_request_from_dict = AppDomainScannerModelsScanRequest.from_dict(app_domain_scanner_models_scan_request_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -0,0 +1,17 @@
# AppDomainTokenModelsRiskLevel
Token risk classification.
## Enum
* `LOW` (value: `'low'`)
* `MEDIUM` (value: `'medium'`)
* `HIGH` (value: `'high'`)
* `CRITICAL` (value: `'critical'`)
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -0,0 +1,32 @@
# AppDomainWalletModelsScanRequest
Request body for the wallet scan endpoint.
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**address** | **str** | |
**chain** | **str** | | [optional] [default to 'solana']
**tier** | **str** | free | pro | elite | internal | [optional] [default to 'free']
## Example
```python
from rugmunch.models.app_domain_wallet_models_scan_request import AppDomainWalletModelsScanRequest
# TODO update the JSON string below
json = "{}"
# create an instance of AppDomainWalletModelsScanRequest from a JSON string
app_domain_wallet_models_scan_request_instance = AppDomainWalletModelsScanRequest.from_json(json)
# print the JSON string representation of the object
print(AppDomainWalletModelsScanRequest.to_json())
# convert the object into a dict
app_domain_wallet_models_scan_request_dict = app_domain_wallet_models_scan_request_instance.to_dict()
# create an instance of AppDomainWalletModelsScanRequest from a dict
app_domain_wallet_models_scan_request_from_dict = AppDomainWalletModelsScanRequest.from_dict(app_domain_wallet_models_scan_request_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -0,0 +1,31 @@
# AttachRagRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**chain** | **str** | |
**address** | **str** | |
**qdrant_point_id** | **str** | |
## Example
```python
from rugmunch.models.attach_rag_request import AttachRagRequest
# TODO update the JSON string below
json = "{}"
# create an instance of AttachRagRequest from a JSON string
attach_rag_request_instance = AttachRagRequest.from_json(json)
# print the JSON string representation of the object
print(AttachRagRequest.to_json())
# convert the object into a dict
attach_rag_request_dict = attach_rag_request_instance.to_dict()
# create an instance of AttachRagRequest from a dict
attach_rag_request_from_dict = AttachRagRequest.from_dict(attach_rag_request_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -0,0 +1,36 @@
# Balance
Wallet balance + token holdings.
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**address** | **str** | |
**chain** | **str** | |
**native_balance** | **float** | | [optional] [default to 0.0]
**native_symbol** | **str** | | [optional] [default to '']
**total_value_usd** | **float** | | [optional] [default to 0.0]
**tokens** | [**List[TokenHolding]**](TokenHolding.md) | | [optional]
**fetched_at** | **datetime** | | [optional]
## Example
```python
from rugmunch.models.balance import Balance
# TODO update the JSON string below
json = "{}"
# create an instance of Balance from a JSON string
balance_instance = Balance.from_json(json)
# print the JSON string representation of the object
print(Balance.to_json())
# convert the object into a dict
balance_dict = balance_instance.to_dict()
# create an instance of Balance from a dict
balance_from_dict = Balance.from_dict(balance_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -0,0 +1,30 @@
# BulkIngestRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**collection** | **str** | | [optional] [default to 'scam_intel']
**items** | **List[Dict[str, object]]** | | [optional]
## Example
```python
from rugmunch.models.bulk_ingest_request import BulkIngestRequest
# TODO update the JSON string below
json = "{}"
# create an instance of BulkIngestRequest from a JSON string
bulk_ingest_request_instance = BulkIngestRequest.from_json(json)
# print the JSON string representation of the object
print(BulkIngestRequest.to_json())
# convert the object into a dict
bulk_ingest_request_dict = bulk_ingest_request_instance.to_dict()
# create an instance of BulkIngestRequest from a dict
bulk_ingest_request_from_dict = BulkIngestRequest.from_dict(bulk_ingest_request_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -0,0 +1,701 @@
# rugmunch.CatalogApi
All URIs are relative to *http://localhost*
Method | HTTP request | Description
------------- | ------------- | -------------
[**attach_rag_api_v1_catalog_tokens_chain_address_attach_rag_post**](CatalogApi.md#attach_rag_api_v1_catalog_tokens_chain_address_attach_rag_post) | **POST** /api/v1/catalog/tokens/{chain}/{address}/attach-rag | Attach Rag
[**get_token_api_v1_catalog_tokens_chain_address_get**](CatalogApi.md#get_token_api_v1_catalog_tokens_chain_address_get) | **GET** /api/v1/catalog/tokens/{chain}/{address} | Get Token
[**get_token_risk_api_v1_catalog_tokens_chain_address_risk_get**](CatalogApi.md#get_token_risk_api_v1_catalog_tokens_chain_address_risk_get) | **GET** /api/v1/catalog/tokens/{chain}/{address}/risk | Get Token Risk
[**get_wallet_api_v1_catalog_wallets_chain_address_get**](CatalogApi.md#get_wallet_api_v1_catalog_wallets_chain_address_get) | **GET** /api/v1/catalog/wallets/{chain}/{address} | Get Wallet
[**probe_api_v1_catalog_probe_get**](CatalogApi.md#probe_api_v1_catalog_probe_get) | **GET** /api/v1/catalog/probe | Probe
[**rag_ingest_api_v1_catalog_rag_ingest_post**](CatalogApi.md#rag_ingest_api_v1_catalog_rag_ingest_post) | **POST** /api/v1/catalog/rag/ingest | Rag Ingest
[**rag_search_api_v1_catalog_rag_search_post**](CatalogApi.md#rag_search_api_v1_catalog_rag_search_post) | **POST** /api/v1/catalog/rag/search | Rag Search
[**resolve_entity_api_v1_catalog_entities_resolve_post**](CatalogApi.md#resolve_entity_api_v1_catalog_entities_resolve_post) | **POST** /api/v1/catalog/entities/resolve | Resolve Entity
[**risky_tokens_api_v1_catalog_tokens_risky_by_deployer_post**](CatalogApi.md#risky_tokens_api_v1_catalog_tokens_risky_by_deployer_post) | **POST** /api/v1/catalog/tokens/risky-by-deployer | Risky Tokens
[**stats_api_v1_catalog_stats_get**](CatalogApi.md#stats_api_v1_catalog_stats_get) | **GET** /api/v1/catalog/stats | Stats
# **attach_rag_api_v1_catalog_tokens_chain_address_attach_rag_post**
> Dict[str, object] attach_rag_api_v1_catalog_tokens_chain_address_attach_rag_post(chain, address, attach_rag_request)
Attach Rag
Link an existing RAG embedding (Qdrant point) to a Token row.
### Example
```python
import rugmunch
from rugmunch.models.attach_rag_request import AttachRagRequest
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.CatalogApi(api_client)
chain = 'chain_example' # str |
address = 'address_example' # str |
attach_rag_request = rugmunch.AttachRagRequest() # AttachRagRequest |
try:
# Attach Rag
api_response = api_instance.attach_rag_api_v1_catalog_tokens_chain_address_attach_rag_post(chain, address, attach_rag_request)
print("The response of CatalogApi->attach_rag_api_v1_catalog_tokens_chain_address_attach_rag_post:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling CatalogApi->attach_rag_api_v1_catalog_tokens_chain_address_attach_rag_post: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**chain** | **str**| |
**address** | **str**| |
**attach_rag_request** | [**AttachRagRequest**](AttachRagRequest.md)| |
### Return type
**Dict[str, object]**
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **get_token_api_v1_catalog_tokens_chain_address_get**
> Dict[str, object] get_token_api_v1_catalog_tokens_chain_address_get(chain, address)
Get Token
Get a token by chain+address. Returns full Token model + provenance.
### Example
```python
import rugmunch
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.CatalogApi(api_client)
chain = 'chain_example' # str |
address = 'address_example' # str |
try:
# Get Token
api_response = api_instance.get_token_api_v1_catalog_tokens_chain_address_get(chain, address)
print("The response of CatalogApi->get_token_api_v1_catalog_tokens_chain_address_get:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling CatalogApi->get_token_api_v1_catalog_tokens_chain_address_get: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**chain** | **str**| |
**address** | **str**| |
### Return type
**Dict[str, object]**
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **get_token_risk_api_v1_catalog_tokens_chain_address_risk_get**
> Dict[str, object] get_token_risk_api_v1_catalog_tokens_chain_address_risk_get(chain, address)
Get Token Risk
Recipe 3 — Real-time risk score. Composes Redis + Postgres + Neo4j.
### Example
```python
import rugmunch
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.CatalogApi(api_client)
chain = 'chain_example' # str |
address = 'address_example' # str |
try:
# Get Token Risk
api_response = api_instance.get_token_risk_api_v1_catalog_tokens_chain_address_risk_get(chain, address)
print("The response of CatalogApi->get_token_risk_api_v1_catalog_tokens_chain_address_risk_get:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling CatalogApi->get_token_risk_api_v1_catalog_tokens_chain_address_risk_get: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**chain** | **str**| |
**address** | **str**| |
### Return type
**Dict[str, object]**
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **get_wallet_api_v1_catalog_wallets_chain_address_get**
> Dict[str, object] get_wallet_api_v1_catalog_wallets_chain_address_get(chain, address)
Get Wallet
### Example
```python
import rugmunch
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.CatalogApi(api_client)
chain = 'chain_example' # str |
address = 'address_example' # str |
try:
# Get Wallet
api_response = api_instance.get_wallet_api_v1_catalog_wallets_chain_address_get(chain, address)
print("The response of CatalogApi->get_wallet_api_v1_catalog_wallets_chain_address_get:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling CatalogApi->get_wallet_api_v1_catalog_wallets_chain_address_get: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**chain** | **str**| |
**address** | **str**| |
### Return type
**Dict[str, object]**
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **probe_api_v1_catalog_probe_get**
> Dict[str, object] probe_api_v1_catalog_probe_get()
Probe
Probe which stores are reachable from this container.
### Example
```python
import rugmunch
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.CatalogApi(api_client)
try:
# Probe
api_response = api_instance.probe_api_v1_catalog_probe_get()
print("The response of CatalogApi->probe_api_v1_catalog_probe_get:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling CatalogApi->probe_api_v1_catalog_probe_get: %s\n" % e)
```
### Parameters
This endpoint does not need any parameter.
### Return type
**Dict[str, object]**
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **rag_ingest_api_v1_catalog_rag_ingest_post**
> Dict[str, object] rag_ingest_api_v1_catalog_rag_ingest_post(rag_ingest_request)
Rag Ingest
Ingest content into RAG. Returns qdrant_point_id for cross-store linking.
### Example
```python
import rugmunch
from rugmunch.models.rag_ingest_request import RagIngestRequest
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.CatalogApi(api_client)
rag_ingest_request = rugmunch.RagIngestRequest() # RagIngestRequest |
try:
# Rag Ingest
api_response = api_instance.rag_ingest_api_v1_catalog_rag_ingest_post(rag_ingest_request)
print("The response of CatalogApi->rag_ingest_api_v1_catalog_rag_ingest_post:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling CatalogApi->rag_ingest_api_v1_catalog_rag_ingest_post: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**rag_ingest_request** | [**RagIngestRequest**](RagIngestRequest.md)| |
### Return type
**Dict[str, object]**
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **rag_search_api_v1_catalog_rag_search_post**
> Dict[str, object] rag_search_api_v1_catalog_rag_search_post(rag_search_request)
Rag Search
Search the RAG system. Returns ranked hits with RRF scores.
### Example
```python
import rugmunch
from rugmunch.models.rag_search_request import RagSearchRequest
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.CatalogApi(api_client)
rag_search_request = rugmunch.RagSearchRequest() # RagSearchRequest |
try:
# Rag Search
api_response = api_instance.rag_search_api_v1_catalog_rag_search_post(rag_search_request)
print("The response of CatalogApi->rag_search_api_v1_catalog_rag_search_post:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling CatalogApi->rag_search_api_v1_catalog_rag_search_post: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**rag_search_request** | [**RagSearchRequest**](RagSearchRequest.md)| |
### Return type
**Dict[str, object]**
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **resolve_entity_api_v1_catalog_entities_resolve_post**
> Dict[str, object] resolve_entity_api_v1_catalog_entities_resolve_post(resolve_entity_request)
Resolve Entity
Cross-chain entity resolution via Neo4j Cypher.
### Example
```python
import rugmunch
from rugmunch.models.resolve_entity_request import ResolveEntityRequest
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.CatalogApi(api_client)
resolve_entity_request = rugmunch.ResolveEntityRequest() # ResolveEntityRequest |
try:
# Resolve Entity
api_response = api_instance.resolve_entity_api_v1_catalog_entities_resolve_post(resolve_entity_request)
print("The response of CatalogApi->resolve_entity_api_v1_catalog_entities_resolve_post:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling CatalogApi->resolve_entity_api_v1_catalog_entities_resolve_post: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**resolve_entity_request** | [**ResolveEntityRequest**](ResolveEntityRequest.md)| |
### Return type
**Dict[str, object]**
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **risky_tokens_api_v1_catalog_tokens_risky_by_deployer_post**
> Dict[str, object] risky_tokens_api_v1_catalog_tokens_risky_by_deployer_post(find_risky_tokens_request)
Risky Tokens
Recipe 1 — Find tokens deployed by wallets with rug history.
### Example
```python
import rugmunch
from rugmunch.models.find_risky_tokens_request import FindRiskyTokensRequest
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.CatalogApi(api_client)
find_risky_tokens_request = rugmunch.FindRiskyTokensRequest() # FindRiskyTokensRequest |
try:
# Risky Tokens
api_response = api_instance.risky_tokens_api_v1_catalog_tokens_risky_by_deployer_post(find_risky_tokens_request)
print("The response of CatalogApi->risky_tokens_api_v1_catalog_tokens_risky_by_deployer_post:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling CatalogApi->risky_tokens_api_v1_catalog_tokens_risky_by_deployer_post: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**find_risky_tokens_request** | [**FindRiskyTokensRequest**](FindRiskyTokensRequest.md)| |
### Return type
**Dict[str, object]**
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **stats_api_v1_catalog_stats_get**
> Dict[str, object] stats_api_v1_catalog_stats_get()
Stats
Catalog stats: which stores are reachable + entity counts.
### Example
```python
import rugmunch
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.CatalogApi(api_client)
try:
# Stats
api_response = api_instance.stats_api_v1_catalog_stats_get()
print("The response of CatalogApi->stats_api_v1_catalog_stats_get:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling CatalogApi->stats_api_v1_catalog_stats_get: %s\n" % e)
```
### Parameters
This endpoint does not need any parameter.
### Return type
**Dict[str, object]**
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

View file

@ -0,0 +1,32 @@
# CatalogResponse
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**server** | **str** | | [optional] [default to 'rugmunch-intelligence']
**version** | **str** | | [optional] [default to '4.0']
**tools** | **List[Dict[str, object]]** | | [optional]
**payment_protocol** | **str** | | [optional] [default to 'x402']
## Example
```python
from rugmunch.models.catalog_response import CatalogResponse
# TODO update the JSON string below
json = "{}"
# create an instance of CatalogResponse from a JSON string
catalog_response_instance = CatalogResponse.from_json(json)
# print the JSON string representation of the object
print(CatalogResponse.to_json())
# convert the object into a dict
catalog_response_dict = catalog_response_instance.to_dict()
# create an instance of CatalogResponse from a dict
catalog_response_from_dict = CatalogResponse.from_dict(catalog_response_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -0,0 +1,32 @@
# CreateAlertRequest
What the API accepts to create a subscription.
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**token_address** | **str** | |
**alert_types** | [**List[AlertType]**](AlertType.md) | | [optional]
**webhook_url** | **str** | | [optional]
## Example
```python
from rugmunch.models.create_alert_request import CreateAlertRequest
# TODO update the JSON string below
json = "{}"
# create an instance of CreateAlertRequest from a JSON string
create_alert_request_instance = CreateAlertRequest.from_json(json)
# print the JSON string representation of the object
print(CreateAlertRequest.to_json())
# convert the object into a dict
create_alert_request_dict = create_alert_request_instance.to_dict()
# create an instance of CreateAlertRequest from a dict
create_alert_request_from_dict = CreateAlertRequest.from_dict(create_alert_request_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -0,0 +1,35 @@
# FeedbackRecord
Scanner → RAG feedback record.
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**token_address** | **str** | |
**chain** | **str** | | [optional] [default to 'solana']
**safety_score** | **float** | |
**risk_flags** | **List[str]** | | [optional]
**action** | **str** | | [optional] [default to 'ingest']
**source** | **str** | | [optional] [default to 'scanner']
## Example
```python
from rugmunch.models.feedback_record import FeedbackRecord
# TODO update the JSON string below
json = "{}"
# create an instance of FeedbackRecord from a JSON string
feedback_record_instance = FeedbackRecord.from_json(json)
# print the JSON string representation of the object
print(FeedbackRecord.to_json())
# convert the object into a dict
feedback_record_dict = feedback_record_instance.to_dict()
# create an instance of FeedbackRecord from a dict
feedback_record_from_dict = FeedbackRecord.from_dict(feedback_record_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -0,0 +1,31 @@
# FindRiskyTokensRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**min_rug_count** | **int** | | [optional] [default to 1]
**chain** | **str** | | [optional]
**limit** | **int** | | [optional] [default to 50]
## Example
```python
from rugmunch.models.find_risky_tokens_request import FindRiskyTokensRequest
# TODO update the JSON string below
json = "{}"
# create an instance of FindRiskyTokensRequest from a JSON string
find_risky_tokens_request_instance = FindRiskyTokensRequest.from_json(json)
# print the JSON string representation of the object
print(FindRiskyTokensRequest.to_json())
# convert the object into a dict
find_risky_tokens_request_dict = find_risky_tokens_request_instance.to_dict()
# create an instance of FindRiskyTokensRequest from a dict
find_risky_tokens_request_from_dict = FindRiskyTokensRequest.from_dict(find_risky_tokens_request_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -0,0 +1,32 @@
# GenerateRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**subject_type** | **str** | |
**subject_id** | **str** | \"chain:address\" |
**model** | **str** | | [optional] [default to 'deepseek-v3']
**save** | **bool** | | [optional] [default to True]
## Example
```python
from rugmunch.models.generate_request import GenerateRequest
# TODO update the JSON string below
json = "{}"
# create an instance of GenerateRequest from a JSON string
generate_request_instance = GenerateRequest.from_json(json)
# print the JSON string representation of the object
print(GenerateRequest.to_json())
# convert the object into a dict
generate_request_dict = generate_request_instance.to_dict()
# create an instance of GenerateRequest from a dict
generate_request_from_dict = GenerateRequest.from_dict(generate_request_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -0,0 +1,40 @@
# GenerateResponse
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**report_id** | **str** | |
**subject_type** | **str** | |
**subject_id** | **str** | |
**risk_score** | **int** | |
**risk_tier** | **str** | |
**risk_factors** | **List[str]** | | [optional]
**generated_by_model** | **str** | |
**generated_at** | **str** | |
**sections** | **Dict[str, str]** | | [optional]
**markdown** | **str** | |
**paid_via_x402** | **str** | | [optional]
**error** | **str** | | [optional]
## Example
```python
from rugmunch.models.generate_response import GenerateResponse
# TODO update the JSON string below
json = "{}"
# create an instance of GenerateResponse from a JSON string
generate_response_instance = GenerateResponse.from_json(json)
# print the JSON string representation of the object
print(GenerateResponse.to_json())
# convert the object into a dict
generate_response_dict = generate_response_instance.to_dict()
# create an instance of GenerateResponse from a dict
generate_response_from_dict = GenerateResponse.from_dict(generate_response_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -0,0 +1,29 @@
# HTTPValidationError
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**detail** | [**List[ValidationError]**](ValidationError.md) | | [optional]
## Example
```python
from rugmunch.models.http_validation_error import HTTPValidationError
# TODO update the JSON string below
json = "{}"
# create an instance of HTTPValidationError from a JSON string
http_validation_error_instance = HTTPValidationError.from_json(json)
# print the JSON string representation of the object
print(HTTPValidationError.to_json())
# convert the object into a dict
http_validation_error_dict = http_validation_error_instance.to_dict()
# create an instance of HTTPValidationError from a dict
http_validation_error_from_dict = HTTPValidationError.from_dict(http_validation_error_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -0,0 +1,203 @@
# rugmunch.HealthApi
All URIs are relative to *http://localhost*
Method | HTTP request | Description
------------- | ------------- | -------------
[**health_health_get**](HealthApi.md#health_health_get) | **GET** /health | Health
[**live_live_get**](HealthApi.md#live_live_get) | **GET** /live | Live
[**ready_ready_get**](HealthApi.md#ready_ready_get) | **GET** /ready | Ready
# **health_health_get**
> object health_health_get()
Health
Deep health — runs every registered domain health check.
Each domain registers its own check via core.health.register_health_check().
Returns 200 if all domains healthy, 503 if any critical domain down.
### Example
```python
import rugmunch
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.HealthApi(api_client)
try:
# Health
api_response = api_instance.health_health_get()
print("The response of HealthApi->health_health_get:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling HealthApi->health_health_get: %s\n" % e)
```
### Parameters
This endpoint does not need any parameter.
### Return type
**object**
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **live_live_get**
> Dict[str, object] live_live_get()
Live
Liveness probe. Process up. Always 200 unless the process is dead.
### Example
```python
import rugmunch
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.HealthApi(api_client)
try:
# Live
api_response = api_instance.live_live_get()
print("The response of HealthApi->live_live_get:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling HealthApi->live_live_get: %s\n" % e)
```
### Parameters
This endpoint does not need any parameter.
### Return type
**Dict[str, object]**
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **ready_ready_get**
> object ready_ready_get()
Ready
Readiness probe. 200 if critical deps reachable, 503 otherwise.
### Example
```python
import rugmunch
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.HealthApi(api_client)
try:
# Ready
api_response = api_instance.ready_ready_get()
print("The response of HealthApi->ready_ready_get:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling HealthApi->ready_ready_get: %s\n" % e)
```
### Parameters
This endpoint does not need any parameter.
### Return type
**object**
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

28
sdks/python/docs/Id.md Normal file
View file

@ -0,0 +1,28 @@
# Id
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
## Example
```python
from rugmunch.models.id import Id
# TODO update the JSON string below
json = "{}"
# create an instance of Id from a JSON string
id_instance = Id.from_json(json)
# print the JSON string representation of the object
print(Id.to_json())
# convert the object into a dict
id_dict = id_instance.to_dict()
# create an instance of Id from a dict
id_from_dict = Id.from_dict(id_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -0,0 +1,33 @@
# IngestRequest
RAG document ingestion request.
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**collection** | **str** | | [optional] [default to 'scam_intel']
**content** | **str** | |
**doc_id** | **str** | | [optional]
**metadata** | **Dict[str, object]** | | [optional]
## Example
```python
from rugmunch.models.ingest_request import IngestRequest
# TODO update the JSON string below
json = "{}"
# create an instance of IngestRequest from a JSON string
ingest_request_instance = IngestRequest.from_json(json)
# print the JSON string representation of the object
print(IngestRequest.to_json())
# convert the object into a dict
ingest_request_dict = ingest_request_instance.to_dict()
# create an instance of IngestRequest from a dict
ingest_request_from_dict = IngestRequest.from_dict(ingest_request_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -0,0 +1,35 @@
# IngestResult
RAG document ingestion result.
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**doc_id** | **str** | |
**collection** | **str** | |
**status** | **str** | | [optional] [default to 'ok']
**chunks** | **int** | | [optional] [default to 0]
**error** | **str** | | [optional]
**ingested_at** | **datetime** | | [optional]
## Example
```python
from rugmunch.models.ingest_result import IngestResult
# TODO update the JSON string below
json = "{}"
# create an instance of IngestResult from a JSON string
ingest_result_instance = IngestResult.from_json(json)
# print the JSON string representation of the object
print(IngestResult.to_json())
# convert the object into a dict
ingest_result_dict = ingest_result_instance.to_dict()
# create an instance of IngestResult from a dict
ingest_result_from_dict = IngestResult.from_dict(ingest_result_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -0,0 +1,32 @@
# JsonRpcRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**jsonrpc** | **str** | | [optional] [default to '2.0']
**method** | **str** | |
**params** | **Dict[str, object]** | | [optional]
**id** | [**Id**](Id.md) | | [optional]
## Example
```python
from rugmunch.models.json_rpc_request import JsonRpcRequest
# TODO update the JSON string below
json = "{}"
# create an instance of JsonRpcRequest from a JSON string
json_rpc_request_instance = JsonRpcRequest.from_json(json)
# print the JSON string representation of the object
print(JsonRpcRequest.to_json())
# convert the object into a dict
json_rpc_request_dict = json_rpc_request_instance.to_dict()
# create an instance of JsonRpcRequest from a dict
json_rpc_request_from_dict = JsonRpcRequest.from_dict(json_rpc_request_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -0,0 +1,28 @@
# LocationInner
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
## Example
```python
from rugmunch.models.location_inner import LocationInner
# TODO update the JSON string below
json = "{}"
# create an instance of LocationInner from a JSON string
location_inner_instance = LocationInner.from_json(json)
# print the JSON string representation of the object
print(LocationInner.to_json())
# convert the object into a dict
location_inner_dict = location_inner_instance.to_dict()
# create an instance of LocationInner from a dict
location_inner_from_dict = LocationInner.from_dict(location_inner_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

218
sdks/python/docs/McpApi.md Normal file
View file

@ -0,0 +1,218 @@
# rugmunch.McpApi
All URIs are relative to *http://localhost*
Method | HTTP request | Description
------------- | ------------- | -------------
[**direct_call_mcp_call_tool_id_post**](McpApi.md#direct_call_mcp_call_tool_id_post) | **POST** /mcp/call/{tool_id} | Direct Call
[**jsonrpc_handler_mcp_post**](McpApi.md#jsonrpc_handler_mcp_post) | **POST** /mcp | Jsonrpc Handler
[**list_tools_mcp_tools_get**](McpApi.md#list_tools_mcp_tools_get) | **GET** /mcp/tools | List Tools
# **direct_call_mcp_call_tool_id_post**
> Dict[str, object] direct_call_mcp_call_tool_id_post(tool_id)
Direct Call
Direct tool execution (no JSON-RPC). For curl/scripts.
### Example
```python
import rugmunch
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.McpApi(api_client)
tool_id = 'tool_id_example' # str |
try:
# Direct Call
api_response = api_instance.direct_call_mcp_call_tool_id_post(tool_id)
print("The response of McpApi->direct_call_mcp_call_tool_id_post:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling McpApi->direct_call_mcp_call_tool_id_post: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**tool_id** | **str**| |
### Return type
**Dict[str, object]**
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **jsonrpc_handler_mcp_post**
> Dict[str, object] jsonrpc_handler_mcp_post(json_rpc_request)
Jsonrpc Handler
JSON-RPC 2.0 endpoint for MCP clients.
Methods:
- initialize → returns server info
- tools/list → returns tool catalog
- tools/call → dispatches to backend
- resources/list → empty
- prompts/list → empty
### Example
```python
import rugmunch
from rugmunch.models.json_rpc_request import JsonRpcRequest
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.McpApi(api_client)
json_rpc_request = rugmunch.JsonRpcRequest() # JsonRpcRequest |
try:
# Jsonrpc Handler
api_response = api_instance.jsonrpc_handler_mcp_post(json_rpc_request)
print("The response of McpApi->jsonrpc_handler_mcp_post:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling McpApi->jsonrpc_handler_mcp_post: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**json_rpc_request** | [**JsonRpcRequest**](JsonRpcRequest.md)| |
### Return type
**Dict[str, object]**
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **list_tools_mcp_tools_get**
> Dict[str, object] list_tools_mcp_tools_get()
List Tools
Plain JSON endpoint (for direct integration, no JSON-RPC).
### Example
```python
import rugmunch
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.McpApi(api_client)
try:
# List Tools
api_response = api_instance.list_tools_mcp_tools_get()
print("The response of McpApi->list_tools_mcp_tools_get:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling McpApi->list_tools_mcp_tools_get: %s\n" % e)
```
### Parameters
This endpoint does not need any parameter.
### Return type
**Dict[str, object]**
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

View file

@ -0,0 +1,72 @@
# rugmunch.MetaApi
All URIs are relative to *http://localhost*
Method | HTTP request | Description
------------- | ------------- | -------------
[**version_version_get**](MetaApi.md#version_version_get) | **GET** /version | Version
# **version_version_get**
> Dict[str, object] version_version_get()
Version
Backend version + git info.
### Example
```python
import rugmunch
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.MetaApi(api_client)
try:
# Version
api_response = api_instance.version_version_get()
print("The response of MetaApi->version_version_get:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling MetaApi->version_version_get: %s\n" % e)
```
### Parameters
This endpoint does not need any parameter.
### Return type
**Dict[str, object]**
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

View file

@ -0,0 +1,72 @@
# rugmunch.NewsAdminApi
All URIs are relative to *http://localhost*
Method | HTTP request | Description
------------- | ------------- | -------------
[**trigger_ingest_api_v1_news_admin_ingest_post**](NewsAdminApi.md#trigger_ingest_api_v1_news_admin_ingest_post) | **POST** /api/v1/news/_admin/ingest | Trigger Ingest
# **trigger_ingest_api_v1_news_admin_ingest_post**
> Dict[str, object] trigger_ingest_api_v1_news_admin_ingest_post()
Trigger Ingest
Trigger RSS ingest now (synchronous). Returns counts.
### Example
```python
import rugmunch
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.NewsAdminApi(api_client)
try:
# Trigger Ingest
api_response = api_instance.trigger_ingest_api_v1_news_admin_ingest_post()
print("The response of NewsAdminApi->trigger_ingest_api_v1_news_admin_ingest_post:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling NewsAdminApi->trigger_ingest_api_v1_news_admin_ingest_post: %s\n" % e)
```
### Parameters
This endpoint does not need any parameter.
### Return type
**Dict[str, object]**
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

View file

@ -0,0 +1,32 @@
# NewsAnalysisResponse
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**news_id** | **str** | |
**analysis** | **str** | |
**model** | **str** | | [optional]
**error** | **str** | | [optional]
## Example
```python
from rugmunch.models.news_analysis_response import NewsAnalysisResponse
# TODO update the JSON string below
json = "{}"
# create an instance of NewsAnalysisResponse from a JSON string
news_analysis_response_instance = NewsAnalysisResponse.from_json(json)
# print the JSON string representation of the object
print(NewsAnalysisResponse.to_json())
# convert the object into a dict
news_analysis_response_dict = news_analysis_response_instance.to_dict()
# create an instance of NewsAnalysisResponse from a dict
news_analysis_response_from_dict = NewsAnalysisResponse.from_dict(news_analysis_response_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

302
sdks/python/docs/NewsApi.md Normal file
View file

@ -0,0 +1,302 @@
# rugmunch.NewsApi
All URIs are relative to *http://localhost*
Method | HTTP request | Description
------------- | ------------- | -------------
[**analyze_news_api_v1_news_news_id_analyze_post**](NewsApi.md#analyze_news_api_v1_news_news_id_analyze_post) | **POST** /api/v1/news/{news_id}/analyze | Analyze News
[**get_news_api_v1_news_news_id_get**](NewsApi.md#get_news_api_v1_news_news_id_get) | **GET** /api/v1/news/{news_id} | Get News
[**list_news_api_v1_news_post**](NewsApi.md#list_news_api_v1_news_post) | **POST** /api/v1/news | List News
[**trending_news_api_v1_news_trending_get**](NewsApi.md#trending_news_api_v1_news_trending_get) | **GET** /api/v1/news/trending | Trending News
# **analyze_news_api_v1_news_news_id_analyze_post**
> NewsAnalysisResponse analyze_news_api_v1_news_news_id_analyze_post(news_id)
Analyze News
Generate LLM analysis via LiteLLM. Falls back to None if LLM unreachable.
### Example
```python
import rugmunch
from rugmunch.models.news_analysis_response import NewsAnalysisResponse
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.NewsApi(api_client)
news_id = 'news_id_example' # str |
try:
# Analyze News
api_response = api_instance.analyze_news_api_v1_news_news_id_analyze_post(news_id)
print("The response of NewsApi->analyze_news_api_v1_news_news_id_analyze_post:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling NewsApi->analyze_news_api_v1_news_news_id_analyze_post: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**news_id** | **str**| |
### Return type
[**NewsAnalysisResponse**](NewsAnalysisResponse.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **get_news_api_v1_news_news_id_get**
> NewsItemOut get_news_api_v1_news_news_id_get(news_id)
Get News
Single news item. Searches both news_items and crypto_news.
### Example
```python
import rugmunch
from rugmunch.models.news_item_out import NewsItemOut
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.NewsApi(api_client)
news_id = 'news_id_example' # str |
try:
# Get News
api_response = api_instance.get_news_api_v1_news_news_id_get(news_id)
print("The response of NewsApi->get_news_api_v1_news_news_id_get:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling NewsApi->get_news_api_v1_news_news_id_get: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**news_id** | **str**| |
### Return type
[**NewsItemOut**](NewsItemOut.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **list_news_api_v1_news_post**
> NewsListResponse list_news_api_v1_news_post(chain=chain, token=token, category=category, since_hours=since_hours, limit=limit, offset=offset, sort=sort)
List News
List news items with filters. Reads from both news_items (new) and crypto_news (legacy).
### Example
```python
import rugmunch
from rugmunch.models.news_list_response import NewsListResponse
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.NewsApi(api_client)
chain = 'chain_example' # str | (optional)
token = 'token_example' # str | (optional)
category = 'category_example' # str | (optional)
since_hours = 24 # int | (optional) (default to 24)
limit = 20 # int | (optional) (default to 20)
offset = 0 # int | (optional) (default to 0)
sort = 'recency' # str | (optional) (default to 'recency')
try:
# List News
api_response = api_instance.list_news_api_v1_news_post(chain=chain, token=token, category=category, since_hours=since_hours, limit=limit, offset=offset, sort=sort)
print("The response of NewsApi->list_news_api_v1_news_post:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling NewsApi->list_news_api_v1_news_post: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**chain** | **str**| | [optional]
**token** | **str**| | [optional]
**category** | **str**| | [optional]
**since_hours** | **int**| | [optional] [default to 24]
**limit** | **int**| | [optional] [default to 20]
**offset** | **int**| | [optional] [default to 0]
**sort** | **str**| | [optional] [default to 'recency']
### Return type
[**NewsListResponse**](NewsListResponse.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **trending_news_api_v1_news_trending_get**
> NewsListResponse trending_news_api_v1_news_trending_get(window_hours=window_hours, limit=limit)
Trending News
Time-decay trending. Reads from news_items (new) primary, falls back to crypto_news (legacy).
### Example
```python
import rugmunch
from rugmunch.models.news_list_response import NewsListResponse
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.NewsApi(api_client)
window_hours = 168 # int | (optional) (default to 168)
limit = 20 # int | (optional) (default to 20)
try:
# Trending News
api_response = api_instance.trending_news_api_v1_news_trending_get(window_hours=window_hours, limit=limit)
print("The response of NewsApi->trending_news_api_v1_news_trending_get:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling NewsApi->trending_news_api_v1_news_trending_get: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**window_hours** | **int**| | [optional] [default to 168]
**limit** | **int**| | [optional] [default to 20]
### Return type
[**NewsListResponse**](NewsListResponse.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

View file

@ -0,0 +1,38 @@
# NewsItemOut
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**news_id** | **str** | | [optional]
**url** | **str** | | [optional]
**title** | **str** | | [optional]
**summary** | **str** | | [optional]
**source** | **str** | | [optional]
**published_at** | **datetime** | | [optional]
**chains_mentioned** | **List[str]** | | [optional]
**tokens_mentioned** | **List[str]** | | [optional]
**sentiment_score** | **float** | | [optional]
**score** | **float** | | [optional]
## Example
```python
from rugmunch.models.news_item_out import NewsItemOut
# TODO update the JSON string below
json = "{}"
# create an instance of NewsItemOut from a JSON string
news_item_out_instance = NewsItemOut.from_json(json)
# print the JSON string representation of the object
print(NewsItemOut.to_json())
# convert the object into a dict
news_item_out_dict = news_item_out_instance.to_dict()
# create an instance of NewsItemOut from a dict
news_item_out_from_dict = NewsItemOut.from_dict(news_item_out_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -0,0 +1,31 @@
# NewsListResponse
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**items** | [**List[NewsItemOut]**](NewsItemOut.md) | |
**total** | **int** | |
**offset** | **int** | |
## Example
```python
from rugmunch.models.news_list_response import NewsListResponse
# TODO update the JSON string below
json = "{}"
# create an instance of NewsListResponse from a JSON string
news_list_response_instance = NewsListResponse.from_json(json)
# print the JSON string representation of the object
print(NewsListResponse.to_json())
# convert the object into a dict
news_list_response_dict = news_list_response_instance.to_dict()
# create an instance of NewsListResponse from a dict
news_list_response_from_dict = NewsListResponse.from_dict(news_list_response_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -0,0 +1,34 @@
# PaginatedResponse
Standard paginated list response.
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**items** | **List[object]** | | [optional]
**total** | **int** | | [optional] [default to 0]
**page** | **int** | | [optional] [default to 1]
**limit** | **int** | | [optional] [default to 20]
**has_more** | **bool** | | [optional] [default to False]
## Example
```python
from rugmunch.models.paginated_response import PaginatedResponse
# TODO update the JSON string below
json = "{}"
# create an instance of PaginatedResponse from a JSON string
paginated_response_instance = PaginatedResponse.from_json(json)
# print the JSON string representation of the object
print(PaginatedResponse.to_json())
# convert the object into a dict
paginated_response_dict = paginated_response_instance.to_dict()
# create an instance of PaginatedResponse from a dict
paginated_response_from_dict = PaginatedResponse.from_dict(paginated_response_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

355
sdks/python/docs/RagApi.md Normal file
View file

@ -0,0 +1,355 @@
# rugmunch.RagApi
All URIs are relative to *http://localhost*
Method | HTTP request | Description
------------- | ------------- | -------------
[**bulk_api_v1_rag_v2_bulk_ingest_post**](RagApi.md#bulk_api_v1_rag_v2_bulk_ingest_post) | **POST** /api/v1/rag/v2/bulk-ingest | Bulk
[**feedback_api_v1_rag_v2_feedback_post**](RagApi.md#feedback_api_v1_rag_v2_feedback_post) | **POST** /api/v1/rag/v2/feedback | Feedback
[**ingest_api_v1_rag_v2_ingest_post**](RagApi.md#ingest_api_v1_rag_v2_ingest_post) | **POST** /api/v1/rag/v2/ingest | Ingest
[**search_api_v1_rag_v2_search_post**](RagApi.md#search_api_v1_rag_v2_search_post) | **POST** /api/v1/rag/v2/search | Search
[**stats_api_v1_rag_v2_stats_get**](RagApi.md#stats_api_v1_rag_v2_stats_get) | **GET** /api/v1/rag/v2/stats | Stats
# **bulk_api_v1_rag_v2_bulk_ingest_post**
> Dict[str, object] bulk_api_v1_rag_v2_bulk_ingest_post(bulk_ingest_request)
Bulk
Ingest many items into a collection sequentially (max 500 per call).
### Example
```python
import rugmunch
from rugmunch.models.bulk_ingest_request import BulkIngestRequest
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.RagApi(api_client)
bulk_ingest_request = rugmunch.BulkIngestRequest() # BulkIngestRequest |
try:
# Bulk
api_response = api_instance.bulk_api_v1_rag_v2_bulk_ingest_post(bulk_ingest_request)
print("The response of RagApi->bulk_api_v1_rag_v2_bulk_ingest_post:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling RagApi->bulk_api_v1_rag_v2_bulk_ingest_post: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**bulk_ingest_request** | [**BulkIngestRequest**](BulkIngestRequest.md)| |
### Return type
**Dict[str, object]**
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **feedback_api_v1_rag_v2_feedback_post**
> IngestResult feedback_api_v1_rag_v2_feedback_post(feedback_record)
Feedback
Record scanner → RAG feedback. Ingests known scam into known_scams collection.
### Example
```python
import rugmunch
from rugmunch.models.feedback_record import FeedbackRecord
from rugmunch.models.ingest_result import IngestResult
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.RagApi(api_client)
feedback_record = rugmunch.FeedbackRecord() # FeedbackRecord |
try:
# Feedback
api_response = api_instance.feedback_api_v1_rag_v2_feedback_post(feedback_record)
print("The response of RagApi->feedback_api_v1_rag_v2_feedback_post:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling RagApi->feedback_api_v1_rag_v2_feedback_post: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**feedback_record** | [**FeedbackRecord**](FeedbackRecord.md)| |
### Return type
[**IngestResult**](IngestResult.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **ingest_api_v1_rag_v2_ingest_post**
> IngestResult ingest_api_v1_rag_v2_ingest_post(ingest_request)
Ingest
Ingest a document into the RAG system.
### Example
```python
import rugmunch
from rugmunch.models.ingest_request import IngestRequest
from rugmunch.models.ingest_result import IngestResult
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.RagApi(api_client)
ingest_request = rugmunch.IngestRequest() # IngestRequest |
try:
# Ingest
api_response = api_instance.ingest_api_v1_rag_v2_ingest_post(ingest_request)
print("The response of RagApi->ingest_api_v1_rag_v2_ingest_post:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling RagApi->ingest_api_v1_rag_v2_ingest_post: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**ingest_request** | [**IngestRequest**](IngestRequest.md)| |
### Return type
[**IngestResult**](IngestResult.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **search_api_v1_rag_v2_search_post**
> SearchResponse search_api_v1_rag_v2_search_post(search_request)
Search
RAG search. Returns Pydantic response with hits + scores.
### Example
```python
import rugmunch
from rugmunch.models.search_request import SearchRequest
from rugmunch.models.search_response import SearchResponse
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.RagApi(api_client)
search_request = rugmunch.SearchRequest() # SearchRequest |
try:
# Search
api_response = api_instance.search_api_v1_rag_v2_search_post(search_request)
print("The response of RagApi->search_api_v1_rag_v2_search_post:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling RagApi->search_api_v1_rag_v2_search_post: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**search_request** | [**SearchRequest**](SearchRequest.md)| |
### Return type
[**SearchResponse**](SearchResponse.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **stats_api_v1_rag_v2_stats_get**
> Dict[str, object] stats_api_v1_rag_v2_stats_get()
Stats
Per-collection vector counts + active embedder backend.
### Example
```python
import rugmunch
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.RagApi(api_client)
try:
# Stats
api_response = api_instance.stats_api_v1_rag_v2_stats_get()
print("The response of RagApi->stats_api_v1_rag_v2_stats_get:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling RagApi->stats_api_v1_rag_v2_stats_get: %s\n" % e)
```
### Parameters
This endpoint does not need any parameter.
### Return type
**Dict[str, object]**
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

View file

@ -0,0 +1,32 @@
# RagIngestRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**content** | **str** | |
**collection** | **str** | | [optional] [default to 'scam_intel']
**doc_id** | **str** | | [optional]
**metadata** | **Dict[str, object]** | | [optional]
## Example
```python
from rugmunch.models.rag_ingest_request import RagIngestRequest
# TODO update the JSON string below
json = "{}"
# create an instance of RagIngestRequest from a JSON string
rag_ingest_request_instance = RagIngestRequest.from_json(json)
# print the JSON string representation of the object
print(RagIngestRequest.to_json())
# convert the object into a dict
rag_ingest_request_dict = rag_ingest_request_instance.to_dict()
# create an instance of RagIngestRequest from a dict
rag_ingest_request_from_dict = RagIngestRequest.from_dict(rag_ingest_request_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -0,0 +1,31 @@
# RagSearchRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**query** | **str** | |
**collection** | **str** | | [optional] [default to 'scam_intel']
**top_k** | **int** | | [optional] [default to 5]
## Example
```python
from rugmunch.models.rag_search_request import RagSearchRequest
# TODO update the JSON string below
json = "{}"
# create an instance of RagSearchRequest from a JSON string
rag_search_request_instance = RagSearchRequest.from_json(json)
# print the JSON string representation of the object
print(RagSearchRequest.to_json())
# convert the object into a dict
rag_search_request_dict = rag_search_request_instance.to_dict()
# create an instance of RagSearchRequest from a dict
rag_search_request_from_dict = RagSearchRequest.from_dict(rag_search_request_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -0,0 +1,35 @@
# ReceiptResponse
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**tx_hash** | **str** | |
**tool** | **str** | |
**agent_id** | **str** | | [optional]
**amount_usd** | **float** | |
**chain** | **str** | | [optional]
**paid_at** | **str** | | [optional]
**tier** | **str** | | [optional]
## Example
```python
from rugmunch.models.receipt_response import ReceiptResponse
# TODO update the JSON string below
json = "{}"
# create an instance of ReceiptResponse from a JSON string
receipt_response_instance = ReceiptResponse.from_json(json)
# print the JSON string representation of the object
print(ReceiptResponse.to_json())
# convert the object into a dict
receipt_response_dict = receipt_response_instance.to_dict()
# create an instance of ReceiptResponse from a dict
receipt_response_from_dict = ReceiptResponse.from_dict(receipt_response_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -0,0 +1,151 @@
# rugmunch.ReportsApi
All URIs are relative to *http://localhost*
Method | HTTP request | Description
------------- | ------------- | -------------
[**generate_report_api_v1_reports_generate_post**](ReportsApi.md#generate_report_api_v1_reports_generate_post) | **POST** /api/v1/reports/generate | Generate Report
[**get_report_api_v1_reports_report_id_get**](ReportsApi.md#get_report_api_v1_reports_report_id_get) | **GET** /api/v1/reports/{report_id} | Get Report
# **generate_report_api_v1_reports_generate_post**
> GenerateResponse generate_report_api_v1_reports_generate_post(generate_request)
Generate Report
Generate a research report for a token or wallet.
Composes 7 sections in parallel via LiteLLM. Falls back to templated
content if LLM is unreachable. Saves to Postgres on success.
### Example
```python
import rugmunch
from rugmunch.models.generate_request import GenerateRequest
from rugmunch.models.generate_response import GenerateResponse
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.ReportsApi(api_client)
generate_request = rugmunch.GenerateRequest() # GenerateRequest |
try:
# Generate Report
api_response = api_instance.generate_report_api_v1_reports_generate_post(generate_request)
print("The response of ReportsApi->generate_report_api_v1_reports_generate_post:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling ReportsApi->generate_report_api_v1_reports_generate_post: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**generate_request** | [**GenerateRequest**](GenerateRequest.md)| |
### Return type
[**GenerateResponse**](GenerateResponse.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **get_report_api_v1_reports_report_id_get**
> Dict[str, object] get_report_api_v1_reports_report_id_get(report_id)
Get Report
Retrieve a previously generated report from Postgres.
### Example
```python
import rugmunch
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.ReportsApi(api_client)
report_id = 'report_id_example' # str |
try:
# Get Report
api_response = api_instance.get_report_api_v1_reports_report_id_get(report_id)
print("The response of ReportsApi->get_report_api_v1_reports_report_id_get:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling ReportsApi->get_report_api_v1_reports_report_id_get: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**report_id** | **str**| |
### Return type
**Dict[str, object]**
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

View file

@ -0,0 +1,30 @@
# ResolveEntityRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**wallet_id** | **str** | |
**max_chains** | **int** | | [optional] [default to 5]
## Example
```python
from rugmunch.models.resolve_entity_request import ResolveEntityRequest
# TODO update the JSON string below
json = "{}"
# create an instance of ResolveEntityRequest from a JSON string
resolve_entity_request_instance = ResolveEntityRequest.from_json(json)
# print the JSON string representation of the object
print(ResolveEntityRequest.to_json())
# convert the object into a dict
resolve_entity_request_dict = resolve_entity_request_instance.to_dict()
# create an instance of ResolveEntityRequest from a dict
resolve_entity_request_from_dict = ResolveEntityRequest.from_dict(resolve_entity_request_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -0,0 +1,33 @@
# ScanFlag
A risk flag raised by a scan.
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**code** | **str** | |
**severity** | [**AppDomainTokenModelsRiskLevel**](AppDomainTokenModelsRiskLevel.md) | |
**message** | **str** | |
**evidence** | **Dict[str, object]** | | [optional]
## Example
```python
from rugmunch.models.scan_flag import ScanFlag
# TODO update the JSON string below
json = "{}"
# create an instance of ScanFlag from a JSON string
scan_flag_instance = ScanFlag.from_json(json)
# print the JSON string representation of the object
print(ScanFlag.to_json())
# convert the object into a dict
scan_flag_dict = scan_flag_instance.to_dict()
# create an instance of ScanFlag from a dict
scan_flag_from_dict = ScanFlag.from_dict(scan_flag_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -0,0 +1,33 @@
# ScanModuleResult
A single scanner module's outcome.
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**module** | **str** | |
**status** | **str** | |
**error** | **str** | | [optional]
**data** | **Dict[str, object]** | | [optional]
## Example
```python
from rugmunch.models.scan_module_result import ScanModuleResult
# TODO update the JSON string below
json = "{}"
# create an instance of ScanModuleResult from a JSON string
scan_module_result_instance = ScanModuleResult.from_json(json)
# print the JSON string representation of the object
print(ScanModuleResult.to_json())
# convert the object into a dict
scan_module_result_dict = scan_module_result_instance.to_dict()
# create an instance of ScanModuleResult from a dict
scan_module_result_from_dict = ScanModuleResult.from_dict(scan_module_result_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -0,0 +1,42 @@
# ScanResponse
Pydantic wrapper around the legacy ScanResult. The legacy result is rich and complex (free/pro/elite per-tier data blocks, modules_run, confidence, etc.). We expose the most useful fields at the top level for API consumers.
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**address** | **str** | |
**chain** | **str** | |
**symbol** | **str** | | [optional] [default to '']
**name** | **str** | | [optional] [default to '']
**safety_score** | **int** | | [optional] [default to 50]
**risk_flags** | **List[str]** | | [optional]
**tier_required** | **str** | | [optional] [default to 'free']
**confidence** | **int** | | [optional] [default to 0]
**modules_run** | [**List[ScanModuleResult]**](ScanModuleResult.md) | | [optional]
**free** | **Dict[str, object]** | | [optional]
**pro** | **Dict[str, object]** | | [optional]
**elite** | **Dict[str, object]** | | [optional]
**scanned_at** | **str** | | [optional] [default to '']
## Example
```python
from rugmunch.models.scan_response import ScanResponse
# TODO update the JSON string below
json = "{}"
# create an instance of ScanResponse from a JSON string
scan_response_instance = ScanResponse.from_json(json)
# print the JSON string representation of the object
print(ScanResponse.to_json())
# convert the object into a dict
scan_response_dict = scan_response_instance.to_dict()
# create an instance of ScanResponse from a dict
scan_response_from_dict = ScanResponse.from_dict(scan_response_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -0,0 +1,36 @@
# ScanResult
Threat scan result.
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**address** | **str** | |
**chain** | **str** | |
**risk_score** | **int** | | [optional] [default to 0]
**risk_level** | [**AppDomainTokenModelsRiskLevel**](AppDomainTokenModelsRiskLevel.md) | |
**flags** | [**List[ScanFlag]**](ScanFlag.md) | | [optional]
**modules_run** | **List[str]** | | [optional]
**scanned_at** | **datetime** | | [optional]
## Example
```python
from rugmunch.models.scan_result import ScanResult
# TODO update the JSON string below
json = "{}"
# create an instance of ScanResult from a JSON string
scan_result_instance = ScanResult.from_json(json)
# print the JSON string representation of the object
print(ScanResult.to_json())
# convert the object into a dict
scan_result_dict = scan_result_instance.to_dict()
# create an instance of ScanResult from a dict
scan_result_from_dict = ScanResult.from_dict(scan_result_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -0,0 +1,17 @@
# ScanTier
Scan tier — controls which modules run and which data is returned.
## Enum
* `FREE` (value: `'free'`)
* `PRO` (value: `'pro'`)
* `ELITE` (value: `'elite'`)
* `INTERNAL` (value: `'internal'`)
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -0,0 +1,82 @@
# rugmunch.ScannerApi
All URIs are relative to *http://localhost*
Method | HTTP request | Description
------------- | ------------- | -------------
[**scan_api_v1_scanner_scan_post**](ScannerApi.md#scan_api_v1_scanner_scan_post) | **POST** /api/v1/scanner/scan | Scan
# **scan_api_v1_scanner_scan_post**
> ScanResponse scan_api_v1_scanner_scan_post(app_domain_scanner_models_scan_request)
Scan
Full token scan. Multi-module. Returns Pydantic response.
The legacy /api/v1/scanner/scan (and /api/v1/token/scan) are still
served — they take priority on the same path during strangelfig.
### Example
```python
import rugmunch
from rugmunch.models.app_domain_scanner_models_scan_request import AppDomainScannerModelsScanRequest
from rugmunch.models.scan_response import ScanResponse
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.ScannerApi(api_client)
app_domain_scanner_models_scan_request = rugmunch.AppDomainScannerModelsScanRequest() # AppDomainScannerModelsScanRequest |
try:
# Scan
api_response = api_instance.scan_api_v1_scanner_scan_post(app_domain_scanner_models_scan_request)
print("The response of ScannerApi->scan_api_v1_scanner_scan_post:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling ScannerApi->scan_api_v1_scanner_scan_post: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**app_domain_scanner_models_scan_request** | [**AppDomainScannerModelsScanRequest**](AppDomainScannerModelsScanRequest.md)| |
### Return type
[**ScanResponse**](ScanResponse.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

View file

@ -0,0 +1,34 @@
# SearchHit
A single search result.
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**content** | **str** | |
**score** | **float** | | [optional] [default to 0.0]
**metadata** | **Dict[str, object]** | | [optional]
**collection** | **str** | | [optional] [default to '']
**doc_id** | **str** | | [optional] [default to '']
## Example
```python
from rugmunch.models.search_hit import SearchHit
# TODO update the JSON string below
json = "{}"
# create an instance of SearchHit from a JSON string
search_hit_instance = SearchHit.from_json(json)
# print the JSON string representation of the object
print(SearchHit.to_json())
# convert the object into a dict
search_hit_dict = search_hit_instance.to_dict()
# create an instance of SearchHit from a dict
search_hit_from_dict = SearchHit.from_dict(search_hit_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -0,0 +1,34 @@
# SearchRequest
RAG search request.
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**query** | **str** | |
**collection** | **str** | | [optional] [default to 'scam_intel']
**top_k** | **int** | | [optional] [default to 5]
**min_similarity** | **float** | | [optional] [default to 0.0]
**filters** | **Dict[str, object]** | | [optional]
## Example
```python
from rugmunch.models.search_request import SearchRequest
# TODO update the JSON string below
json = "{}"
# create an instance of SearchRequest from a JSON string
search_request_instance = SearchRequest.from_json(json)
# print the JSON string representation of the object
print(SearchRequest.to_json())
# convert the object into a dict
search_request_dict = search_request_instance.to_dict()
# create an instance of SearchRequest from a dict
search_request_from_dict = SearchRequest.from_dict(search_request_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -0,0 +1,34 @@
# SearchResponse
RAG search response.
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**query** | **str** | |
**hits** | [**List[SearchHit]**](SearchHit.md) | | [optional]
**total** | **int** | | [optional] [default to 0]
**took_ms** | **int** | | [optional] [default to 0]
**collection** | **str** | | [optional] [default to '']
## Example
```python
from rugmunch.models.search_response import SearchResponse
# TODO update the JSON string below
json = "{}"
# create an instance of SearchResponse from a JSON string
search_response_instance = SearchResponse.from_json(json)
# print the JSON string representation of the object
print(SearchResponse.to_json())
# convert the object into a dict
search_response_dict = search_response_instance.to_dict()
# create an instance of SearchResponse from a dict
search_response_from_dict = SearchResponse.from_dict(search_response_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -0,0 +1,368 @@
# rugmunch.TokenApi
All URIs are relative to *http://localhost*
Method | HTTP request | Description
------------- | ------------- | -------------
[**get_detail_api_v1_token_address_get**](TokenApi.md#get_detail_api_v1_token_address_get) | **GET** /api/v1/token/{address} | Get Detail
[**get_holders_api_v1_token_address_holders_get**](TokenApi.md#get_holders_api_v1_token_address_holders_get) | **GET** /api/v1/token/{address}/holders | Get Holders
[**get_liquidity_api_v1_token_address_liquidity_get**](TokenApi.md#get_liquidity_api_v1_token_address_liquidity_get) | **GET** /api/v1/token/{address}/liquidity | Get Liquidity
[**get_risk_api_v1_token_address_risk_get**](TokenApi.md#get_risk_api_v1_token_address_risk_get) | **GET** /api/v1/token/{address}/risk | Get Risk
[**scan_api_v1_token_scan_post**](TokenApi.md#scan_api_v1_token_scan_post) | **POST** /api/v1/token/scan | Scan
# **get_detail_api_v1_token_address_get**
> TokenDetail get_detail_api_v1_token_address_get(address, chain=chain)
Get Detail
Token metadata + supply + verification.
### Example
```python
import rugmunch
from rugmunch.models.token_detail import TokenDetail
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.TokenApi(api_client)
address = 'address_example' # str |
chain = 'solana' # str | (optional) (default to 'solana')
try:
# Get Detail
api_response = api_instance.get_detail_api_v1_token_address_get(address, chain=chain)
print("The response of TokenApi->get_detail_api_v1_token_address_get:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling TokenApi->get_detail_api_v1_token_address_get: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**address** | **str**| |
**chain** | **str**| | [optional] [default to 'solana']
### Return type
[**TokenDetail**](TokenDetail.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **get_holders_api_v1_token_address_holders_get**
> PaginatedResponse get_holders_api_v1_token_address_holders_get(address, chain=chain, limit=limit)
Get Holders
Top token holders.
### Example
```python
import rugmunch
from rugmunch.models.paginated_response import PaginatedResponse
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.TokenApi(api_client)
address = 'address_example' # str |
chain = 'solana' # str | (optional) (default to 'solana')
limit = 100 # int | (optional) (default to 100)
try:
# Get Holders
api_response = api_instance.get_holders_api_v1_token_address_holders_get(address, chain=chain, limit=limit)
print("The response of TokenApi->get_holders_api_v1_token_address_holders_get:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling TokenApi->get_holders_api_v1_token_address_holders_get: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**address** | **str**| |
**chain** | **str**| | [optional] [default to 'solana']
**limit** | **int**| | [optional] [default to 100]
### Return type
[**PaginatedResponse**](PaginatedResponse.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **get_liquidity_api_v1_token_address_liquidity_get**
> Dict[str, object] get_liquidity_api_v1_token_address_liquidity_get(address, chain=chain)
Get Liquidity
Token liquidity + pool info.
### Example
```python
import rugmunch
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.TokenApi(api_client)
address = 'address_example' # str |
chain = 'solana' # str | (optional) (default to 'solana')
try:
# Get Liquidity
api_response = api_instance.get_liquidity_api_v1_token_address_liquidity_get(address, chain=chain)
print("The response of TokenApi->get_liquidity_api_v1_token_address_liquidity_get:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling TokenApi->get_liquidity_api_v1_token_address_liquidity_get: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**address** | **str**| |
**chain** | **str**| | [optional] [default to 'solana']
### Return type
**Dict[str, object]**
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **get_risk_api_v1_token_address_risk_get**
> TokenRisk get_risk_api_v1_token_address_risk_get(address, chain=chain)
Get Risk
Combined risk: holders + liquidity + heuristics.
### Example
```python
import rugmunch
from rugmunch.models.token_risk import TokenRisk
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.TokenApi(api_client)
address = 'address_example' # str |
chain = 'solana' # str | (optional) (default to 'solana')
try:
# Get Risk
api_response = api_instance.get_risk_api_v1_token_address_risk_get(address, chain=chain)
print("The response of TokenApi->get_risk_api_v1_token_address_risk_get:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling TokenApi->get_risk_api_v1_token_address_risk_get: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**address** | **str**| |
**chain** | **str**| | [optional] [default to 'solana']
### Return type
[**TokenRisk**](TokenRisk.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **scan_api_v1_token_scan_post**
> TokenScanResult scan_api_v1_token_scan_post(token_scan_request)
Scan
Full token scan. Multi-module. Freemium rate-limit applied in legacy router.
### Example
```python
import rugmunch
from rugmunch.models.token_scan_request import TokenScanRequest
from rugmunch.models.token_scan_result import TokenScanResult
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.TokenApi(api_client)
token_scan_request = rugmunch.TokenScanRequest() # TokenScanRequest |
try:
# Scan
api_response = api_instance.scan_api_v1_token_scan_post(token_scan_request)
print("The response of TokenApi->scan_api_v1_token_scan_post:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling TokenApi->scan_api_v1_token_scan_post: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**token_scan_request** | [**TokenScanRequest**](TokenScanRequest.md)| |
### Return type
[**TokenScanResult**](TokenScanResult.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

View file

@ -0,0 +1,40 @@
# TokenDetail
Full token details — metadata + supply + verification.
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**address** | **str** | |
**chain** | **str** | |
**name** | **str** | | [optional] [default to '']
**symbol** | **str** | | [optional] [default to '']
**decimals** | **int** | | [optional] [default to 9]
**total_supply** | **float** | | [optional] [default to 0.0]
**circulating_supply** | **float** | | [optional] [default to 0.0]
**holders** | **int** | | [optional] [default to 0]
**verified** | **bool** | | [optional] [default to False]
**metadata** | **Dict[str, object]** | | [optional]
**fetched_at** | **datetime** | | [optional]
## Example
```python
from rugmunch.models.token_detail import TokenDetail
# TODO update the JSON string below
json = "{}"
# create an instance of TokenDetail from a JSON string
token_detail_instance = TokenDetail.from_json(json)
# print the JSON string representation of the object
print(TokenDetail.to_json())
# convert the object into a dict
token_detail_dict = token_detail_instance.to_dict()
# create an instance of TokenDetail from a dict
token_detail_from_dict = TokenDetail.from_dict(token_detail_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -0,0 +1,34 @@
# TokenHolding
A single token holding within a wallet's portfolio.
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**symbol** | **str** | |
**address** | **str** | | [optional] [default to '']
**amount** | **float** | | [optional] [default to 0.0]
**price_usd** | **float** | | [optional] [default to 0.0]
**value_usd** | **float** | | [optional] [default to 0.0]
## Example
```python
from rugmunch.models.token_holding import TokenHolding
# TODO update the JSON string below
json = "{}"
# create an instance of TokenHolding from a JSON string
token_holding_instance = TokenHolding.from_json(json)
# print the JSON string representation of the object
print(TokenHolding.to_json())
# convert the object into a dict
token_holding_dict = token_holding_instance.to_dict()
# create an instance of TokenHolding from a dict
token_holding_from_dict = TokenHolding.from_dict(token_holding_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -0,0 +1,41 @@
# TokenRisk
Token risk assessment.
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**address** | **str** | |
**chain** | **str** | |
**risk_score** | **int** | | [optional] [default to 0]
**risk_level** | [**AppDomainTokenModelsRiskLevel**](AppDomainTokenModelsRiskLevel.md) | |
**flags** | **List[Dict[str, object]]** | | [optional]
**honeypot** | **bool** | | [optional] [default to False]
**can_sell** | **bool** | | [optional] [default to True]
**can_buy** | **bool** | | [optional] [default to True]
**take_back** | **bool** | | [optional] [default to False]
**owner_change_balance** | **bool** | | [optional] [default to False]
**transfer_pausable** | **bool** | | [optional] [default to False]
**analyzed_at** | **datetime** | | [optional]
## Example
```python
from rugmunch.models.token_risk import TokenRisk
# TODO update the JSON string below
json = "{}"
# create an instance of TokenRisk from a JSON string
token_risk_instance = TokenRisk.from_json(json)
# print the JSON string representation of the object
print(TokenRisk.to_json())
# convert the object into a dict
token_risk_dict = token_risk_instance.to_dict()
# create an instance of TokenRisk from a dict
token_risk_from_dict = TokenRisk.from_dict(token_risk_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -0,0 +1,32 @@
# TokenScanRequest
Request body for the token scan endpoint.
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**address** | **str** | |
**chain** | **str** | | [optional] [default to 'solana']
**tier** | **str** | | [optional] [default to 'free']
## Example
```python
from rugmunch.models.token_scan_request import TokenScanRequest
# TODO update the JSON string below
json = "{}"
# create an instance of TokenScanRequest from a JSON string
token_scan_request_instance = TokenScanRequest.from_json(json)
# print the JSON string representation of the object
print(TokenScanRequest.to_json())
# convert the object into a dict
token_scan_request_dict = token_scan_request_instance.to_dict()
# create an instance of TokenScanRequest from a dict
token_scan_request_from_dict = TokenScanRequest.from_dict(token_scan_request_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -0,0 +1,39 @@
# TokenScanResult
Full token scan result.
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**address** | **str** | |
**chain** | **str** | |
**safety_score** | **float** | | [optional] [default to 100.0]
**risk_score** | **int** | | [optional] [default to 0]
**risk_level** | [**AppDomainTokenModelsRiskLevel**](AppDomainTokenModelsRiskLevel.md) | |
**risk_flags** | **List[str]** | | [optional]
**warnings** | **List[str]** | | [optional]
**modules_run** | **List[str]** | | [optional]
**metadata** | **Dict[str, object]** | | [optional]
**scanned_at** | **datetime** | | [optional]
## Example
```python
from rugmunch.models.token_scan_result import TokenScanResult
# TODO update the JSON string below
json = "{}"
# create an instance of TokenScanResult from a JSON string
token_scan_result_instance = TokenScanResult.from_json(json)
# print the JSON string representation of the object
print(TokenScanResult.to_json())
# convert the object into a dict
token_scan_result_dict = token_scan_result_instance.to_dict()
# create an instance of TokenScanResult from a dict
token_scan_result_from_dict = TokenScanResult.from_dict(token_scan_result_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -0,0 +1,35 @@
# Transaction
A wallet transaction summary.
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**hash** | **str** | |
**type** | **str** | | [optional] [default to 'transfer']
**amount_usd** | **float** | | [optional] [default to 0.0]
**timestamp** | **int** | | [optional] [default to 0]
**block_time** | **datetime** | | [optional]
**direction** | **str** | in | out | self | [optional]
## Example
```python
from rugmunch.models.transaction import Transaction
# TODO update the JSON string below
json = "{}"
# create an instance of Transaction from a JSON string
transaction_instance = Transaction.from_json(json)
# print the JSON string representation of the object
print(Transaction.to_json())
# convert the object into a dict
transaction_dict = transaction_instance.to_dict()
# create an instance of Transaction from a dict
transaction_from_dict = Transaction.from_dict(transaction_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -0,0 +1,34 @@
# UsageResponse
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**agent_id** | **str** | |
**daily_calls** | **int** | |
**free_limit** | **int** | |
**paid_calls** | **int** | |
**total_usd** | **float** | |
**recent_receipts** | **List[Dict[str, object]]** | | [optional]
## Example
```python
from rugmunch.models.usage_response import UsageResponse
# TODO update the JSON string below
json = "{}"
# create an instance of UsageResponse from a JSON string
usage_response_instance = UsageResponse.from_json(json)
# print the JSON string representation of the object
print(UsageResponse.to_json())
# convert the object into a dict
usage_response_dict = usage_response_instance.to_dict()
# create an instance of UsageResponse from a dict
usage_response_from_dict = UsageResponse.from_dict(usage_response_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -0,0 +1,33 @@
# ValidationError
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**loc** | [**List[LocationInner]**](LocationInner.md) | |
**msg** | **str** | |
**type** | **str** | |
**input** | **object** | | [optional]
**ctx** | **object** | | [optional]
## Example
```python
from rugmunch.models.validation_error import ValidationError
# TODO update the JSON string below
json = "{}"
# create an instance of ValidationError from a JSON string
validation_error_instance = ValidationError.from_json(json)
# print the JSON string representation of the object
print(ValidationError.to_json())
# convert the object into a dict
validation_error_dict = validation_error_instance.to_dict()
# create an instance of ValidationError from a dict
validation_error_from_dict = ValidationError.from_dict(validation_error_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -0,0 +1,40 @@
# WalletAnalysis
Full wallet analysis — risk + tokens + recent activity.
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**address** | **str** | |
**chain** | **str** | |
**truncated_address** | **str** | |
**risk_score** | **int** | | [optional] [default to 0]
**risk_level** | [**AppDomainTokenModelsRiskLevel**](AppDomainTokenModelsRiskLevel.md) | |
**tokens** | [**List[TokenHolding]**](TokenHolding.md) | | [optional]
**recent_transactions** | [**List[Transaction]**](Transaction.md) | | [optional]
**labels** | **List[str]** | Known labels (e.g. 'Binance', 'Vitalik') | [optional]
**flags** | [**List[ScanFlag]**](ScanFlag.md) | | [optional]
**total_value_usd** | **float** | | [optional] [default to 0.0]
**analyzed_at** | **datetime** | | [optional]
## Example
```python
from rugmunch.models.wallet_analysis import WalletAnalysis
# TODO update the JSON string below
json = "{}"
# create an instance of WalletAnalysis from a JSON string
wallet_analysis_instance = WalletAnalysis.from_json(json)
# print the JSON string representation of the object
print(WalletAnalysis.to_json())
# convert the object into a dict
wallet_analysis_dict = wallet_analysis_instance.to_dict()
# create an instance of WalletAnalysis from a dict
wallet_analysis_from_dict = WalletAnalysis.from_dict(wallet_analysis_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -0,0 +1,297 @@
# rugmunch.WalletApi
All URIs are relative to *http://localhost*
Method | HTTP request | Description
------------- | ------------- | -------------
[**get_analysis_api_v1_wallet_address_analysis_get**](WalletApi.md#get_analysis_api_v1_wallet_address_analysis_get) | **GET** /api/v1/wallet/{address}/analysis | Get Analysis
[**get_balance_api_v1_wallet_address_balance_get**](WalletApi.md#get_balance_api_v1_wallet_address_balance_get) | **GET** /api/v1/wallet/{address}/balance | Get Balance
[**get_transactions_api_v1_wallet_address_transactions_get**](WalletApi.md#get_transactions_api_v1_wallet_address_transactions_get) | **GET** /api/v1/wallet/{address}/transactions | Get Transactions
[**scan_api_v1_wallet_scan_post**](WalletApi.md#scan_api_v1_wallet_scan_post) | **POST** /api/v1/wallet/scan | Scan
# **get_analysis_api_v1_wallet_address_analysis_get**
> WalletAnalysis get_analysis_api_v1_wallet_address_analysis_get(address, chain=chain)
Get Analysis
Full wallet analysis: risk score + tokens + recent transactions.
### Example
```python
import rugmunch
from rugmunch.models.wallet_analysis import WalletAnalysis
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.WalletApi(api_client)
address = 'address_example' # str |
chain = 'solana' # str | (optional) (default to 'solana')
try:
# Get Analysis
api_response = api_instance.get_analysis_api_v1_wallet_address_analysis_get(address, chain=chain)
print("The response of WalletApi->get_analysis_api_v1_wallet_address_analysis_get:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling WalletApi->get_analysis_api_v1_wallet_address_analysis_get: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**address** | **str**| |
**chain** | **str**| | [optional] [default to 'solana']
### Return type
[**WalletAnalysis**](WalletAnalysis.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **get_balance_api_v1_wallet_address_balance_get**
> Balance get_balance_api_v1_wallet_address_balance_get(address, chain=chain)
Get Balance
Wallet balance + token holdings.
### Example
```python
import rugmunch
from rugmunch.models.balance import Balance
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.WalletApi(api_client)
address = 'address_example' # str |
chain = 'solana' # str | (optional) (default to 'solana')
try:
# Get Balance
api_response = api_instance.get_balance_api_v1_wallet_address_balance_get(address, chain=chain)
print("The response of WalletApi->get_balance_api_v1_wallet_address_balance_get:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling WalletApi->get_balance_api_v1_wallet_address_balance_get: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**address** | **str**| |
**chain** | **str**| | [optional] [default to 'solana']
### Return type
[**Balance**](Balance.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **get_transactions_api_v1_wallet_address_transactions_get**
> PaginatedResponse get_transactions_api_v1_wallet_address_transactions_get(address, chain=chain, limit=limit)
Get Transactions
Recent transactions for a wallet.
### Example
```python
import rugmunch
from rugmunch.models.paginated_response import PaginatedResponse
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.WalletApi(api_client)
address = 'address_example' # str |
chain = 'solana' # str | (optional) (default to 'solana')
limit = 50 # int | (optional) (default to 50)
try:
# Get Transactions
api_response = api_instance.get_transactions_api_v1_wallet_address_transactions_get(address, chain=chain, limit=limit)
print("The response of WalletApi->get_transactions_api_v1_wallet_address_transactions_get:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling WalletApi->get_transactions_api_v1_wallet_address_transactions_get: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**address** | **str**| |
**chain** | **str**| | [optional] [default to 'solana']
**limit** | **int**| | [optional] [default to 50]
### Return type
[**PaginatedResponse**](PaginatedResponse.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **scan_api_v1_wallet_scan_post**
> ScanResult scan_api_v1_wallet_scan_post(app_domain_wallet_models_scan_request)
Scan
Multi-chain threat scan. Auth optional — freemium rate-limit applied in legacy router.
### Example
```python
import rugmunch
from rugmunch.models.app_domain_wallet_models_scan_request import AppDomainWalletModelsScanRequest
from rugmunch.models.scan_result import ScanResult
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.WalletApi(api_client)
app_domain_wallet_models_scan_request = rugmunch.AppDomainWalletModelsScanRequest() # AppDomainWalletModelsScanRequest |
try:
# Scan
api_response = api_instance.scan_api_v1_wallet_scan_post(app_domain_wallet_models_scan_request)
print("The response of WalletApi->scan_api_v1_wallet_scan_post:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling WalletApi->scan_api_v1_wallet_scan_post: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**app_domain_wallet_models_scan_request** | [**AppDomainWalletModelsScanRequest**](AppDomainWalletModelsScanRequest.md)| |
### Return type
[**ScanResult**](ScanResult.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

272
sdks/python/docs/X402Api.md Normal file
View file

@ -0,0 +1,272 @@
# rugmunch.X402Api
All URIs are relative to *http://localhost*
Method | HTTP request | Description
------------- | ------------- | -------------
[**catalog_api_v1_x402_catalog_get**](X402Api.md#catalog_api_v1_x402_catalog_get) | **GET** /api/v1/x402/catalog | Catalog
[**receipt_api_v1_x402_receipts_tx_hash_get**](X402Api.md#receipt_api_v1_x402_receipts_tx_hash_get) | **GET** /api/v1/x402/receipts/{tx_hash} | Receipt
[**usage_api_v1_x402_usage_get**](X402Api.md#usage_api_v1_x402_usage_get) | **GET** /api/v1/x402/usage | Usage
[**verify_payment_api_v1_x402_verify_post**](X402Api.md#verify_payment_api_v1_x402_verify_post) | **POST** /api/v1/x402/verify | Verify Payment
# **catalog_api_v1_x402_catalog_get**
> CatalogResponse catalog_api_v1_x402_catalog_get()
Catalog
List all paid tools with pricing tiers.
### Example
```python
import rugmunch
from rugmunch.models.catalog_response import CatalogResponse
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.X402Api(api_client)
try:
# Catalog
api_response = api_instance.catalog_api_v1_x402_catalog_get()
print("The response of X402Api->catalog_api_v1_x402_catalog_get:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling X402Api->catalog_api_v1_x402_catalog_get: %s\n" % e)
```
### Parameters
This endpoint does not need any parameter.
### Return type
[**CatalogResponse**](CatalogResponse.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **receipt_api_v1_x402_receipts_tx_hash_get**
> ReceiptResponse receipt_api_v1_x402_receipts_tx_hash_get(tx_hash)
Receipt
Payment receipt for a specific on-chain tx.
### Example
```python
import rugmunch
from rugmunch.models.receipt_response import ReceiptResponse
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.X402Api(api_client)
tx_hash = 'tx_hash_example' # str |
try:
# Receipt
api_response = api_instance.receipt_api_v1_x402_receipts_tx_hash_get(tx_hash)
print("The response of X402Api->receipt_api_v1_x402_receipts_tx_hash_get:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling X402Api->receipt_api_v1_x402_receipts_tx_hash_get: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**tx_hash** | **str**| |
### Return type
[**ReceiptResponse**](ReceiptResponse.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **usage_api_v1_x402_usage_get**
> UsageResponse usage_api_v1_x402_usage_get()
Usage
Per-agent usage stats: calls made, $ spent, top tools.
### Example
```python
import rugmunch
from rugmunch.models.usage_response import UsageResponse
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.X402Api(api_client)
try:
# Usage
api_response = api_instance.usage_api_v1_x402_usage_get()
print("The response of X402Api->usage_api_v1_x402_usage_get:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling X402Api->usage_api_v1_x402_usage_get: %s\n" % e)
```
### Parameters
This endpoint does not need any parameter.
### Return type
[**UsageResponse**](UsageResponse.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **verify_payment_api_v1_x402_verify_post**
> Dict[str, object] verify_payment_api_v1_x402_verify_post()
Verify Payment
Verify an X-Payment header for a given tool.
### Example
```python
import rugmunch
from rugmunch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = rugmunch.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with rugmunch.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rugmunch.X402Api(api_client)
try:
# Verify Payment
api_response = api_instance.verify_payment_api_v1_x402_verify_post()
print("The response of X402Api->verify_payment_api_v1_x402_verify_post:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling X402Api->verify_payment_api_v1_x402_verify_post: %s\n" % e)
```
### Parameters
This endpoint does not need any parameter.
### Return type
**Dict[str, object]**
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

57
sdks/python/git_push.sh Normal file
View file

@ -0,0 +1,57 @@
#!/bin/sh
# ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/
#
# Usage example: /bin/sh ./git_push.sh wing328 openapi-petstore-perl "minor update" "gitlab.com"
git_user_id=$1
git_repo_id=$2
release_note=$3
git_host=$4
if [ "$git_host" = "" ]; then
git_host="github.com"
echo "[INFO] No command line input provided. Set \$git_host to $git_host"
fi
if [ "$git_user_id" = "" ]; then
git_user_id="GIT_USER_ID"
echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id"
fi
if [ "$git_repo_id" = "" ]; then
git_repo_id="GIT_REPO_ID"
echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id"
fi
if [ "$release_note" = "" ]; then
release_note="Minor update"
echo "[INFO] No command line input provided. Set \$release_note to $release_note"
fi
# Initialize the local directory as a Git repository
git init
# Adds the files in the local repository and stages them for commit.
git add .
# Commits the tracked changes and prepares them to be pushed to a remote repository.
git commit -m "$release_note"
# Sets the new remote
git_remote=$(git remote)
if [ "$git_remote" = "" ]; then # git remote not defined
if [ "$GIT_TOKEN" = "" ]; then
echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment."
git remote add origin https://${git_host}/${git_user_id}/${git_repo_id}.git
else
git remote add origin https://${git_user_id}:"${GIT_TOKEN}"@${git_host}/${git_user_id}/${git_repo_id}.git
fi
fi
git pull origin master
# Pushes (Forces) the changes in the local repository up to the remote repository
echo "Git pushing to https://${git_host}/${git_user_id}/${git_repo_id}.git"
git push origin master 2>&1 | grep -v 'To https'

View file

@ -0,0 +1,44 @@
[build-system]
requires = ["setuptools>=68", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "rugmunch"
version = "0.1.0"
description = "Python SDK for Rug Munch Intelligence — sovereign crypto intelligence platform"
readme = "README.md"
requires-python = ">=3.10"
license = {text = "MIT"}
authors = [
{name = "Rug Munch Intelligence", email = "sdk@rugmunch.io"},
]
keywords = ["crypto", "rug-pull", "blockchain", "intelligence", "mcp", "x402"]
classifiers = [
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Topic :: Software Development :: Libraries :: Python Modules",
]
dependencies = [
"httpx>=0.25",
"pydantic>=2.0",
]
[project.optional-dependencies]
dev = [
"pytest>=7.0",
"pytest-asyncio>=0.21",
"ruff>=0.1",
]
[project.urls]
Homepage = "https://rugmunch.io"
Documentation = "https://docs.rugmunch.io"
Repository = "https://github.com/Rug-Munch-Media-LLC/rug-munch-intelligence-mcp"
[tool.setuptools.packages.find]
include = ["rugmunch_sdk*"]
exclude = ["rugmunch*", "test*"]

View file

@ -0,0 +1,4 @@
urllib3 >= 2.1.0, < 3.0.0
python_dateutil >= 2.8.2
pydantic >= 2.11
typing-extensions >= 4.7.1

View file

@ -0,0 +1,31 @@
"""rugmunch_sdk — friendly Python wrapper around the RMI API.
v4.0 Sovereign-first. Auto-generated from /openapi.json then wrapped
with a friendly ergonomic interface.
Quick start:
>>> from rugmunch_sdk import RMI
>>> client = RMI(base_url="https://api.rugmunch.io", api_key="...")
>>> risk = await client.get_token_risk(chain="solana", address="Dez...")
>>> print(risk.tier, risk.score)
"""
from .client import RMI, RMI_sync, SyncRMI
from .models import (
McpTool,
NewsItem,
RagHit,
Report,
TokenRisk,
)
__version__ = "0.1.0"
__all__ = [
"RMI",
"McpTool",
"NewsItem",
"RMI_sync",
"RagHit",
"Report",
"SyncRMI",
"TokenRisk",
]

View file

@ -0,0 +1,184 @@
"""RMI SDK — Python client for Rug Munch Intelligence.
v4.0 Sovereign-first. Friendly wrapper around the auto-generated
OpenAPI client. See rugmunch/ for the full generated SDK.
Quick start:
>>> from rugmunch_sdk import RMI
>>> client = RMI(base_url="https://api.rugmunch.io", api_key="...")
>>> risk = client.get_token_risk(chain="solana", address="DezXAZ...")
>>> print(risk.tier, risk.score)
>>>
>>> report = client.generate_report("token", "solana:DezXAZ...")
>>> print(report.markdown[:500])
"""
from __future__ import annotations
import asyncio
import httpx
from .models import (
McpTool,
NewsItem,
RagHit,
Report,
TokenRisk,
)
class RMI:
"""Async Python client for the Rug Munch Intelligence API."""
def __init__(
self,
base_url: str = "https://api.rugmunch.io",
api_key: str | None = None,
timeout: float = 30.0,
):
self.base_url = base_url.rstrip("/")
self.api_key = api_key
self._client = httpx.AsyncClient(
base_url=self.base_url,
timeout=timeout,
headers={"X-Agent-Id": api_key} if api_key else {},
)
async def __aenter__(self):
return self
async def __aexit__(self, *exc):
await self.close()
async def close(self):
await self._client.aclose()
async def _get(self, path: str, **params) -> dict:
r = await self._client.get(path, params=params)
r.raise_for_status()
return r.json()
async def _post(self, path: str, json: dict | None = None) -> dict:
r = await self._client.post(path, json=json or {})
r.raise_for_status()
return r.json()
# ── Health / introspection ──────────────────────────────────
async def get_health(self) -> dict:
return await self._get("/health")
async def get_catalog_stats(self) -> dict:
return await self._get("/api/v1/catalog/stats")
async def get_x402_catalog(self) -> list[dict]:
d = await self._get("/api/v1/x402/catalog")
return d.get("tools", [])
# ── MCP tools ───────────────────────────────────────────────
async def list_mcp_tools(self) -> list[McpTool]:
d = await self._get("/mcp/tools")
return [McpTool(**t) for t in d.get("tools", [])]
async def call_mcp_tool(self, name: str, arguments: dict | None = None) -> dict:
return await self._post(
f"/mcp/call/{name}", json={"arguments": arguments or {}}
)
# ── Catalog (the v4.0 moat) ─────────────────────────────────
async def get_token_risk(self, chain: str, address: str) -> TokenRisk:
d = await self._get(f"/api/v1/catalog/tokens/{chain}/{address}/risk")
return TokenRisk(**d)
async def get_wallet_analysis(self, chain: str, address: str) -> dict:
return await self._get(f"/api/v1/catalog/wallets/{chain}/{address}")
async def resolve_entity(self, wallet_id: str, max_chains: int = 5) -> dict:
return await self._post(
"/api/v1/catalog/entities/resolve",
json={"wallet_id": wallet_id, "max_chains": max_chains},
)
# ── RAG ──────────────────────────────────────────────────────
async def rag_search(
self, query: str, collection: str = "scam_intel", top_k: int = 5
) -> list[RagHit]:
d = await self._post(
"/api/v1/rag/v2/search",
json={"query": query, "collection": collection, "top_k": top_k},
)
return [RagHit(**h) for h in d.get("hits", [])]
async def rag_ingest(
self, content: str, collection: str = "scam_intel", doc_id: str | None = None
) -> dict:
return await self._post(
"/api/v1/rag/v2/ingest",
json={"content": content, "collection": collection, "doc_id": doc_id},
)
# ── News (T28) ──────────────────────────────────────────────
async def get_news_trending(
self, window_hours: int = 24, limit: int = 20
) -> list[NewsItem]:
d = await self._get(
"/api/v1/news/trending", window_hours=window_hours, limit=limit
)
return [NewsItem(**i) for i in d.get("items", [])]
async def list_news(self, since_hours: int = 24, limit: int = 20) -> list[NewsItem]:
d = await self._post(
"/api/v1/news",
json={"since_hours": since_hours, "limit": limit},
)
return [NewsItem(**i) for i in d.get("items", [])]
async def get_news(self, news_id: str) -> NewsItem:
d = await self._get(f"/api/v1/news/{news_id}")
return NewsItem(**d)
async def analyze_news(self, news_id: str) -> str | None:
d = await self._post(f"/api/v1/news/{news_id}/analyze")
return d.get("analysis")
# ── Reports (T29) ───────────────────────────────────────────
async def generate_report(
self, subject_type: str, subject_id: str, save: bool = True
) -> Report:
d = await self._post(
"/api/v1/reports/generate",
json={"subject_type": subject_type, "subject_id": subject_id, "save": save},
)
return Report(**d)
# ── Sync convenience (for scripts / notebooks) ────────────────────
class SyncRMI:
"""Sync wrapper. Uses a private event loop per call."""
def __init__(self, *args, **kwargs):
self._client = RMI(*args, **kwargs)
def __enter__(self):
return self
def __exit__(self, *exc):
asyncio.run(self._client.close())
def __getattr__(self, name):
attr = getattr(self._client, name)
if not callable(attr) or name.startswith("_"):
return attr
def sync_call(*a, **kw):
loop = asyncio.new_event_loop()
try:
return loop.run_until_complete(attr(*a, **kw))
finally:
loop.close()
return sync_call
def RMI_sync(*args, **kwargs) -> SyncRMI:
"""Shortcut to construct a SyncRMI."""
return SyncRMI(*args, **kwargs)

View file

@ -0,0 +1,56 @@
"""RMI SDK — Response models (ergonomic, not raw API shapes)."""
from __future__ import annotations
from typing import Any
from pydantic import BaseModel, Field
class TokenRisk(BaseModel):
score: int = 0
tier: str = "low"
factors: list[str] = Field(default_factory=list)
token: dict | None = None
deployer_reputation: int | None = None
class Report(BaseModel):
report_id: str
subject_type: str
subject_id: str
risk_score: int
risk_tier: str
markdown: str
sections: dict[str, str] = Field(default_factory=dict)
class RagHit(BaseModel):
"""A RAG search hit. Maps from the API's `content` field to `text`."""
doc_id: str
score: float
text: str = ""
content: str = "" # alias
metadata: dict[str, Any] = Field(default_factory=dict)
def __init__(self, **data):
# Accept both `text` and `content` from the API
if "content" in data and "text" not in data:
data["text"] = data["content"]
super().__init__(**data)
class NewsItem(BaseModel):
news_id: str
title: str
source: str
published_at: str
summary: str = ""
sentiment_score: float | None = None
score: float | None = None
class McpTool(BaseModel):
name: str
description: str
input_schema: dict[str, Any] = Field(default_factory=dict)

2
sdks/python/setup.cfg Normal file
View file

@ -0,0 +1,2 @@
[flake8]
max-line-length=99

47
sdks/python/setup.py Normal file
View file

@ -0,0 +1,47 @@
"""
RMI Backend
Rug Munch Intelligence institutional-grade crypto intelligence API. 13+ chains, 96 data providers, 8 MCP tools, x402 paid tier, sovereign-first FOSS.
The version of the OpenAPI document: 2026.06.21
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
"""
from setuptools import find_packages, setup
# To install the library, run the following
#
# python setup.py install
#
# prerequisite: setuptools
# http://pypi.python.org/pypi/setuptools
NAME = "rugmunch"
VERSION = "0.1.0"
PYTHON_REQUIRES = ">= 3.10"
REQUIRES = [
"urllib3 >= 2.1.0, < 3.0.0",
"python-dateutil >= 2.8.2",
"pydantic >= 2.11",
"typing-extensions >= 4.7.1",
]
setup(
name=NAME,
version=VERSION,
description="RMI Backend",
author="OpenAPI Generator community",
author_email="team@openapitools.org",
url="",
keywords=["OpenAPI", "OpenAPI-Generator", "RMI Backend"],
install_requires=REQUIRES,
packages=find_packages(exclude=["test", "tests"]),
include_package_data=True,
long_description_content_type='text/markdown',
long_description="""\
Rug Munch Intelligence institutional-grade crypto intelligence API. 13+ chains, 96 data providers, 8 MCP tools, x402 paid tier, sovereign-first FOSS.
""",
package_data={"rugmunch": ["py.typed"]},
)

View file

@ -0,0 +1,6 @@
pytest >= 7.2.1
pytest-cov >= 2.8.1
tox >= 3.9.0
flake8 >= 4.0.0
types-python-dateutil >= 2.8.19.14
mypy >= 1.5

View file

View file

@ -0,0 +1,51 @@
"""
RMI Backend
Rug Munch Intelligence institutional-grade crypto intelligence API. 13+ chains, 96 data providers, 8 MCP tools, x402 paid tier, sovereign-first FOSS.
The version of the OpenAPI document: 2026.06.21
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
"""
import unittest
from rugmunch.api.admin_alerts_api import AdminAlertsApi
class TestAdminAlertsApi(unittest.TestCase):
"""AdminAlertsApi unit test stubs"""
def setUp(self) -> None:
self.api = AdminAlertsApi()
def tearDown(self) -> None:
pass
def test_alerts_critical_webhook_api_v1_admin_alerts_critical_post(self) -> None:
"""Test case for alerts_critical_webhook_api_v1_admin_alerts_critical_post
Alerts Critical Webhook
"""
pass
def test_alerts_recent_api_v1_admin_alerts_recent_get(self) -> None:
"""Test case for alerts_recent_api_v1_admin_alerts_recent_get
Alerts Recent
"""
pass
def test_alerts_webhook_api_v1_admin_alerts_webhook_post(self) -> None:
"""Test case for alerts_webhook_api_v1_admin_alerts_webhook_post
Alerts Webhook
"""
pass
if __name__ == '__main__':
unittest.main()

View file

@ -0,0 +1,61 @@
"""
RMI Backend
Rug Munch Intelligence institutional-grade crypto intelligence API. 13+ chains, 96 data providers, 8 MCP tools, x402 paid tier, sovereign-first FOSS.
The version of the OpenAPI document: 2026.06.21
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
"""
import unittest
from rugmunch.models.alert_subscription import AlertSubscription
class TestAlertSubscription(unittest.TestCase):
"""AlertSubscription unit test stubs"""
def setUp(self):
pass
def tearDown(self):
pass
def make_instance(self, include_optional) -> AlertSubscription:
"""Test AlertSubscription
include_optional is a boolean, when False only required
params are included, when True both required and
optional params are included """
# uncomment below to create an instance of `AlertSubscription`
"""
model = AlertSubscription()
if include_optional:
return AlertSubscription(
id = '',
token_address = '0',
alert_types = [
'liquidity_remove'
],
webhook_url = '',
created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
active = True,
owner_id = ''
)
else:
return AlertSubscription(
id = '',
token_address = '0',
)
"""
def testAlertSubscription(self):
"""Test AlertSubscription"""
# inst_req_only = self.make_instance(include_optional=False)
# inst_req_and_optional = self.make_instance(include_optional=True)
if __name__ == '__main__':
unittest.main()

View file

@ -0,0 +1,31 @@
"""
RMI Backend
Rug Munch Intelligence institutional-grade crypto intelligence API. 13+ chains, 96 data providers, 8 MCP tools, x402 paid tier, sovereign-first FOSS.
The version of the OpenAPI document: 2026.06.21
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
"""
import unittest
class TestAlertType(unittest.TestCase):
"""AlertType unit test stubs"""
def setUp(self):
pass
def tearDown(self):
pass
def testAlertType(self):
"""Test AlertType"""
# inst = AlertType()
if __name__ == '__main__':
unittest.main()

View file

@ -0,0 +1,61 @@
"""
RMI Backend
Rug Munch Intelligence institutional-grade crypto intelligence API. 13+ chains, 96 data providers, 8 MCP tools, x402 paid tier, sovereign-first FOSS.
The version of the OpenAPI document: 2026.06.21
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
"""
import unittest
from rugmunch.models.alertmanager_alert import AlertmanagerAlert
class TestAlertmanagerAlert(unittest.TestCase):
"""AlertmanagerAlert unit test stubs"""
def setUp(self):
pass
def tearDown(self):
pass
def make_instance(self, include_optional) -> AlertmanagerAlert:
"""Test AlertmanagerAlert
include_optional is a boolean, when False only required
params are included, when True both required and
optional params are included """
# uncomment below to create an instance of `AlertmanagerAlert`
"""
model = AlertmanagerAlert()
if include_optional:
return AlertmanagerAlert(
status = '',
labels = {
'key' : ''
},
annotations = {
'key' : ''
},
starts_at = '',
ends_at = '',
generator_url = ''
)
else:
return AlertmanagerAlert(
status = '',
)
"""
def testAlertmanagerAlert(self):
"""Test AlertmanagerAlert"""
# inst_req_only = self.make_instance(include_optional=False)
# inst_req_and_optional = self.make_instance(include_optional=True)
if __name__ == '__main__':
unittest.main()

View file

@ -0,0 +1,78 @@
"""
RMI Backend
Rug Munch Intelligence institutional-grade crypto intelligence API. 13+ chains, 96 data providers, 8 MCP tools, x402 paid tier, sovereign-first FOSS.
The version of the OpenAPI document: 2026.06.21
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
"""
import unittest
from rugmunch.models.alertmanager_payload import AlertmanagerPayload
class TestAlertmanagerPayload(unittest.TestCase):
"""AlertmanagerPayload unit test stubs"""
def setUp(self):
pass
def tearDown(self):
pass
def make_instance(self, include_optional) -> AlertmanagerPayload:
"""Test AlertmanagerPayload
include_optional is a boolean, when False only required
params are included, when True both required and
optional params are included """
# uncomment below to create an instance of `AlertmanagerPayload`
"""
model = AlertmanagerPayload()
if include_optional:
return AlertmanagerPayload(
version = '',
group_key = '',
status = '',
receiver = '',
group_labels = {
'key' : ''
},
common_labels = {
'key' : ''
},
common_annotations = {
'key' : ''
},
external_url = '',
alerts = [
rugmunch.models.alertmanager_alert.AlertmanagerAlert(
status = '',
labels = {
'key' : ''
},
annotations = {
'key' : ''
},
starts_at = '',
ends_at = '',
generator_url = '', )
]
)
else:
return AlertmanagerPayload(
status = '',
)
"""
def testAlertmanagerPayload(self):
"""Test AlertmanagerPayload"""
# inst_req_only = self.make_instance(include_optional=False)
# inst_req_and_optional = self.make_instance(include_optional=True)
if __name__ == '__main__':
unittest.main()

View file

@ -0,0 +1,51 @@
"""
RMI Backend
Rug Munch Intelligence institutional-grade crypto intelligence API. 13+ chains, 96 data providers, 8 MCP tools, x402 paid tier, sovereign-first FOSS.
The version of the OpenAPI document: 2026.06.21
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
"""
import unittest
from rugmunch.api.alerts_api import AlertsApi
class TestAlertsApi(unittest.TestCase):
"""AlertsApi unit test stubs"""
def setUp(self) -> None:
self.api = AlertsApi()
def tearDown(self) -> None:
pass
def test_cancel_api_v1_alerts_alert_id_delete(self) -> None:
"""Test case for cancel_api_v1_alerts_alert_id_delete
Cancel
"""
pass
def test_list_alerts_api_v1_alerts_get(self) -> None:
"""Test case for list_alerts_api_v1_alerts_get
List Alerts
"""
pass
def test_subscribe_api_v1_alerts_subscribe_post(self) -> None:
"""Test case for subscribe_api_v1_alerts_subscribe_post
Subscribe
"""
pass
if __name__ == '__main__':
unittest.main()

View file

@ -0,0 +1,55 @@
"""
RMI Backend
Rug Munch Intelligence institutional-grade crypto intelligence API. 13+ chains, 96 data providers, 8 MCP tools, x402 paid tier, sovereign-first FOSS.
The version of the OpenAPI document: 2026.06.21
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
"""
import unittest
from rugmunch.models.app_domain_scanner_models_scan_request import AppDomainScannerModelsScanRequest
class TestAppDomainScannerModelsScanRequest(unittest.TestCase):
"""AppDomainScannerModelsScanRequest unit test stubs"""
def setUp(self):
pass
def tearDown(self):
pass
def make_instance(self, include_optional) -> AppDomainScannerModelsScanRequest:
"""Test AppDomainScannerModelsScanRequest
include_optional is a boolean, when False only required
params are included, when True both required and
optional params are included """
# uncomment below to create an instance of `AppDomainScannerModelsScanRequest`
"""
model = AppDomainScannerModelsScanRequest()
if include_optional:
return AppDomainScannerModelsScanRequest(
address = '0',
chain = 'solana',
tier = 'free',
user_id = ''
)
else:
return AppDomainScannerModelsScanRequest(
address = '0',
)
"""
def testAppDomainScannerModelsScanRequest(self):
"""Test AppDomainScannerModelsScanRequest"""
# inst_req_only = self.make_instance(include_optional=False)
# inst_req_and_optional = self.make_instance(include_optional=True)
if __name__ == '__main__':
unittest.main()

View file

@ -0,0 +1,31 @@
"""
RMI Backend
Rug Munch Intelligence institutional-grade crypto intelligence API. 13+ chains, 96 data providers, 8 MCP tools, x402 paid tier, sovereign-first FOSS.
The version of the OpenAPI document: 2026.06.21
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
"""
import unittest
class TestAppDomainTokenModelsRiskLevel(unittest.TestCase):
"""AppDomainTokenModelsRiskLevel unit test stubs"""
def setUp(self):
pass
def tearDown(self):
pass
def testAppDomainTokenModelsRiskLevel(self):
"""Test AppDomainTokenModelsRiskLevel"""
# inst = AppDomainTokenModelsRiskLevel()
if __name__ == '__main__':
unittest.main()

View file

@ -0,0 +1,54 @@
"""
RMI Backend
Rug Munch Intelligence institutional-grade crypto intelligence API. 13+ chains, 96 data providers, 8 MCP tools, x402 paid tier, sovereign-first FOSS.
The version of the OpenAPI document: 2026.06.21
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
"""
import unittest
from rugmunch.models.app_domain_wallet_models_scan_request import AppDomainWalletModelsScanRequest
class TestAppDomainWalletModelsScanRequest(unittest.TestCase):
"""AppDomainWalletModelsScanRequest unit test stubs"""
def setUp(self):
pass
def tearDown(self):
pass
def make_instance(self, include_optional) -> AppDomainWalletModelsScanRequest:
"""Test AppDomainWalletModelsScanRequest
include_optional is a boolean, when False only required
params are included, when True both required and
optional params are included """
# uncomment below to create an instance of `AppDomainWalletModelsScanRequest`
"""
model = AppDomainWalletModelsScanRequest()
if include_optional:
return AppDomainWalletModelsScanRequest(
address = '0',
chain = 'solana',
tier = 'free'
)
else:
return AppDomainWalletModelsScanRequest(
address = '0',
)
"""
def testAppDomainWalletModelsScanRequest(self):
"""Test AppDomainWalletModelsScanRequest"""
# inst_req_only = self.make_instance(include_optional=False)
# inst_req_and_optional = self.make_instance(include_optional=True)
if __name__ == '__main__':
unittest.main()

View file

@ -0,0 +1,56 @@
"""
RMI Backend
Rug Munch Intelligence institutional-grade crypto intelligence API. 13+ chains, 96 data providers, 8 MCP tools, x402 paid tier, sovereign-first FOSS.
The version of the OpenAPI document: 2026.06.21
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
"""
import unittest
from rugmunch.models.attach_rag_request import AttachRagRequest
class TestAttachRagRequest(unittest.TestCase):
"""AttachRagRequest unit test stubs"""
def setUp(self):
pass
def tearDown(self):
pass
def make_instance(self, include_optional) -> AttachRagRequest:
"""Test AttachRagRequest
include_optional is a boolean, when False only required
params are included, when True both required and
optional params are included """
# uncomment below to create an instance of `AttachRagRequest`
"""
model = AttachRagRequest()
if include_optional:
return AttachRagRequest(
chain = '',
address = '',
qdrant_point_id = ''
)
else:
return AttachRagRequest(
chain = '',
address = '',
qdrant_point_id = '',
)
"""
def testAttachRagRequest(self):
"""Test AttachRagRequest"""
# inst_req_only = self.make_instance(include_optional=False)
# inst_req_and_optional = self.make_instance(include_optional=True)
if __name__ == '__main__':
unittest.main()

View file

@ -0,0 +1,66 @@
"""
RMI Backend
Rug Munch Intelligence institutional-grade crypto intelligence API. 13+ chains, 96 data providers, 8 MCP tools, x402 paid tier, sovereign-first FOSS.
The version of the OpenAPI document: 2026.06.21
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
"""
import unittest
from rugmunch.models.balance import Balance
class TestBalance(unittest.TestCase):
"""Balance unit test stubs"""
def setUp(self):
pass
def tearDown(self):
pass
def make_instance(self, include_optional) -> Balance:
"""Test Balance
include_optional is a boolean, when False only required
params are included, when True both required and
optional params are included """
# uncomment below to create an instance of `Balance`
"""
model = Balance()
if include_optional:
return Balance(
address = '',
chain = '',
native_balance = 1.337,
native_symbol = '',
total_value_usd = 1.337,
tokens = [
rugmunch.models.token_holding.TokenHolding(
symbol = '',
address = '',
amount = 1.337,
price_usd = 1.337,
value_usd = 1.337, )
],
fetched_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f')
)
else:
return Balance(
address = '',
chain = '',
)
"""
def testBalance(self):
"""Test Balance"""
# inst_req_only = self.make_instance(include_optional=False)
# inst_req_and_optional = self.make_instance(include_optional=True)
if __name__ == '__main__':
unittest.main()

View file

@ -0,0 +1,54 @@
"""
RMI Backend
Rug Munch Intelligence institutional-grade crypto intelligence API. 13+ chains, 96 data providers, 8 MCP tools, x402 paid tier, sovereign-first FOSS.
The version of the OpenAPI document: 2026.06.21
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
"""
import unittest
from rugmunch.models.bulk_ingest_request import BulkIngestRequest
class TestBulkIngestRequest(unittest.TestCase):
"""BulkIngestRequest unit test stubs"""
def setUp(self):
pass
def tearDown(self):
pass
def make_instance(self, include_optional) -> BulkIngestRequest:
"""Test BulkIngestRequest
include_optional is a boolean, when False only required
params are included, when True both required and
optional params are included """
# uncomment below to create an instance of `BulkIngestRequest`
"""
model = BulkIngestRequest()
if include_optional:
return BulkIngestRequest(
collection = 'scam_intel',
items = [
{ }
]
)
else:
return BulkIngestRequest(
)
"""
def testBulkIngestRequest(self):
"""Test BulkIngestRequest"""
# inst_req_only = self.make_instance(include_optional=False)
# inst_req_and_optional = self.make_instance(include_optional=True)
if __name__ == '__main__':
unittest.main()

View file

@ -0,0 +1,100 @@
"""
RMI Backend
Rug Munch Intelligence institutional-grade crypto intelligence API. 13+ chains, 96 data providers, 8 MCP tools, x402 paid tier, sovereign-first FOSS.
The version of the OpenAPI document: 2026.06.21
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
"""
import unittest
from rugmunch.api.catalog_api import CatalogApi
class TestCatalogApi(unittest.TestCase):
"""CatalogApi unit test stubs"""
def setUp(self) -> None:
self.api = CatalogApi()
def tearDown(self) -> None:
pass
def test_attach_rag_api_v1_catalog_tokens_chain_address_attach_rag_post(self) -> None:
"""Test case for attach_rag_api_v1_catalog_tokens_chain_address_attach_rag_post
Attach Rag
"""
pass
def test_get_token_api_v1_catalog_tokens_chain_address_get(self) -> None:
"""Test case for get_token_api_v1_catalog_tokens_chain_address_get
Get Token
"""
pass
def test_get_token_risk_api_v1_catalog_tokens_chain_address_risk_get(self) -> None:
"""Test case for get_token_risk_api_v1_catalog_tokens_chain_address_risk_get
Get Token Risk
"""
pass
def test_get_wallet_api_v1_catalog_wallets_chain_address_get(self) -> None:
"""Test case for get_wallet_api_v1_catalog_wallets_chain_address_get
Get Wallet
"""
pass
def test_probe_api_v1_catalog_probe_get(self) -> None:
"""Test case for probe_api_v1_catalog_probe_get
Probe
"""
pass
def test_rag_ingest_api_v1_catalog_rag_ingest_post(self) -> None:
"""Test case for rag_ingest_api_v1_catalog_rag_ingest_post
Rag Ingest
"""
pass
def test_rag_search_api_v1_catalog_rag_search_post(self) -> None:
"""Test case for rag_search_api_v1_catalog_rag_search_post
Rag Search
"""
pass
def test_resolve_entity_api_v1_catalog_entities_resolve_post(self) -> None:
"""Test case for resolve_entity_api_v1_catalog_entities_resolve_post
Resolve Entity
"""
pass
def test_risky_tokens_api_v1_catalog_tokens_risky_by_deployer_post(self) -> None:
"""Test case for risky_tokens_api_v1_catalog_tokens_risky_by_deployer_post
Risky Tokens
"""
pass
def test_stats_api_v1_catalog_stats_get(self) -> None:
"""Test case for stats_api_v1_catalog_stats_get
Stats
"""
pass
if __name__ == '__main__':
unittest.main()

View file

@ -0,0 +1,56 @@
"""
RMI Backend
Rug Munch Intelligence institutional-grade crypto intelligence API. 13+ chains, 96 data providers, 8 MCP tools, x402 paid tier, sovereign-first FOSS.
The version of the OpenAPI document: 2026.06.21
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
"""
import unittest
from rugmunch.models.catalog_response import CatalogResponse
class TestCatalogResponse(unittest.TestCase):
"""CatalogResponse unit test stubs"""
def setUp(self):
pass
def tearDown(self):
pass
def make_instance(self, include_optional) -> CatalogResponse:
"""Test CatalogResponse
include_optional is a boolean, when False only required
params are included, when True both required and
optional params are included """
# uncomment below to create an instance of `CatalogResponse`
"""
model = CatalogResponse()
if include_optional:
return CatalogResponse(
server = 'rugmunch-intelligence',
version = '4.0',
tools = [
{ }
],
payment_protocol = 'x402'
)
else:
return CatalogResponse(
)
"""
def testCatalogResponse(self):
"""Test CatalogResponse"""
# inst_req_only = self.make_instance(include_optional=False)
# inst_req_and_optional = self.make_instance(include_optional=True)
if __name__ == '__main__':
unittest.main()

View file

@ -0,0 +1,56 @@
"""
RMI Backend
Rug Munch Intelligence institutional-grade crypto intelligence API. 13+ chains, 96 data providers, 8 MCP tools, x402 paid tier, sovereign-first FOSS.
The version of the OpenAPI document: 2026.06.21
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
"""
import unittest
from rugmunch.models.create_alert_request import CreateAlertRequest
class TestCreateAlertRequest(unittest.TestCase):
"""CreateAlertRequest unit test stubs"""
def setUp(self):
pass
def tearDown(self):
pass
def make_instance(self, include_optional) -> CreateAlertRequest:
"""Test CreateAlertRequest
include_optional is a boolean, when False only required
params are included, when True both required and
optional params are included """
# uncomment below to create an instance of `CreateAlertRequest`
"""
model = CreateAlertRequest()
if include_optional:
return CreateAlertRequest(
token_address = '0',
alert_types = [
'liquidity_remove'
],
webhook_url = ''
)
else:
return CreateAlertRequest(
token_address = '0',
)
"""
def testCreateAlertRequest(self):
"""Test CreateAlertRequest"""
# inst_req_only = self.make_instance(include_optional=False)
# inst_req_and_optional = self.make_instance(include_optional=True)
if __name__ == '__main__':
unittest.main()

View file

@ -0,0 +1,60 @@
"""
RMI Backend
Rug Munch Intelligence institutional-grade crypto intelligence API. 13+ chains, 96 data providers, 8 MCP tools, x402 paid tier, sovereign-first FOSS.
The version of the OpenAPI document: 2026.06.21
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
"""
import unittest
from rugmunch.models.feedback_record import FeedbackRecord
class TestFeedbackRecord(unittest.TestCase):
"""FeedbackRecord unit test stubs"""
def setUp(self):
pass
def tearDown(self):
pass
def make_instance(self, include_optional) -> FeedbackRecord:
"""Test FeedbackRecord
include_optional is a boolean, when False only required
params are included, when True both required and
optional params are included """
# uncomment below to create an instance of `FeedbackRecord`
"""
model = FeedbackRecord()
if include_optional:
return FeedbackRecord(
token_address = '',
chain = 'solana',
safety_score = 1.337,
risk_flags = [
''
],
action = 'ingest',
source = 'scanner'
)
else:
return FeedbackRecord(
token_address = '',
safety_score = 1.337,
)
"""
def testFeedbackRecord(self):
"""Test FeedbackRecord"""
# inst_req_only = self.make_instance(include_optional=False)
# inst_req_and_optional = self.make_instance(include_optional=True)
if __name__ == '__main__':
unittest.main()

View file

@ -0,0 +1,53 @@
"""
RMI Backend
Rug Munch Intelligence institutional-grade crypto intelligence API. 13+ chains, 96 data providers, 8 MCP tools, x402 paid tier, sovereign-first FOSS.
The version of the OpenAPI document: 2026.06.21
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
"""
import unittest
from rugmunch.models.find_risky_tokens_request import FindRiskyTokensRequest
class TestFindRiskyTokensRequest(unittest.TestCase):
"""FindRiskyTokensRequest unit test stubs"""
def setUp(self):
pass
def tearDown(self):
pass
def make_instance(self, include_optional) -> FindRiskyTokensRequest:
"""Test FindRiskyTokensRequest
include_optional is a boolean, when False only required
params are included, when True both required and
optional params are included """
# uncomment below to create an instance of `FindRiskyTokensRequest`
"""
model = FindRiskyTokensRequest()
if include_optional:
return FindRiskyTokensRequest(
min_rug_count = 1.0,
chain = '',
limit = 1.0
)
else:
return FindRiskyTokensRequest(
)
"""
def testFindRiskyTokensRequest(self):
"""Test FindRiskyTokensRequest"""
# inst_req_only = self.make_instance(include_optional=False)
# inst_req_and_optional = self.make_instance(include_optional=True)
if __name__ == '__main__':
unittest.main()

View file

@ -0,0 +1,56 @@
"""
RMI Backend
Rug Munch Intelligence institutional-grade crypto intelligence API. 13+ chains, 96 data providers, 8 MCP tools, x402 paid tier, sovereign-first FOSS.
The version of the OpenAPI document: 2026.06.21
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
"""
import unittest
from rugmunch.models.generate_request import GenerateRequest
class TestGenerateRequest(unittest.TestCase):
"""GenerateRequest unit test stubs"""
def setUp(self):
pass
def tearDown(self):
pass
def make_instance(self, include_optional) -> GenerateRequest:
"""Test GenerateRequest
include_optional is a boolean, when False only required
params are included, when True both required and
optional params are included """
# uncomment below to create an instance of `GenerateRequest`
"""
model = GenerateRequest()
if include_optional:
return GenerateRequest(
subject_type = 'wallet',
subject_id = '',
model = 'deepseek-v3',
save = True
)
else:
return GenerateRequest(
subject_type = 'wallet',
subject_id = '',
)
"""
def testGenerateRequest(self):
"""Test GenerateRequest"""
# inst_req_only = self.make_instance(include_optional=False)
# inst_req_and_optional = self.make_instance(include_optional=True)
if __name__ == '__main__':
unittest.main()

View file

@ -0,0 +1,74 @@
"""
RMI Backend
Rug Munch Intelligence institutional-grade crypto intelligence API. 13+ chains, 96 data providers, 8 MCP tools, x402 paid tier, sovereign-first FOSS.
The version of the OpenAPI document: 2026.06.21
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
"""
import unittest
from rugmunch.models.generate_response import GenerateResponse
class TestGenerateResponse(unittest.TestCase):
"""GenerateResponse unit test stubs"""
def setUp(self):
pass
def tearDown(self):
pass
def make_instance(self, include_optional) -> GenerateResponse:
"""Test GenerateResponse
include_optional is a boolean, when False only required
params are included, when True both required and
optional params are included """
# uncomment below to create an instance of `GenerateResponse`
"""
model = GenerateResponse()
if include_optional:
return GenerateResponse(
report_id = '',
subject_type = '',
subject_id = '',
risk_score = 56,
risk_tier = '',
risk_factors = [
''
],
generated_by_model = '',
generated_at = '',
sections = {
'key' : ''
},
markdown = '',
paid_via_x402 = '',
error = ''
)
else:
return GenerateResponse(
report_id = '',
subject_type = '',
subject_id = '',
risk_score = 56,
risk_tier = '',
generated_by_model = '',
generated_at = '',
markdown = '',
)
"""
def testGenerateResponse(self):
"""Test GenerateResponse"""
# inst_req_only = self.make_instance(include_optional=False)
# inst_req_and_optional = self.make_instance(include_optional=True)
if __name__ == '__main__':
unittest.main()

View file

@ -0,0 +1,51 @@
"""
RMI Backend
Rug Munch Intelligence institutional-grade crypto intelligence API. 13+ chains, 96 data providers, 8 MCP tools, x402 paid tier, sovereign-first FOSS.
The version of the OpenAPI document: 2026.06.21
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
"""
import unittest
from rugmunch.api.health_api import HealthApi
class TestHealthApi(unittest.TestCase):
"""HealthApi unit test stubs"""
def setUp(self) -> None:
self.api = HealthApi()
def tearDown(self) -> None:
pass
def test_health_health_get(self) -> None:
"""Test case for health_health_get
Health
"""
pass
def test_live_live_get(self) -> None:
"""Test case for live_live_get
Live
"""
pass
def test_ready_ready_get(self) -> None:
"""Test case for ready_ready_get
Ready
"""
pass
if __name__ == '__main__':
unittest.main()

View file

@ -0,0 +1,60 @@
"""
RMI Backend
Rug Munch Intelligence institutional-grade crypto intelligence API. 13+ chains, 96 data providers, 8 MCP tools, x402 paid tier, sovereign-first FOSS.
The version of the OpenAPI document: 2026.06.21
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
"""
import unittest
from rugmunch.models.http_validation_error import HTTPValidationError
class TestHTTPValidationError(unittest.TestCase):
"""HTTPValidationError unit test stubs"""
def setUp(self):
pass
def tearDown(self):
pass
def make_instance(self, include_optional) -> HTTPValidationError:
"""Test HTTPValidationError
include_optional is a boolean, when False only required
params are included, when True both required and
optional params are included """
# uncomment below to create an instance of `HTTPValidationError`
"""
model = HTTPValidationError()
if include_optional:
return HTTPValidationError(
detail = [
rugmunch.models.validation_error.ValidationError(
loc = [
null
],
msg = '',
type = '',
input = null,
ctx = rugmunch.models.context.Context(), )
]
)
else:
return HTTPValidationError(
)
"""
def testHTTPValidationError(self):
"""Test HTTPValidationError"""
# inst_req_only = self.make_instance(include_optional=False)
# inst_req_and_optional = self.make_instance(include_optional=True)
if __name__ == '__main__':
unittest.main()

Some files were not shown because too many files have changed in this diff Show more