{"info":{"_postman_id":"696da12c-8032-4a93-8d61-f5f5c38565e0","name":"Trust Layer","description":"<html><head></head><body><p>StartFragment</p>\n<h1 id=\"trustlayer-b2b-saas-api-documentation\">TrustLayer B2B SaaS API Documentation</h1>\n<p><strong>TrustLayer</strong> is a secure, institutional-grade escrow and payment verification platform designed for high-value digital transactions between Clients and Freelancers (Providers).</p>\n<h3 id=\"core-features\">Core Features:</h3>\n<ul>\n<li><p><strong>Escrow Protocol:</strong> Secured fund holding and release based on verifiable milestones.</p>\n</li>\n<li><p><strong>Dispute Resolution Center:</strong> Multi-party evidence submission (file uploads) and administrative adjudication.</p>\n</li>\n<li><p><strong>Role-Based Access Control:</strong> Distinct workflows for Clients, Providers, and Administrators.</p>\n</li>\n<li><p><strong>Dynamic Marketplace:</strong> Service listing and custom contract generation.</p>\n</li>\n<li><p><strong>Trust Scoring:</strong> Backend logic for tracking user reliability over time.</p>\n</li>\n</ul>\n<h3 id=\"technical-specifications\">Technical Specifications:</h3>\n<ul>\n<li><p><strong>Architecture:</strong> Node.js / Express (Modular MVC Pattern)</p>\n</li>\n<li><p><strong>Database:</strong> MongoDB (Mongoose ODM)</p>\n</li>\n<li><p><strong>Security:</strong> JWT (JSON Web Token) Bearer Authentication with 256-bit encryption.</p>\n</li>\n<li><p><strong>File Handling:</strong> Multipart/form-data support for evidentiary proof uploads.</p>\n</li>\n</ul>\n<h3 id=\"how-to-use-this-collection\">How to use this Collection:</h3>\n<ol>\n<li><p><strong>Environment:</strong> Set <code>{{base_url}}</code> to your local host or deployed Render URL.</p>\n</li>\n<li><p><strong>Authentication:</strong> Execute the <strong>Login</strong> request to receive an access token.</p>\n</li>\n<li><p><strong>Authorization:</strong> Copy the token and paste it into the <strong>Bearer Token</strong> field under the Collection's \"Authorization\" tab. This will automatically authorize all sub-requests.</p>\n</li>\n<li><p><strong>Flow:</strong> Follow the folder sequence from <strong>Auth</strong> -&gt; <strong>Services</strong> -&gt; <strong>Transactions</strong> -&gt; <strong>Disputes</strong> for a complete end-to-end demonstration.</p>\n</li>\n</ol>\n<p>EndFragment</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"TrustLayer B2B SaaS API Documentation","slug":"trustlayer-b2b-saas-api-documentation"}],"owner":"50840763","collectionId":"696da12c-8032-4a93-8d61-f5f5c38565e0","publishedId":"2sBXqKoKkc","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2026-05-02T05:47:48.000Z"},"item":[{"name":"Authentication","id":"e4dc2d9d-bcb7-4b6a-a790-9c5c6681edc6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"name\": \"Full Name\",\r\n  \"email\": \"user@example.com\",\r\n  \"password\": \"password123\",\r\n  \"role\": \"client\", // or \"provider\"\r\n  \"company\": \"Company Name\",\r\n  \"industry\": \"Tech\"\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/auth/register","urlObject":{"protocol":"http","port":"5000","path":["api","auth","register"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"959e7dce-c2d0-45e5-8421-fbd24892dda7","name":"New Request","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"name\": \"Full Name\",\r\n  \"email\": \"user@example.com\",\r\n  \"password\": \"password123\",\r\n  \"role\": \"client\", // or \"provider\"\r\n  \"company\": \"Company Name\",\r\n  \"industry\": \"Tech\"\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/auth/register"},"status":"Created","code":201,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"http://localhost:5173"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"482"},{"key":"ETag","value":"W/\"1e2-aZOk+Wlnd48rk7HmlHw4yKu/+fY\""},{"key":"Date","value":"Sat, 02 May 2026 05:18:43 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI2OWY1ODkzM2I0NTczMTk2NDEwMWIyOTkiLCJyb2xlIjoiY2xpZW50IiwiZW1haWwiOiJ1c2VyQGV4YW1wbGUuY29tIiwiaWF0IjoxNzc3Njk5MTIzLCJleHAiOjE3NzgzMDM5MjN9.AgdXMcavjmTQFcFisoYoWHIw5ZeUkdgXyBE8SY6PiKw\",\n    \"user\": {\n        \"id\": \"69f58933b45731964101b299\",\n        \"name\": \"Full Name\",\n        \"company\": \"Company Name\",\n        \"email\": \"user@example.com\",\n        \"role\": \"client\",\n        \"industry\": \"Tech\",\n        \"trustScore\": 100,\n        \"createdAt\": \"2026-05-02T05:18:43.494Z\",\n        \"updatedAt\": \"2026-05-02T05:18:43.494Z\"\n    }\n}"}],"_postman_id":"e4dc2d9d-bcb7-4b6a-a790-9c5c6681edc6"},{"name":"login","id":"3baa0f35-4fff-4020-b1fb-72fd6e861d80","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"email\": \"manan@gmail.com\",\r\n  \"password\": \"password123\"\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/auth/login","urlObject":{"protocol":"http","port":"5000","path":["api","auth","login"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"c8dd6915-3ac2-450f-8caa-9bfd0fda7513","name":"login","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"email\": \"manan@gmail.com\",\r\n  \"password\": \"password123\"\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/auth/login"},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"http://localhost:5173"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"33"},{"key":"ETag","value":"W/\"21-dBEoW0UmTF+EGUMaprEp9/8zNNA\""},{"key":"Date","value":"Sat, 02 May 2026 05:20:13 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Invalid credentials\"\n}"}],"_postman_id":"3baa0f35-4fff-4020-b1fb-72fd6e861d80"},{"name":"Create Transaction","id":"23da5246-7d71-44cc-bf32-1bad559e49e0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"serviceId\": \"69f44b8cc2fae142dc912251\",\r\n  \"providerEmail\": \"manan.freelancer@gemail.com\", \r\n  \"customTitle\": \"UI Design\"\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000//api/transactions","urlObject":{"protocol":"http","port":"5000","path":["","api","transactions"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"23da5246-7d71-44cc-bf32-1bad559e49e0"},{"name":"Escrow Metrics","id":"7e2daed2-68e3-476b-84e9-682688ba0c6a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"urlObject":{"query":[],"variable":[]},"url":""},"response":[{"id":"833d042d-8d22-4b33-ae12-5a9529198bd6","name":"Escrow Metrics","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"{\r\n  \"serviceId\": \"69f44b8cc2fae142dc912251\",\r\n  \"providerEmail\": \"manan.freelancer@gemail.com\", \r\n  \"customTitle\": \"UI Design\"\r\n}\r\n"},"url":"http://localhost:5000/api/escrows/summary"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"http://localhost:5173"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"56"},{"key":"ETag","value":"W/\"38-EaunpVJcXUmfO295AFVfFzeJ+PI\""},{"key":"Date","value":"Sat, 02 May 2026 05:37:44 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"totalHeld\": 0,\n    \"ongoing\": 0,\n    \"actionRequired\": 0,\n    \"total\": 0\n}"}],"_postman_id":"7e2daed2-68e3-476b-84e9-682688ba0c6a"},{"name":"Dispute Overview","id":"d295ec3d-439f-4d75-ad9f-ae36d440e412","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"urlObject":{"query":[],"variable":[]},"url":""},"response":[],"_postman_id":"d295ec3d-439f-4d75-ad9f-ae36d440e412"},{"name":"Main Dashboard Feed","id":"cb13fc22-19f5-4a1a-b2a8-ba09aff3e2cb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"urlObject":{"query":[],"variable":[]},"url":""},"response":[],"_postman_id":"cb13fc22-19f5-4a1a-b2a8-ba09aff3e2cb"},{"name":"Delete an Escrow","id":"0d26ed20-806a-438b-aa71-51484ee13881","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"DELETE","header":[],"url":"http://localhost:5000/api/escrows/:id","urlObject":{"protocol":"http","port":"5000","path":["api","escrows",":id"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"69f4494ba38aa466d11f7ebb","key":"id"}]}},"response":[],"_postman_id":"0d26ed20-806a-438b-aa71-51484ee13881"},{"name":"Filter Services by Provider","id":"f5b3dcc2-6bbd-43e0-8bff-6d6f5cc66de5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"urlObject":{"query":[],"variable":[]},"url":""},"response":[{"id":"d18b1c00-bdba-483a-906d-f51008f67e1f","name":"Filter Services by Provider","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://localhost:5000/api/services?providerId=69f44b8cc2fae142dc91224f","protocol":"http","host":["localhost"],"port":"5000","path":["api","services"],"query":[{"key":"providerId","value":"69f44b8cc2fae142dc91224f"}]}},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"http://localhost:5173"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"653"},{"key":"ETag","value":"W/\"28d-FNQB8KWZq4FrsCF+2PCqWvdBtGs\""},{"key":"Date","value":"Sat, 02 May 2026 05:43:31 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"services\": [\n        {\n            \"_id\": \"69f44b8cc2fae142dc912251\",\n            \"title\": \"Web App Development\",\n            \"description\": \"Full stack development of a minimal viable product.\",\n            \"price\": 120000,\n            \"category\": \"Software Development\",\n            \"providerId\": {\n                \"_id\": \"69f44b8cc2fae142dc91224f\",\n                \"name\": \"Bob Provider\"\n            },\n            \"createdAt\": \"2026-05-01T06:43:24.654Z\",\n            \"updatedAt\": \"2026-05-01T06:43:24.654Z\",\n            \"__v\": 0\n        },\n        {\n            \"_id\": \"69f44b8cc2fae142dc912252\",\n            \"title\": \"UI/UX Design Mockups\",\n            \"description\": \"Figma mockups for 5 screens.\",\n            \"price\": 45000,\n            \"category\": \"Design\",\n            \"providerId\": {\n                \"_id\": \"69f44b8cc2fae142dc91224f\",\n                \"name\": \"Bob Provider\"\n            },\n            \"createdAt\": \"2026-05-01T06:43:24.655Z\",\n            \"updatedAt\": \"2026-05-01T06:43:24.655Z\",\n            \"__v\": 0\n        }\n    ]\n}"}],"_postman_id":"f5b3dcc2-6bbd-43e0-8bff-6d6f5cc66de5"},{"name":"List Personal Notes","id":"ffe472b4-8d48-4510-a488-0a15809a8136","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[],"url":"http://localhost:5000/api/notes/","urlObject":{"protocol":"http","port":"5000","path":["api","notes",""],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"ffe472b4-8d48-4510-a488-0a15809a8136"}]}