# Mongo API Query Profile Generated: 2026-05-31T14:29:51.927Z Base URL: `https://dev.manwe.qzz.io` Mongo: `amanat-dev-mongodb/marketplace` This is a query-shape profile, not a max-throughput test. Request counts are intentionally small so the backend rate limiter does not dominate the profile. ## Endpoint Summary | Endpoint | Requests | Avg | P95 | P99 | Non-2xx | Mongo ops | Top Mongo query | |---|---:|---:|---:|---:|---:|---:|---| | `GET /api/health` | 5 | 327.2ms | 707ms | 707ms | 0 | 0 | - | | `GET /api/marketplace/categories` | 10 | 390.6ms | 1308ms | 1308ms | 0 | 0 | - | | `GET /api/marketplace/categories/tree` | 10 | 342.5ms | 752ms | 752ms | 0 | 10 | `categories` find (10x, IXSCAN { isActive: 1 }) | | `GET /api/marketplace/sellers` | 10 | 341.6ms | 733ms | 733ms | 0 | 10 | `users` find (10x, IXSCAN { role: 1 }) | | `GET /api/marketplace/request-templates/public/logo-design-template` | 10 | 340.3ms | 740ms | 740ms | 0 | 30 | `requesttemplates` find (10x, IXSCAN { shareableLink: 1 }) | | `GET /api/payment/request-network/options?currency=USD&amount=0.01&sellerId=6a1bfd1400e8b8205e86db9e&templateId=6a1c4512d07eb576c3509690` | 50 | 303.52ms | 753ms | 758ms | 0 | 100 | `requesttemplates` find (50x, IDHACK) | | `GET /api/addresses` | 10 | 330.9ms | 715ms | 715ms | 0 | 10 | `addresses` find (10x, IXSCAN { userId: 1 }) | | `GET /api/marketplace/purchase-requests/my` | 10 | 353.3ms | 753ms | 753ms | 0 | 30 | `purchaserequests` find (10x, IXSCAN { createdAt: -1 }) | | `POST /api/auth/login` | 5 | 724.2ms | 1090ms | 1090ms | 0 | 15 | `users` find (5x, IXSCAN { email: 1 }) | ## Query Groups ### health Path: `GET /api/health` Status codes: `{"200":{"count":5}}` No Mongo operations captured in this endpoint window. ### categories Path: `GET /api/marketplace/categories` Status codes: `{"200":{"count":10}}` No Mongo operations captured in this endpoint window. ### categories_tree Path: `GET /api/marketplace/categories/tree` Status codes: `{"200":{"count":10}}` | Collection | Command | Count | Total ms | Avg ms | P95 ms | Plan | Docs | Keys | Returned | Shape | |---|---|---:|---:|---:|---:|---|---:|---:|---:|---| | `categories` | `find` | 10 | 0 | 0 | 0 | `IXSCAN { isActive: 1 }` | 240 | 240 | 240 | `filter={isActive:boolean} sort={name:number,order:number}` | ### sellers Path: `GET /api/marketplace/sellers` Status codes: `{"200":{"count":10}}` | Collection | Command | Count | Total ms | Avg ms | P95 ms | Plan | Docs | Keys | Returned | Shape | |---|---|---:|---:|---:|---:|---|---:|---:|---:|---| | `users` | `find` | 10 | 0 | 0 | 0 | `IXSCAN { role: 1 }` | 20 | 20 | 20 | `filter={isEmailVerified:boolean,role:string} projection={_id:number,email:number,firstName:number,lastName:number,profile.avatar:number}` | ### template_public Path: `GET /api/marketplace/request-templates/public/logo-design-template` Status codes: `{"200":{"count":10}}` | Collection | Command | Count | Total ms | Avg ms | P95 ms | Plan | Docs | Keys | Returned | Shape | |---|---|---:|---:|---:|---:|---|---:|---:|---:|---| | `requesttemplates` | `find` | 10 | 0 | 0 | 0 | `IXSCAN { shareableLink: 1 }` | 10 | 10 | 10 | `filter={$or:[{expiresAt:null},{expiresAt:{$gt:{}}}],isActive:boolean,shareableLink:string}` | | `users` | `find` | 10 | 0 | 0 | 0 | `IXSCAN { _id: 1 }` | 10 | 10 | 10 | `filter={_id:{$in:[ObjectId]}} projection={email:number,firstName:number,lastName:number}` | | `categories` | `find` | 10 | 0 | 0 | 0 | `IXSCAN { _id: 1 }` | 10 | 10 | 10 | `filter={_id:{$in:[ObjectId]}} projection={name:number,nameEn:number}` | ### payment_options_template Path: `GET /api/payment/request-network/options?currency=USD&amount=0.01&sellerId=6a1bfd1400e8b8205e86db9e&templateId=6a1c4512d07eb576c3509690` Status codes: `{"200":{"count":50}}` | Collection | Command | Count | Total ms | Avg ms | P95 ms | Plan | Docs | Keys | Returned | Shape | |---|---|---:|---:|---:|---:|---|---:|---:|---:|---| | `requesttemplates` | `find` | 50 | 0 | 0 | 0 | `IDHACK` | 50 | 50 | 50 | `filter={_id:ObjectId} projection={paymentConfig:number}` | | `shopsettings` | `find` | 50 | 0 | 0 | 0 | `IXSCAN { sellerId: 1 }` | 0 | 0 | 0 | `filter={sellerId:ObjectId} projection={paymentConfig:number}` | ### addresses_me Path: `GET /api/addresses` Status codes: `{"200":{"count":10}}` | Collection | Command | Count | Total ms | Avg ms | P95 ms | Plan | Docs | Keys | Returned | Shape | |---|---|---:|---:|---:|---:|---|---:|---:|---:|---| | `addresses` | `find` | 10 | 0 | 0 | 0 | `IXSCAN { userId: 1 }` | 30 | 30 | 30 | `filter={userId:ObjectId} sort={createdAt:number,primary:number}` | ### purchase_requests_my Path: `GET /api/marketplace/purchase-requests/my` Status codes: `{"200":{"count":10}}` | Collection | Command | Count | Total ms | Avg ms | P95 ms | Plan | Docs | Keys | Returned | Shape | |---|---|---:|---:|---:|---:|---|---:|---:|---:|---| | `purchaserequests` | `find` | 10 | 1 | 0.1 | 1 | `IXSCAN { createdAt: -1 }` | 0 | 0 | 0 | `filter={buyerId:ObjectId} sort={createdAt:number}` | | `purchaserequests` | `aggregate` | 10 | 0 | 0 | 0 | `COUNT_SCAN { buyerId: 1 }` | 0 | 10 | 0 | `pipeline=[{$match:{buyerId:ObjectId}},{$group:{_id:number,n:{$sum:number}}}]` | | `payments` | `find` | 10 | 0 | 0 | 0 | `IXSCAN { status: 1, createdAt: -1 }, IXSCAN { status: 1, createdAt: -1 }, IXSCAN { status: 1, createdAt: -1 }, IXSCAN { status: 1, createdAt: -1 }` | 0 | 0 | 0 | `filter={purchaseRequestId:{$in:[]},status:{$in:[string,string,string,string]}} sort={createdAt:number}` | ### auth_login Path: `POST /api/auth/login` Status codes: `{"200":{"count":5}}` | Collection | Command | Count | Total ms | Avg ms | P95 ms | Plan | Docs | Keys | Returned | Shape | |---|---|---:|---:|---:|---:|---|---:|---:|---:|---| | `users` | `find` | 5 | 0 | 0 | 0 | `IXSCAN { email: 1 }` | 5 | 5 | 5 | `filter={email:string,status:string}` | | `users` | `q` | 5 | 0 | 0 | 0 | `IDHACK` | 5 | 5 | 0 | `-` | | `users` | `q` | 5 | 0 | 0 | 0 | `IXSCAN { _id: 1 }` | 5 | 5 | 0 | `-` | ## Block I/O Deltas - health: amanat-dev-scanner: read 0 B, write 10 KB - categories: no container block I/O delta - categories_tree: no container block I/O delta - sellers: amanat-dev-scanner: read 0 B, write 20 KB - template_public: no container block I/O delta - payment_options_template: amanat-dev-postgres: read 100 KB, write 0 B - addresses_me: no container block I/O delta - purchase_requests_my: amanat-dev-scanner: read 0 B, write 20 KB - auth_login: no container block I/O delta