{"info":{"_postman_id":"ff842eb2-bfa2-431b-af8c-6758f9aa6af9","name":"ProofPay API","description":"<html><head></head><body><h2 id=\"proofpay-api\">ProofPay API</h2>\n<p>The <strong>ProofPay API</strong> is a RESTful backend service for managing payment proof submissions and verification workflows. It is designed for agencies that need to track client payments across projects, with role-based access for admins and clients.</p>\n<h3 id=\"base-url\">Base URL</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>https://proofpay-api.vercel.app\n</code></pre><h3 id=\"authentication\">Authentication</h3>\n<p>All protected endpoints require a <strong>JWT Bearer token</strong>, obtained via the Login endpoint. Include it in the <code>Authorization</code> header:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Authorization: Bearer &lt;token&gt;\n</code></pre><hr>\n<h3 id=\"endpoints-overview\">Endpoints Overview</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Module</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>AUTH</strong></td>\n<td>Register new users (admin or client) and authenticate to receive a JWT token</td>\n</tr>\n<tr>\n<td><strong>AGENCIES</strong></td>\n<td>Create and manage agencies that serve as the top-level organizational unit</td>\n</tr>\n<tr>\n<td><strong>TEAM</strong></td>\n<td>Add users to an agency with assigned roles</td>\n</tr>\n<tr>\n<td><strong>PROJECTS</strong></td>\n<td>Create and retrieve projects scoped to an agency</td>\n</tr>\n<tr>\n<td><strong>PAYMENTS</strong></td>\n<td>Submit payment proof (file/image upload), and allow admins to verify or reject submissions</td>\n</tr>\n<tr>\n<td><strong>REPORTS</strong></td>\n<td>Export payment and project reports</td>\n</tr>\n<tr>\n<td><strong>DASHBOARD</strong></td>\n<td>Retrieve summary data for the agency dashboard</td>\n</tr>\n<tr>\n<td><strong>WEBHOOK</strong></td>\n<td>Configure webhook endpoints for event-driven notifications</td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"43051527","collectionId":"ff842eb2-bfa2-431b-af8c-6758f9aa6af9","publishedId":"2sBXijHWgD","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2026-03-20T10:38:03.000Z"},"item":[{"name":"AGENCIES","item":[{"name":"Create Agency","id":"9d1f0b86-dd5b-4956-8cb1-c50a94cf727e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\": \"David Agency\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://proofpay-api.vercel.app/agencies","description":"<p>Creates a new agency</p>\n","urlObject":{"protocol":"https","path":["agencies"],"host":["proofpay-api","vercel","app"],"query":[],"variable":[]}},"response":[],"_postman_id":"9d1f0b86-dd5b-4956-8cb1-c50a94cf727e"}],"id":"1572b62d-ef38-4238-8ef8-c117b23e37cf","description":"<p>Manages agency-level operations within the ProofPay platform. This folder currently covers the creation of new agencies, which serve as the top-level organizational unit under which teams, projects, and payments are scoped.</p>\n","_postman_id":"1572b62d-ef38-4238-8ef8-c117b23e37cf"},{"name":"AUTH","item":[{"name":"Register User","id":"b81299d9-8252-4316-abad-e5391ac25ab5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"user@gmail.com\",\r\n    \"password\": \"123456\",\r\n    \"role\": \"admin\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://proofpay-api.vercel.app/auth/register","description":"<p>Creates a new user (admin or client)</p>\n","urlObject":{"protocol":"https","path":["auth","register"],"host":["proofpay-api","vercel","app"],"query":[],"variable":[]}},"response":[],"_postman_id":"b81299d9-8252-4316-abad-e5391ac25ab5"},{"name":"Login User","id":"c7bc9eec-6abb-43f8-a6a8-9085c2e3807e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"user@gmail.com\",\r\n    \"password\": \"123456\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://proofpay-api.vercel.app/auth/login","description":"<p>Authenticates user and returns JWT token</p>\n","urlObject":{"protocol":"https","path":["auth","login"],"host":["proofpay-api","vercel","app"],"query":[],"variable":[]}},"response":[],"_postman_id":"c7bc9eec-6abb-43f8-a6a8-9085c2e3807e"}],"id":"0da51f93-3545-4b70-a2f6-d306752e791d","description":"<p>Handles user authentication for the ProofPay API. This folder covers account registration for both admin and client roles, as well as login functionality that returns a JWT token used to authorize subsequent requests.</p>\n","_postman_id":"0da51f93-3545-4b70-a2f6-d306752e791d"},{"name":"TEAM","item":[{"name":"Add Team Member","id":"b87d1060-3a8a-447d-9829-23a3054a6763","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"user_id\": 1,\r\n  \"role\": \"admin\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://proofpay-api.vercel.app/team","description":"<p>Adds a user to an agency team with a role</p>\n","urlObject":{"protocol":"https","path":["team"],"host":["proofpay-api","vercel","app"],"query":[],"variable":[]}},"response":[],"_postman_id":"b87d1060-3a8a-447d-9829-23a3054a6763"}],"id":"2971e599-a617-4c8e-a6ed-74e9a1a8158c","description":"<p>Manages team membership within an agency. This folder covers adding users to an agency team and assigning them a role, enabling role-based access control across the ProofPay platform.</p>\n","_postman_id":"2971e599-a617-4c8e-a6ed-74e9a1a8158c"},{"name":"PROJECTS","item":[{"name":"Create Project","id":"e2973e96-4885-477e-a51a-6f5061d42f8d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"title\": \"Website Build\",\r\n  \"description\": \"Client website\",\r\n  \"client_id\": 3,\r\n  \"total_amount\": 5000\r\n}","options":{"raw":{"language":"json"}}},"url":"https://proofpay-api.vercel.app/projects","description":"<p>Creates a project under the current agency</p>\n","urlObject":{"protocol":"https","path":["projects"],"host":["proofpay-api","vercel","app"],"query":[],"variable":[]}},"response":[],"_postman_id":"e2973e96-4885-477e-a51a-6f5061d42f8d"},{"name":"Create Project","id":"76481fea-8011-4736-bcdb-6f21a08b537f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[],"url":"https://proofpay-api.vercel.app/projects","description":"<p>Returns all projects for the logged-in user's agency</p>\n","urlObject":{"protocol":"https","path":["projects"],"host":["proofpay-api","vercel","app"],"query":[],"variable":[]}},"response":[],"_postman_id":"76481fea-8011-4736-bcdb-6f21a08b537f"},{"name":"Get Single Project","id":"f733d349-e11b-4b11-aa69-eff71f2a65af","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[],"url":"https://proofpay-api.vercel.app/projects/:id","description":"<p>Returns one project (scoped to agency)</p>\n","urlObject":{"protocol":"https","path":["projects",":id"],"host":["proofpay-api","vercel","app"],"query":[],"variable":[{"type":"any","value":"","key":"id"}]}},"response":[],"_postman_id":"f733d349-e11b-4b11-aa69-eff71f2a65af"}],"id":"b3accb0f-b420-4048-a44d-95ddf57d842e","description":"<p>Handles project management operations scoped to an agency. This folder covers creating new projects, listing all projects belonging to the logged-in user's agency, and retrieving a single project by its ID.</p>\n","_postman_id":"b3accb0f-b420-4048-a44d-95ddf57d842e"},{"name":"PAYMENTS","item":[{"name":"Create Payment (Upload Proof)","id":"3b80e8b1-24df-48d2-9a0a-613692af8fc1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"project_id","value":"2","type":"text","uuid":"ad42efa2-10c2-4791-a55b-84ea49b2fe2b"},{"key":"amount","value":"500","type":"text","uuid":"1a5c3a94-cbcb-4290-8714-3d7a35d61455"},{"key":"method","value":"bank_transfer","type":"text","uuid":"5cd88266-0ffd-4783-884c-ab3a94a857d9"},{"key":"reference","value":"TXN123","type":"text","uuid":"1a1d4026-7f93-4b02-9efa-cd69172d8a67"},{"key":"file","type":"file","uuid":"0769d9a0-7326-4792-b256-2eb60ff00173","value":null}]},"url":"https://proofpay-api.vercel.app/payments","description":"<p>Client uploads payment proof (image/file)</p>\n","urlObject":{"protocol":"https","path":["payments"],"host":["proofpay-api","vercel","app"],"query":[],"variable":[]}},"response":[],"_postman_id":"3b80e8b1-24df-48d2-9a0a-613692af8fc1"},{"name":"Verify Payment (Manual)","id":"bdf578b4-d179-4b25-aac1-83f85fc42764","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"PATCH","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://proofpay-api.vercel.app/payments/:id/verify","description":"<p>Admin manually verifies a payment</p>\n","urlObject":{"protocol":"https","path":["payments",":id","verify"],"host":["proofpay-api","vercel","app"],"query":[],"variable":[{"type":"any","value":"","key":"id"}]}},"response":[],"_postman_id":"bdf578b4-d179-4b25-aac1-83f85fc42764"},{"name":"Reject Payment","id":"3f5332aa-05be-4cc7-b508-143de5a8316d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"PATCH","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://proofpay-api.vercel.app/payments/:id/reject","description":"<p>Admin rejects a payment</p>\n","urlObject":{"protocol":"https","path":["payments",":id","reject"],"host":["proofpay-api","vercel","app"],"query":[],"variable":[{"type":"any","value":"","key":"id"}]}},"response":[],"_postman_id":"3f5332aa-05be-4cc7-b508-143de5a8316d"},{"name":"Verify Payment via Paystack","id":"6c03eeef-a321-41b7-a2c6-f44e2a7e7e97","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"reference\": \"T337740054034662\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://proofpay-api.vercel.app/payments/verify/paystack","description":"<p>Verifies payment using Paystack reference</p>\n","urlObject":{"protocol":"https","path":["payments","verify","paystack"],"host":["proofpay-api","vercel","app"],"query":[],"variable":[]}},"response":[],"_postman_id":"6c03eeef-a321-41b7-a2c6-f44e2a7e7e97"}],"id":"b51c4227-a803-4d45-ba64-8934f94eb5b0","description":"<p>Manages the full payment proof lifecycle within the ProofPay platform. This folder covers client-side proof submission (image/file upload), as well as admin actions to manually verify or reject submitted payments.</p>\n","_postman_id":"b51c4227-a803-4d45-ba64-8934f94eb5b0"},{"name":"WEBHOOK","item":[{"name":"Stripe Webhook","id":"14ca3af1-9ed4-4335-ba62-97210b9f1664","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"stripe-signature","value":"(auto from Stripe)","type":"text"}],"body":{"mode":"raw","raw":"Handled automatically by Stripe","options":{"raw":{"language":"text"}}},"url":"https://proofpay-api.vercel.app/webhook/stripe","description":"<p>Receives Stripe events and auto-verifies payments</p>\n","urlObject":{"protocol":"https","path":["webhook","stripe"],"host":["proofpay-api","vercel","app"],"query":[],"variable":[]}},"response":[],"_postman_id":"14ca3af1-9ed4-4335-ba62-97210b9f1664"}],"id":"3446fff8-1bf9-43d1-9547-2a059d075453","description":"<p>Contains the webhook event handler for the ProofPay API. This folder is used to receive and process incoming event notifications, enabling integrations and automated workflows triggered by platform activity.</p>\n","_postman_id":"3446fff8-1bf9-43d1-9547-2a059d075453"},{"name":"DASHBOARD","item":[{"name":"Get Dashboard Data","id":"0a47cdee-221e-4a74-9f93-77391d00aa61","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[],"url":"https://proofpay-api.vercel.app/dashboard/2","description":"<p>Returns:</p>\n<ul>\n<li>Payment summary</li>\n<li>Payments list</li>\n<li>Activity logs</li>\n</ul>\n","urlObject":{"protocol":"https","path":["dashboard","2"],"host":["proofpay-api","vercel","app"],"query":[],"variable":[]}},"response":[],"_postman_id":"0a47cdee-221e-4a74-9f93-77391d00aa61"}],"id":"2021aa1a-bc0e-449c-b4af-bc7b4d4a43a5","description":"<p>Provides a high-level summary view for authenticated users. The dashboard endpoint returns aggregated stats and key metrics relevant to the logged-in user's agency, giving a quick overview of activity across projects and payments.</p>\n","_postman_id":"2021aa1a-bc0e-449c-b4af-bc7b4d4a43a5"},{"name":"REPORTS","item":[{"name":"Export CSV Report","id":"bd021fa2-b600-4533-ae9c-91ef3f322d33","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[],"url":"https://proofpay-api.vercel.app/reports/export","description":"<p>Exports all agency payments as CSV</p>\n","urlObject":{"protocol":"https","path":["reports","export"],"host":["proofpay-api","vercel","app"],"query":[],"variable":[]}},"response":[],"_postman_id":"bd021fa2-b600-4533-ae9c-91ef3f322d33"}],"id":"ac71af83-0b19-4cdd-988a-3afe37e15b26","description":"<p>Handles report generation and data export for the ProofPay platform. This folder contains endpoints that allow authorized users to extract payment and project data in structured formats (e.g., CSV or Excel) for auditing, reconciliation, and record-keeping purposes.</p>\n","_postman_id":"ac71af83-0b19-4cdd-988a-3afe37e15b26"}]}