How to use PolyDrobe.
This guide covers the fastest way to set up your workspace, manage assets and variants, collaborate with your team, and solve common issues.
Quick Start
Up and running in four steps
From zero to a fully organized asset catalog in minutes.
Create a project
Create your first project and set a clear project slug.
Configure taxonomy
Configure core settings: categories, rarities, tags, currencies, statuses, and releases.
Add assets & variants
Add assets, then create variants with images, price data, and optional metadata.
Invite your team
Invite teammates and assign Owner, Editor, or Viewer roles based on responsibility.
Core Workflows
Everything you can do
Open a workflow to see the details.
Project SetupStart with structure before content.
- Create project details and icon.
- Define reusable taxonomy in Project Settings.
Asset and Variant ManagementUse assets for items and variants for versions.
- Add asset-level metadata and assign category/rarity.
- Attach variant textures, images, and pricing.
Review and SearchKeep the catalog easy to scan and maintain.
- Use filtering, status, and tags to find work quickly.
- Use activity history to review changes.
Import and ExportExchange data safely with your pipeline.
- Export project data to JSON or Excel for reporting.
- Import datasets with validation and error review.
Google Sheets ImportImport assets, variants, and project settings from a native Google Spreadsheet.
- Create a native Google Spreadsheet (not an uploaded .xlsx) with one worksheet per entity type: Categories, Tags, Rarities, Currencies, Releases, Assets, Variants.
- Add exact column headers as the first row of each worksheet (case-sensitive). For example, the Variants sheet needs: slug, name, asset_slug, rarity, release, currency, price, description, tags.
- Entities are imported in dependency order: Categories first, then Tags, Rarities, Currencies, Releases, Assets, and finally Variants. Earlier entities must exist before later ones can reference them.
- In your project, go to the Data Exchange page, select Google Sheet, and connect your Google account.
- Create a Sync Profile by entering the spreadsheet URL and optionally customizing worksheet names.
- Always run a dry run (Generate Preview) first to check for validation errors before applying the import.
- For tags on Assets or Variants, use semicolon-separated values: starter;seasonal=winter;limited-edition.
- Prices accept both dot and comma decimal separators (9.99 or 9,99). Rarity is matched by name, currency by code, and release by version string.
Developer Guides
Connect your tools, agents, and pipelines to PolyDrobe
Step-by-step setup with code snippets. Requires Professional plan.
REST API SetupIntegrate with PolyDrobe using the standard REST API. Available on the Professional plan.
1. Generate an access token
Go to Settings > API Tokens and create a new personal access token. Give it a descriptive name (e.g. 'CI Pipeline' or 'Local Script'), select read and write scopes, and choose an expiration period. Copy the token immediately — it is shown only once.
# Your token will look like this: pdtk_a8f3b2c1d4e5f6a7b8c9d0e1f2a3b4c5... # Keep it safe — you cannot retrieve it later. # If lost, revoke it and create a new one.
2. Authenticate requests
Include the token as a Bearer token in the Authorization header on every request.
curl -H "Authorization: Bearer pdtk_abc123..." \
https://polydrobe.app/api/v1/projects/
3. List your projects
Returns all projects where you are a member. Response uses the standard envelope format with data and meta keys.
GET /api/v1/projects/
# Response:
{
"data": [
{
"id": "...",
"name": "Cyber Skins",
"slug": "cyber-skins",
"asset_count": 42,
"my_role": "owner"
}
],
"meta": { "total": 1, "page": 1, "page_size": 25 }
}
4. Create an asset
Create an asset inside a project. Requires editor or owner role. The slug is auto-generated from the name.
curl -X POST \
-H "Authorization: Bearer pdtk_abc123..." \
-H "Content-Type: application/json" \
-d '{"name": "Plasma Rifle", "description": "Sci-fi weapon", "category_slug": "weapons"}' \
https://polydrobe.app/api/v1/projects/cyber-skins/assets/
5. Create a variant
Add a variant to an asset with pricing, rarity, and status. All foreign key references use slugs.
curl -X POST \
-H "Authorization: Bearer pdtk_abc123..." \
-H "Content-Type: application/json" \
-d '{"name": "Gold Edition", "rarity_slug": "legendary", "price": "29.99", "currency_code": "USD"}' \
https://polydrobe.app/api/v1/projects/cyber-skins/assets/plasma-rifle/variants/
6. Search assets
Full-text search across assets and variants using PostgreSQL search. Supports phrases, OR, and negation.
GET /api/v1/projects/cyber-skins/search/?q=gold+legendary&type=variant&limit=10
7. Bulk operations
Update or delete multiple variants at once. Requires the Bulk Operations capability (Professional plan).
curl -X POST \
-H "Authorization: Bearer pdtk_abc123..." \
-H "Content-Type: application/json" \
-d '{"slugs": ["v1", "v2", "v3"], "updates": {"status_slug": "released"}}' \
https://polydrobe.app/api/v1/projects/cyber-skins/bulk/variants/update/
Available endpoints
The REST API covers all project operations. Every resource uses slug-based URLs.
Projects: GET|POST /v1/projects/
GET|PATCH|DELETE /v1/projects/{slug}/
Assets: GET|POST /v1/projects/{slug}/assets/
GET|PATCH|DELETE /v1/projects/{slug}/assets/{slug}/
Variants: GET|POST /v1/projects/{slug}/assets/{slug}/variants/
GET|PATCH|DELETE /v1/projects/{slug}/assets/{slug}/variants/{slug}/
GET /v1/projects/{slug}/variants/ (flat list)
Classification: GET|POST /v1/projects/{slug}/{categories|tags|rarities|releases|currencies|statuses}/
PATCH|DELETE /v1/projects/{slug}/{entity}/{slug}/
Team: GET|POST /v1/projects/{slug}/members/
PATCH|DELETE /v1/projects/{slug}/members/{user_id}/
Search: GET /v1/projects/{slug}/search/?q=term&type=all
Activity: GET /v1/projects/{slug}/activity/
Export: GET /v1/projects/{slug}/export/?format=json
Webhooks: GET|POST /v1/projects/{slug}/webhooks/
MCP Server SetupConnect AI assistants (Claude, ChatGPT) to PolyDrobe using the Model Context Protocol. Available on the Professional plan.
1. Generate a personal access token
Go to Settings > API Tokens and create a new token. Name it after your AI client (e.g. 'Claude Desktop' or 'Claude Code'). Select read and write scopes, and choose a long expiration (1 year or no expiration). Copy the token immediately — it is shown only once.
# Your token will look like this: pdtk_a8f3b2c1d4e5f6a7b8c9d0e1f2a3b4c5... # Use this token in the configuration steps below. # The same token works for both REST API and MCP server.
2. Connect Claude Desktop
Add the PolyDrobe MCP server to your Claude Desktop configuration. Open claude_desktop_config.json and add this entry.
{
"mcpServers": {
"polydrobe": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://polydrobe.app/mcp"],
"env": {
"MCP_HEADERS": "Authorization: Bearer pdtk_abc123..."
}
}
}
}
3. Connect Claude Code
Add the MCP server from the terminal using the Claude Code CLI.
claude mcp add polydrobe \ --transport http \ --url https://polydrobe.app/mcp \ --header "Authorization: Bearer pdtk_abc123..."
4. Local development (stdio mode)
For local development, run the MCP server directly over stdio without HTTP. This pre-authenticates as the specified user.
python manage.py mcp_stdio --user=your-username
# Claude Desktop config for local stdio:
{
"mcpServers": {
"polydrobe-local": {
"command": "python",
"args": ["manage.py", "mcp_stdio", "--user=your-username"],
"cwd": "/path/to/polydrobe"
}
}
}
5. Try it out
Once connected, ask your AI assistant natural-language questions about your project data.
# Example prompts for your AI assistant: "List all my projects" "Show me the assets in project 'cyber-skins'" "Create a new asset called 'Neon Jacket' in the 'outerwear' category" "Search for legendary variants with price above 20" "Set up categories: Headwear, Outerwear, Footwear, Accessories" "Tag all sword assets with 'melee' and 'weapon'" "Export the project data as JSON" "Give me a project overview with sample thumbnails"
Available MCP tools (51)
The MCP server exposes 51 tools organized by category. AI assistants can discover and use these automatically.
Projects: list_projects, get_project, create_project,
update_project, delete_project
Assets: list_assets, get_asset, create_asset,
update_asset, delete_asset
Variants: list_variants, create_variant,
update_variant, delete_variant
Classification: list_categories, create_category, update_category,
delete_category, list_tags, create_tag, delete_tag,
list_rarities, create_rarity, list_releases,
create_release, list_currencies, create_currency,
list_statuses, create_status
Tags: add_asset_tags, remove_asset_tags,
add_variant_tags, remove_variant_tags
Team: list_members, update_member_role, remove_member
Search: search (full-text across assets & variants)
Activity: get_activity_log
Images: fetch_variant_thumbnail, fetch_variant_image,
fetch_variant_texture, set_variant_thumbnail
Bulk: bulk_create_variants, bulk_update_variants,
bulk_delete_variants
Data: export_project, import_project_data
OAuth 2.1 for production (advanced)
For CI/CD pipelines and server-to-server integrations, you can use OAuth 2.1 client credentials flow instead of personal tokens. Contact support for OAuth application setup.
# Exchange client credentials for an access token: curl -X POST https://polydrobe.app/o/token/ \ -d "grant_type=client_credentials" \ -d "client_id=your-client-id" \ -d "client_secret=your-client-secret" \ -d "scope=read write" # For most use cases, personal access tokens from # Settings > API Tokens are simpler and sufficient.
Role Guidance
Who can do what
Three roles with clear boundaries. Viewers are always free.
Owner
Manages project settings, billing-plan limits, and team access.
- Project settings & configuration
- Billing & subscription management
- Team member management
- Full asset CRUD
- Import & Export
Editor
Creates and updates assets, variants, and operational data.
- Project settings
- Billing
- Team management
- Full asset CRUD
- Import & Export
Viewer
Reads project data for review, QA, or stakeholder visibility.
- Create or edit assets
- Import & Export
- Team management
- Read-only browsing
FAQ
Frequently asked questions
What is PolyDrobe?
What types of assets does PolyDrobe manage?
Does PolyDrobe support 3D model preview?
How does PolyDrobe compare to Google Sheets for game asset tracking?
How is PolyDrobe different from Notion or Airtable?
What game engines is PolyDrobe compatible with?
Can AI agents interact with PolyDrobe?
What is the difference between the REST API and the MCP server?
How do I get an API access token?
Does PolyDrobe support team collaboration?
Should I model each skin as an asset or variant?
How do I keep naming consistent?
Can I share project data externally?
What does the Free plan include?
Do Viewer seats count toward billing?
Is PolyDrobe a SaaS product?
Can I import existing asset data into PolyDrobe?
What columns does the Google Sheets import template need?
Why does my Google Sheets import say 'Spreadsheet metadata could not be loaded'?
Do I need to connect Google separately for each project?
Troubleshooting
Common issues
Quick fixes for the most frequent problems.
Missing permissions
If an action is unavailable, check your project role and ask an Owner for access updates.
Import validation errors
Review required fields, category slugs, and enum values before retrying import.
Media upload issues
Verify file type, file size, and current storage usage against your active plan limits.
Google Sheets: 'Spreadsheet metadata could not be loaded'
The file is likely an uploaded .xlsx, not a native Google Spreadsheet. Open the file, go to File > Save as Google Sheets, and use the new URL. Also check that the connected Google account has access to the spreadsheet.
Google Sheets: Assets or Variants fail with 'Tag not found' or 'Category not found'
Referenced entities must exist before they can be used. Import processes worksheets in order (Categories > Tags > Rarities > Currencies > Releases > Assets > Variants). If a referenced entity failed to import, dependent entities will also fail. Check the dry run preview for errors in earlier entity types first.
Google Sheets: Variant price shows 'invalid price'
Both dot (9.99) and comma (9,99) decimal separators are supported. If you still get this error, check for stray characters, currency symbols, or spaces in the price cell.
Still have questions?
We're here to help. Reach out and we'll get back to you quickly.