{"info":{"_postman_id":"d1b8ed45-576d-414b-96cc-af81a561a68c","name":"Klutch Public API","description":"<html><head></head><body><h2 id=\"welcome-to-the-klutch-api\">Welcome to the Klutch API</h2>\n<p>The <strong>Klutch API</strong> is your gateway to integrating with Klutch, a platform designed to help users manage and automate their scheduling, availability, and time coordination. Whether you're building a personal integration or a full-featured miniapp for others, the Klutch API gives you the tools to create seamless, time-saving experiences.</p>\n<h3 id=\"what-is-klutch\">What is Klutch?</h3>\n<p><strong>Klutch</strong> helps users stay in control of their time. With smart scheduling, streamlined calendar integrations, and powerful automation, Klutch simplifies how people book, manage, and share their availability. The API enables you to tap into this power programmatically — either for yourself or on behalf of other users through miniapps.</p>\n<h3 id=\"about-the-api\">About the API</h3>\n<p>The Klutch API is built on <strong>GraphQL</strong>, offering a flexible and efficient way to query and mutate data. Whether you need to fetch availability, create booking links, or manage user preferences, you can do it all with simple, precise queries.</p>\n<hr>\n<h2 id=\"using-the-api\">Using the API</h2>\n<p>There are two primary ways to interact with the Klutch API:</p>\n<h3 id=\"1-as-a-user\">1. <strong>As a User</strong></h3>\n<p>Use this mode if you're integrating Klutch into your own workflows or building a tool for <strong>personal use</strong>.</p>\n<ul>\n<li><p>Authenticate with your personal Klutch account.</p>\n</li>\n<li><p>Access and manage <strong>your own data</strong> (e.g., availability, bookings, settings).</p>\n</li>\n<li><p>Great for automating scheduling or integrating Klutch into your personal tools.</p>\n</li>\n</ul>\n<h3 id=\"2-as-a-miniapp-developer\">2. <strong>As a Miniapp Developer</strong></h3>\n<p>Use this mode if you're building a <strong>miniapp for others to use</strong>. Your miniapp will authenticate on behalf of users and act in their context.</p>\n<ul>\n<li><p>Register your miniapp with Klutch.</p>\n</li>\n<li><p>Once authorized, your miniapp can:</p>\n<ul>\n<li><p>Create cards on behalf of users</p>\n</li>\n<li><p>Read Transactions</p>\n</li>\n<li><p>Create Spending Controls</p>\n</li>\n</ul>\n</li>\n</ul>\n<p>This mode is perfect for startups, productivity tools, or any app that wants to offer Klutch’s functionality to its users.</p>\n<h2 id=\"endpoints\">Endpoints</h2>\n<p>We offer two endpoints: Production and Sandbox.</p>\n<p>Users can acccess their own data using the production endpoint.</p>\n<p>Sandbox endpoint is available for Mini-app developers if they need to test from a multi-user perspective.</p>\n<p>Production: <a href=\"https://graphql.klutchard.com/graphql\">https://graphql.klutchcard.com/graphql</a></p>\n<p>Sandbox: <a href=\"https://sandbox.klutchcard.com/graphql\">https://sandbox.klutchcard.com/graphql</a></p>\n<p><a href=\"https://app.getpostman.com/run-collection/14742361-d1b8ed45-576d-414b-96cc-af81a561a68c?action=collection%2Ffork&amp;collection-url=entityId%3D14742361-d1b8ed45-576d-414b-96cc-af81a561a68c%26entityType%3Dcollection%26workspaceId%3Dfcf775ab-a9c4-4c6e-804c-ff0b046f8b49#?env%5BSandbox%5D=W3sia2V5Ijoia2x1dGNoLXNlcnZlci1lbmRwb2ludCIsInZhbHVlIjoiaHR0cHM6Ly9zYW5kYm94LmtsdXRjaGNhcmQuY29tL2dyYXBocWwiLCJlbmFibGVkIjp0cnVlLCJ0eXBlIjoiZGVmYXVsdCIsInNlc3Npb25WYWx1ZSI6Imh0dHBzOi8vc2FuZGJveC5rbHV0Y2hjYXJkLmNvbS9ncmFwaHFsIiwic2Vzc2lvbkluZGV4IjowfV0=\"><img src=\"https://run.pstmn.io/button.svg\" alt=\"Run in Postman\"></a></p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"14742361","collectionId":"d1b8ed45-576d-414b-96cc-af81a561a68c","publishedId":"UzJQrEgN","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"47a9cd"},"publishDate":"2025-08-27T23:36:29.000Z"},"item":[{"name":"Auth","item":[{"name":"Create Session Token","id":"f3a12b34-8896-43f0-83d0-4d82981f09a4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"mutation($clientId: String, $secretKey: String) {\r\n    createSessionToken(clientId: $clientId, secretKey: $secretKey) \r\n}","variables":"{\r\n    \"clientId\": \"{{clientId}}\",\r\n    \"secretKey\": \"{{secretKey}}\"\r\n}\r\n\r\n"}},"url":"{{klutch-server-endpoint}}","urlObject":{"host":["{{klutch-server-endpoint}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"f3a12b34-8896-43f0-83d0-4d82981f09a4"}],"id":"2aef4083-b3eb-4727-8c39-b88a453216ef","description":"<p>To create an API Key, login to your account and go to \" My Account\" -&gt; \"Developers\"</p>\n<p>If you are creating a mini-app, the API Key will be provided to you by our team.</p>\n","_postman_id":"2aef4083-b3eb-4727-8c39-b88a453216ef","auth":{"type":"bearer","bearer":{"token":""},"isInherited":true,"source":{"_postman_id":"d1b8ed45-576d-414b-96cc-af81a561a68c","id":"d1b8ed45-576d-414b-96cc-af81a561a68c","name":"Klutch Public API","type":"collection"}}},{"name":"Transactions","item":[{"name":"List Transactions","id":"4e5b1068-022a-4b63-bed5-846e3b142009","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer ","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"query {\r\n          transactions {\r\n            id\r\n            transactionDate\r\n            card {\r\n              id\r\n            }\r\n            transactionStatus\r\n            transactionType\r\n            merchantName\r\n            amount\r\n            category {\r\n              id\r\n              name\r\n            }\r\n            mcc {\r\n              code\r\n              description\r\n              category\r\n            }\r\n            zipCode\r\n            streetAddress\r\n            city\r\n            state\r\n            merchantId\r\n            cardPresent\r\n            cardHolderPresent\r\n            entryMode\r\n            terminalType\r\n            terminalId\r\n            merchantLogo\r\n            mid\r\n            merchantOfficialPage\r\n            merchantPhoneNumber\r\n            cardAcceptorId\r\n          }\r\n        }","variables":""}},"url":"{{klutch-server-endpoint}}","description":"<h1 id=\"list-transactions\">List Transactions</h1>\n<p>Fetch all transactions for an user</p>\n<h5 id=\"field-descriptions\"><strong>Field Descriptions:</strong></h5>\n<h5 id=\"returns\"><strong>Returns</strong>:</h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td>Transaction Id</td>\n</tr>\n<tr>\n<td>transactionDate</td>\n<td>The transaction Date</td>\n</tr>\n<tr>\n<td>card</td>\n<td>Properties of the card (see List Cards)</td>\n</tr>\n<tr>\n<td>transactionStatus</td>\n<td>Status of the transaction</td>\n</tr>\n<tr>\n<td>transactionType</td>\n<td>Type of Transaction</td>\n</tr>\n<tr>\n<td>merchantName</td>\n<td>The merchant name  <br />NOTE: That can be changed as the transaction is enriched or settled</td>\n</tr>\n<tr>\n<td>amount</td>\n<td>Amount in USD  <br />Note: This can changed when transaction is settled or reversed</td>\n</tr>\n<tr>\n<td>category</td>\n<td>Properties of category (see List Categories)</td>\n</tr>\n<tr>\n<td>mcc</td>\n<td>The Merchant Category Code</td>\n</tr>\n<tr>\n<td>zipCode</td>\n<td>Zip Code of the merchant</td>\n</tr>\n<tr>\n<td>streetAddress</td>\n<td>The street address of the merchant</td>\n</tr>\n<tr>\n<td>city</td>\n<td>The city of the merchant</td>\n</tr>\n<tr>\n<td>state</td>\n<td>The state of the merchant</td>\n</tr>\n<tr>\n<td>merchantId</td>\n<td>Merchant Id</td>\n</tr>\n<tr>\n<td>cardPresent</td>\n<td>Was the card present for the transaction</td>\n</tr>\n<tr>\n<td>cardHolderPresent</td>\n<td>Was the user present for this transaction</td>\n</tr>\n<tr>\n<td>entryMode</td>\n<td>Entry Mode for Transaction</td>\n</tr>\n<tr>\n<td>terminalType</td>\n<td>The type of Merchant Terminal</td>\n</tr>\n<tr>\n<td>terminalId</td>\n<td>Id of the Merchant Terminal</td>\n</tr>\n<tr>\n<td>merchantLogo</td>\n<td>Logo of the merchant</td>\n</tr>\n<tr>\n<td>mid</td>\n<td>Merchant Id</td>\n</tr>\n<tr>\n<td>merchantOfficialPage</td>\n<td>The website or other official page of the merchant</td>\n</tr>\n<tr>\n<td>merchantPhoneNumber</td>\n<td>Phone number of the merchant</td>\n</tr>\n<tr>\n<td>cardAcceptorId</td>\n<td>The Id of the device that accepted the payment</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"transactionstatus\">TransactionStatus:</h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Value</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>PENDING</td>\n<td>The Transaction is pending</td>\n</tr>\n<tr>\n<td>SETTLED</td>\n<td>The transaction is completed</td>\n</tr>\n<tr>\n<td>REVERSED</td>\n<td>The authorization was reversed</td>\n</tr>\n<tr>\n<td>DECLINED</td>\n<td>The transaction was declined</td>\n</tr>\n<tr>\n<td>ERROR</td>\n<td>There was an error with this transaction</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"transactiontype\">TransactionType:</h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Value</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>PAYMENT</td>\n<td>A payment of the card bill</td>\n</tr>\n<tr>\n<td>CHARGE</td>\n<td>A purchase made on the card</td>\n</tr>\n<tr>\n<td>REFUND</td>\n<td>A refund made on the card</td>\n</tr>\n<tr>\n<td>OTHER</td>\n<td>Other types of charges</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"cardpresent\">CardPresent:</h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Value</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>CARD_PRESENT</td>\n<td>Card was present</td>\n</tr>\n<tr>\n<td>CARD_NOT_PRESENT</td>\n<td>Card was not present</td>\n</tr>\n<tr>\n<td>PRE_AUTHORIZED_PURCHASE</td>\n<td>This purchased was authorized previously</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"cardholderpresent\">CardHolderPresent:</h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Value</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>CUSTOMER_PRESENT</td>\n<td>The user was present</td>\n</tr>\n<tr>\n<td>CUSTOMER_NOT_PRESENT</td>\n<td>The user was not present</td>\n</tr>\n<tr>\n<td>MAIL_ORDER</td>\n<td>This is a mail order</td>\n</tr>\n<tr>\n<td>TELEPHONE_ORDER</td>\n<td>This is an order by the phone</td>\n</tr>\n<tr>\n<td>RECURRING_PAYMENT</td>\n<td>This is a subscription or other recurring payment</td>\n</tr>\n<tr>\n<td>PRE_AUTHORIZED_PURCHASE</td>\n<td>The purchase was authorized previously</td>\n</tr>\n<tr>\n<td>DEFERRED_BILLING</td>\n<td>The billing was deferred</td>\n</tr>\n<tr>\n<td>INSTALLMENT_PAYMENT</td>\n<td>This is an installment payment</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"entrymode\">EntryMode:</h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Value</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>UNSPECIFIED</td>\n<td>Unspecified Entry Mode</td>\n</tr>\n<tr>\n<td>MANUAL</td>\n<td>The card was manually entered</td>\n</tr>\n<tr>\n<td>INTEGRATED_CIRCUIT_CARD</td>\n<td>The card chip was used</td>\n</tr>\n<tr>\n<td>QR_OR_BARCODE</td>\n<td>A QR code was used in place of the card</td>\n</tr>\n<tr>\n<td>OCR</td>\n<td>Card number was read via OCR</td>\n</tr>\n<tr>\n<td>KEY_ENTERED</td>\n<td>The card number was entered on the device</td>\n</tr>\n<tr>\n<td>CONTACTLESS</td>\n<td>The user tapped the card</td>\n</tr>\n<tr>\n<td>ELECTRONIC</td>\n<td>Other electronic means</td>\n</tr>\n<tr>\n<td>CHIP_FAILURE_USED_MANUAL</td>\n<td>The chip didn't work, so used manual</td>\n</tr>\n<tr>\n<td>CHIP_FAILURE_USED_TRACK</td>\n<td>The chip failed so used magstripe</td>\n</tr>\n<tr>\n<td>FROM_FILE</td>\n<td>A card on file was used</td>\n</tr>\n<tr>\n<td>FROM_SERVER</td>\n<td>Used a card file on the server</td>\n</tr>\n<tr>\n<td>FROM_OTHER_CARDLESS_ENTRY</td>\n<td>Other forms of card numbers without the card</td>\n</tr>\n<tr>\n<td>MAGNETIC_STRIPE_FULL</td>\n<td>The card was swiped on the machine</td>\n</tr>\n<tr>\n<td>MAGNETIC_STRIPE_CONTACTLESS</td>\n<td>The card was swiped and then tapped</td>\n</tr>\n<tr>\n<td>APPLE_PAY</td>\n<td>The user used Apple Pay</td>\n</tr>\n<tr>\n<td>GOOGLE_PAY</td>\n<td>The user used Google Pay</td>\n</tr>\n<tr>\n<td>SAMSUNG_PAY</td>\n<td>The user used Samsung Pay</td>\n</tr>\n<tr>\n<td>TOKEN</td>\n<td>A token was used instead of the card</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"terminaltype\">TerminalType:</h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Value</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>ADMINISTRATIVE_TERMINAL</td>\n<td>An Administrative Terminal was used</td>\n</tr>\n<tr>\n<td>POS_TERMINAL</td>\n<td>A regular Point of Sale terminal was used</td>\n</tr>\n<tr>\n<td>ATM</td>\n<td>An ATM was used</td>\n</tr>\n<tr>\n<td>HOME_TERMINAL</td>\n<td>A home terminal was used</td>\n</tr>\n<tr>\n<td>ECR</td>\n<td>an ECR was used</td>\n</tr>\n<tr>\n<td>DIAL_TERMINAL</td>\n<td>The user dialed in to a terminal</td>\n</tr>\n<tr>\n<td>TRAVELERS_CHECK_MACHINE</td>\n<td>The user used a travelers check</td>\n</tr>\n<tr>\n<td>FUEL_MACHINE</td>\n<td>This is a fuel pump</td>\n</tr>\n<tr>\n<td>SCRIP_MACHINE</td>\n<td>A Script machine was used</td>\n</tr>\n<tr>\n<td>COUPON_MACHINE</td>\n<td>A Coupon machine was used</td>\n</tr>\n<tr>\n<td>TICKET_MACHINE</td>\n<td>A ticketing machine was used</td>\n</tr>\n<tr>\n<td>POINT_OF_BANKING_TERMINAL</td>\n<td>A banking terminal was used</td>\n</tr>\n<tr>\n<td>TELLER</td>\n<td>The bank teller did this transaction</td>\n</tr>\n<tr>\n<td>FRANCHISE_TELLER</td>\n<td>A franchise teller did this transactions</td>\n</tr>\n<tr>\n<td>PERSONAL_BANKING</td>\n<td>A banker this transaction</td>\n</tr>\n<tr>\n<td>PUBLIC_UTILITY</td>\n<td>A public utility company did this transaction</td>\n</tr>\n<tr>\n<td>VENDING</td>\n<td>This is an automated vending machine</td>\n</tr>\n<tr>\n<td>SELF_SERVICE</td>\n<td>This is a self-service terminal</td>\n</tr>\n<tr>\n<td>AUTHORIZATION</td>\n<td>There was already an authorization</td>\n</tr>\n<tr>\n<td>PAYMENT</td>\n<td>There was already a payment</td>\n</tr>\n<tr>\n<td>VRU</td>\n<td>A VRU was used</td>\n</tr>\n<tr>\n<td>SMART_PHONE</td>\n<td>A smartphone app was used to do the transaction</td>\n</tr>\n<tr>\n<td>INTERACTIVE_TELEVISION</td>\n<td>A interactive TV was used to do this transaction</td>\n</tr>\n<tr>\n<td>PERSONAL_DIGITAL_ASSISTANT</td>\n<td>A PDA was used to do this transaction</td>\n</tr>\n<tr>\n<td>SCREEN_PHONE</td>\n<td>A phone screen was used to do the transaction</td>\n</tr>\n<tr>\n<td>ELECTRONIC_COMMERCE</td>\n<td>This was an ecommerce transaction</td>\n</tr>\n<tr>\n<td>MICR_TERMINAL</td>\n<td>The transaction was made used a micro terminal</td>\n</tr>\n<tr>\n<td>OFF_PREMISES</td>\n<td>The transaction was made off premises</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"token":""},"isInherited":true,"source":{"_postman_id":"d1b8ed45-576d-414b-96cc-af81a561a68c","id":"d1b8ed45-576d-414b-96cc-af81a561a68c","name":"Klutch Public API","type":"collection"}},"urlObject":{"host":["{{klutch-server-endpoint}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"4e5b1068-022a-4b63-bed5-846e3b142009"},{"name":"List Transactions With Filters Paginated","id":"adbc50a3-1c28-4db5-9704-3f89ee59eb6a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer "}],"body":{"mode":"graphql","graphql":{"query":"query($filter: TransactionFilter, $sortOrder: TransactionSortOrder, $limit: Int, $nextCursor: String) {\r\n          transactionsPaginated(filter: $filter, sortOrder: $sortOrder, limit: $limit, nextCursor: $nextCursor) {\r\n            nextCursor, \r\n            list {\r\n                id\r\n                transactionDate\r\n                card {\r\n                id\r\n                }\r\n                transactionStatus\r\n                declineReason\r\n                transactionType\r\n                merchantName\r\n                amount\r\n                category {\r\n                id\r\n                name\r\n                }\r\n                mcc {\r\n                code\r\n                description\r\n                category\r\n                }\r\n                zipCode\r\n                streetAddress\r\n                city\r\n                state\r\n                merchantId\r\n            }\r\n          }          \r\n        }","variables":"{ \r\n    \"filter\": {\r\n        \"cardIds\": null,\r\n        \"transactionStatus\": [\"PENDING\", \"SETTLED\"],\r\n        \"transactionTypes\": [\"CHARGE\", \"PAYMENT\"],\r\n        \"merchantName\": null\r\n    },\r\n    \"sortOrder\": \"UPDATED_DATE_DESC\",\r\n    \"limit\": 3,\r\n    \"nextCursor\": null\r\n}"}},"url":"{{klutch-server-endpoint}}","description":"<h1 id=\"list-transactions-with-fiters\">List Transactions with Fiters</h1>\n<p>Fetch all transactions for an user</p>\n<h5 id=\"field-descriptions\"><strong>Field Descriptions:</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>filter</td>\n<td>The transaction filter</td>\n</tr>\n<tr>\n<td>sortOrder</td>\n<td>Sort order for the returns</td>\n</tr>\n<tr>\n<td>limit</td>\n<td>How many transactions to return</td>\n</tr>\n<tr>\n<td>nextCursor</td>\n<td>the next cursor to fetch transactions for</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"filter\">Filter:</h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Value</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>startDate</td>\n<td>The starting date</td>\n</tr>\n<tr>\n<td>endDate</td>\n<td>The ending date</td>\n</tr>\n<tr>\n<td>cardIds</td>\n<td>An array of cardIds</td>\n</tr>\n<tr>\n<td>transactionStatus</td>\n<td>An array of TransactionStatus (see TransactionStatus on List Transactions)</td>\n</tr>\n<tr>\n<td>transactionTypes</td>\n<td>An array of TransactionTypes (see TransactionTypes on List Transactions)</td>\n</tr>\n<tr>\n<td>merchantName</td>\n<td>The merchant name</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"sortorder\">SortOrder:</h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Value</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>TRANSACTION_DATE_DESC</td>\n<td>Transaction Date desc</td>\n</tr>\n<tr>\n<td>TRANSACTION_DATE_ASC</td>\n<td>Transaction Date asc</td>\n</tr>\n<tr>\n<td>UPDATED_DATE_DESC</td>\n<td>Update Date desc</td>\n</tr>\n<tr>\n<td>UPDATED_DATE_ASC</td>\n<td>Update Date asc</td>\n</tr>\n<tr>\n<td>AMOUNT_ASC</td>\n<td>Transaction Amount asc</td>\n</tr>\n<tr>\n<td>AMOUNT_DESC</td>\n<td>Transaction Amount desc</td>\n</tr>\n<tr>\n<td>MERCHANT_NAME_ASC</td>\n<td>Merchant name asc</td>\n</tr>\n<tr>\n<td>MERCHANT_NAME_DESC</td>\n<td>Merchant name desc</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"returns\">Returns:</h5>\n<p>Returns a Paginated List of Transactions:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>nextCursor</td>\n<td>A string with the cursor to fetch the next page of transactions</td>\n</tr>\n<tr>\n<td>list</td>\n<td>List of Transactions</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"token":""},"isInherited":true,"source":{"_postman_id":"d1b8ed45-576d-414b-96cc-af81a561a68c","id":"d1b8ed45-576d-414b-96cc-af81a561a68c","name":"Klutch Public API","type":"collection"}},"urlObject":{"host":["{{klutch-server-endpoint}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"adbc50a3-1c28-4db5-9704-3f89ee59eb6a"},{"name":"Group Transactions","id":"7eecbeb2-8c63-4623-8547-77a260ac2adb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer "}],"body":{"mode":"graphql","graphql":{"query":"query($filter: TransactionFilter, $groupByProperty: TransactionGroupByProperty, $operation: GroupByOperation) {\r\n          groupTransactions(filter: $filter, groupByProperty: $groupByProperty, operation: $operation) {\r\n            key\r\n            value\r\n          }          \r\n}","variables":"{ \r\n    \"filter\": {\r\n        \"transactionStatus\": [\"PENDING\", \"SETTLED\"],\r\n        \"transactionTypes\": [\"CHARGE\"]\r\n    },\r\n    \"groupByProperty\": \"CATEGORY\",\r\n    \"operation\": \"SUM\"\r\n}"}},"url":"{{klutch-server-endpoint}}","description":"<p>Group Transaction by the specified property</p>\n<p>groupbyProperty:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>CARD,\nMERCHANT_NAME,\nTRANSACTION_STATUS,\nTRANSACTION_TYPE,\nCATEGORY\n\n</code></pre><p>groupByOperator:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>SUM,\nCOUNT,\nAVERAGE\n\n</code></pre>","auth":{"type":"bearer","bearer":{"token":""},"isInherited":true,"source":{"_postman_id":"d1b8ed45-576d-414b-96cc-af81a561a68c","id":"d1b8ed45-576d-414b-96cc-af81a561a68c","name":"Klutch Public API","type":"collection"}},"urlObject":{"host":["{{klutch-server-endpoint}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"7eecbeb2-8c63-4623-8547-77a260ac2adb"},{"name":"Sum Transactions With Filters","id":"313f7e72-ea25-4e6a-ba6f-4cb02ae18cdf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer ","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"query($filter: TransactionFilter) {\r\n    sumTransactions(filter: $filter) \r\n}","variables":"{ \r\n    \"filter\": {\r\n        \"startDate\": \"2022-07-01T00:00:00Z\",\r\n        \"endDate\": \"2022-07-11T23:59:59Z\",\r\n        \"cardIds\": null,\r\n        \"transactionStatus\": [\"PENDING\", \"SETTLED\"],\r\n        \"transactionTypes\": [\"CHARGE\", \"PAYMENT\"],\r\n        \"merchantName\": null\r\n    }\r\n}"}},"url":"{{klutch-server-endpoint}}","description":"<h1 id=\"list-transactions-with-fiters\">List Transactions with Fiters</h1>\n<p>Fetch all transactions for an user</p>\n<h5 id=\"field-descriptions\"><strong>Field Descriptions:</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>filter</td>\n<td>The transaction filter</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"filter\">Filter:</h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Value</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>startDate</td>\n<td>The starting date</td>\n</tr>\n<tr>\n<td>endDate</td>\n<td>The ending date</td>\n</tr>\n<tr>\n<td>cardIds</td>\n<td>An array of cardIds</td>\n</tr>\n<tr>\n<td>transactionStatus</td>\n<td>An array of TransactionStatus (see TransactionStatus on List Transactions)</td>\n</tr>\n<tr>\n<td>transactionTypes</td>\n<td>An array of TransactionTypes (see TransactionTypes on List Transactions)</td>\n</tr>\n<tr>\n<td>merchantName</td>\n<td>The merchant name</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"returns\">Returns:</h5>\n<p>See List Transactions</p>\n","auth":{"type":"bearer","bearer":{"token":""},"isInherited":true,"source":{"_postman_id":"d1b8ed45-576d-414b-96cc-af81a561a68c","id":"d1b8ed45-576d-414b-96cc-af81a561a68c","name":"Klutch Public API","type":"collection"}},"urlObject":{"host":["{{klutch-server-endpoint}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"313f7e72-ea25-4e6a-ba6f-4cb02ae18cdf"},{"name":"List Transaction Categories","id":"e0befbfb-37da-4ee6-bb62-4414ac6a0245","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer ","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"query($id: String)  {\r\n          transactionCategory(id: $id) {\r\n              id\r\n              name\r\n              mccs\r\n          }\r\n}","variables":""}},"url":"{{klutch-server-endpoint}}","description":"<h1 id=\"list-transaction-categories\">List Transaction Categories</h1>\n<p>List categories</p>\n<h5 id=\"returns\"><strong>Returns</strong>:</h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td>The transaction category id</td>\n</tr>\n<tr>\n<td>name</td>\n<td>name of the category</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"token":""},"isInherited":true,"source":{"_postman_id":"d1b8ed45-576d-414b-96cc-af81a561a68c","id":"d1b8ed45-576d-414b-96cc-af81a561a68c","name":"Klutch Public API","type":"collection"}},"urlObject":{"host":["{{klutch-server-endpoint}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"e0befbfb-37da-4ee6-bb62-4414ac6a0245"},{"name":"Create Transaction Category","id":"e5c3fcbc-0ca7-4d94-ac0f-09923143559e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer ","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation($name: String)  {\r\n    createTransactionCategory(name: $name) {\r\n        id \r\n        name\r\n    }\r\n}","variables":"{\r\n    \"name\": \"MyAwesomeCategory\"\r\n}"}},"url":"{{klutch-server-endpoint}}","auth":{"type":"bearer","bearer":{"token":""},"isInherited":true,"source":{"_postman_id":"d1b8ed45-576d-414b-96cc-af81a561a68c","id":"d1b8ed45-576d-414b-96cc-af81a561a68c","name":"Klutch Public API","type":"collection"}},"urlObject":{"host":["{{klutch-server-endpoint}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"e5c3fcbc-0ca7-4d94-ac0f-09923143559e"},{"name":"Rename Category","id":"419bdf27-ac5a-409b-91f6-cf692c27468d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer ","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation($id: String, $name: String)  {\r\n    transactionCategory(id: $id) {\r\n        rename(name: $name) {\r\n            id\r\n            name\r\n        }\r\n    }\r\n}","variables":"{\r\n    \"id\": \"{{category-id}}\",\r\n    \"name\": \"RenamedCategory\"\r\n}"}},"url":"{{klutch-server-endpoint}}","auth":{"type":"bearer","bearer":{"token":""},"isInherited":true,"source":{"_postman_id":"d1b8ed45-576d-414b-96cc-af81a561a68c","id":"d1b8ed45-576d-414b-96cc-af81a561a68c","name":"Klutch Public API","type":"collection"}},"urlObject":{"host":["{{klutch-server-endpoint}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"419bdf27-ac5a-409b-91f6-cf692c27468d"},{"name":"Delete Category","id":"1697c4ee-b970-4bd7-bc51-a68a7eabdf63","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer ","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation($id: String)  {\r\n    transactionCategory(id: $id) {\r\n        delete\r\n    }\r\n}","variables":"{\r\n    \"id\": \"{{category-id}}\"    \r\n}"}},"url":"{{klutch-server-endpoint}}","auth":{"type":"bearer","bearer":{"token":""},"isInherited":true,"source":{"_postman_id":"d1b8ed45-576d-414b-96cc-af81a561a68c","id":"d1b8ed45-576d-414b-96cc-af81a561a68c","name":"Klutch Public API","type":"collection"}},"urlObject":{"host":["{{klutch-server-endpoint}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"1697c4ee-b970-4bd7-bc51-a68a7eabdf63"},{"name":"(DEPRECATED) List Transactions With Filters","id":"a41c05a8-a000-4b11-881a-3dff05783011","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer ","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"query($filter: TransactionFilter) {\r\n          transactions(filter: $filter) {\r\n            id\r\n            transactionDate\r\n            card {\r\n              id\r\n            }\r\n            transactionStatus\r\n            declineReason\r\n            transactionType\r\n            merchantName\r\n            amount\r\n            category {\r\n              id\r\n              name\r\n            }\r\n            mcc {\r\n              code\r\n              description\r\n              category\r\n            }\r\n            zipCode\r\n            streetAddress\r\n            city\r\n            state\r\n            merchantId\r\n          }\r\n        }","variables":"{ \r\n    \"filter\": {\r\n        \"startDate\": \"2022-07-01T00:00:00Z\",\r\n        \"endDate\": \"2022-07-11T23:59:59Z\",\r\n        \"cardIds\": null,\r\n        \"transactionStatus\": [\"PENDING\", \"SETTLED\"],\r\n        \"transactionTypes\": [\"CHARGE\", \"PAYMENT\"],\r\n        \"merchantName\": null\r\n    }\r\n}"}},"url":"{{klutch-server-endpoint}}","description":"<h1 id=\"list-transactions-with-fiters\">List Transactions with Fiters</h1>\n<p>Fetch all transactions for an user</p>\n<h5 id=\"field-descriptions\"><strong>Field Descriptions:</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>filter</td>\n<td>The transaction filter</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"filter\">Filter:</h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Value</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>startDate</td>\n<td>The starting date</td>\n</tr>\n<tr>\n<td>endDate</td>\n<td>The ending date</td>\n</tr>\n<tr>\n<td>cardIds</td>\n<td>An array of cardIds</td>\n</tr>\n<tr>\n<td>transactionStatus</td>\n<td>An array of TransactionStatus (see TransactionStatus on List Transactions)</td>\n</tr>\n<tr>\n<td>transactionTypes</td>\n<td>An array of TransactionTypes (see TransactionTypes on List Transactions)</td>\n</tr>\n<tr>\n<td>merchantName</td>\n<td>The merchant name</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"returns\">Returns:</h5>\n<p>See List Transactions</p>\n","auth":{"type":"bearer","bearer":{"token":""},"isInherited":true,"source":{"_postman_id":"d1b8ed45-576d-414b-96cc-af81a561a68c","id":"d1b8ed45-576d-414b-96cc-af81a561a68c","name":"Klutch Public API","type":"collection"}},"urlObject":{"host":["{{klutch-server-endpoint}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"a41c05a8-a000-4b11-881a-3dff05783011"}],"id":"06f80473-ea43-4e64-bfd6-81200ae94e02","_postman_id":"06f80473-ea43-4e64-bfd6-81200ae94e02","description":"","auth":{"type":"bearer","bearer":{"token":""},"isInherited":true,"source":{"_postman_id":"d1b8ed45-576d-414b-96cc-af81a561a68c","id":"d1b8ed45-576d-414b-96cc-af81a561a68c","name":"Klutch Public API","type":"collection"}}},{"name":"Transactions Rules","item":[{"name":"Create Accumulating Over Period Transaction Rule","id":"98697482-7156-4282-8f68-266bea61367f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer ","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation($name: String, $displayName: String, $cardIds: [String], $spec: TransactionRuleSpecInput) {\r\n    createTransactionRule(name: $name, displayName: $displayName,  cardIds: $cardIds, spec: $spec) {        \r\n        id\r\n        name\r\n        cards {\r\n            id\r\n        }\r\n        createdAt\r\n        createdBy {\r\n            entityID\r\n            type\r\n        }\r\n        spec {\r\n            specType\r\n            ... on AccumulatingOverPeriodRuleSpec {\r\n                period\r\n                amount\r\n                filters {\r\n                    field\r\n                    value\r\n                    operator\r\n                    invert\r\n                }\r\n            }\r\n            ... on DeclineBasedOnFilterRuleSpec {\r\n                filter {\r\n                    field\r\n                    value\r\n                    operator\r\n                    invert \r\n                }\r\n            }\r\n            ... on StartEndRuleSpec {\r\n                startDate\r\n                endDate\r\n                limitAmount\r\n                filters {\r\n                field\r\n                value\r\n                operator\r\n                invert\r\n                }\r\n            }\r\n            ... on TimeOfDayRuleSpec {\r\n                startTime\r\n                endTime\r\n            }\r\n            ... on WeekDayRuleSpec {\r\n                daysAllowed\r\n            }                        \r\n        }\r\n    }\r\n}","variables":"{\r\n\t\"name\": \"SampleAccumulatingOverPeriod\",\r\n    \"displayName\": \"Sample Accumulating Over Period\",\r\n    \"cardIds\": [\"{{card-id}}\"],\r\n\t\"spec\": {\r\n\t\t\"specType\": \"AccumulatingOverPeriodTransactionRule\",\r\n        \"period\": \"MONTH\",\r\n        \"amount\": 200.00,\r\n        \"filters\": [\r\n            {\r\n                \"field\": \"MCC\",\r\n                \"operator\": \"CONTAINS\",\r\n                \"value\": \"[1234]\"\r\n            }\r\n        ]\r\n\t}\r\n\r\n}"}},"url":"{{klutch-server-endpoint}}","auth":{"type":"bearer","bearer":{"token":""},"isInherited":true,"source":{"_postman_id":"d1b8ed45-576d-414b-96cc-af81a561a68c","id":"d1b8ed45-576d-414b-96cc-af81a561a68c","name":"Klutch Public API","type":"collection"}},"urlObject":{"host":["{{klutch-server-endpoint}}"],"query":[{"disabled":true,"key":"Authentication","value":""}],"variable":[]}},"response":[],"_postman_id":"98697482-7156-4282-8f68-266bea61367f"},{"name":"Create Decline Based On Filter Trasnaction Rule","id":"4617a8da-2e2e-4026-ae3d-5669b0025de2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer ","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation($name: String, $displayName: String, $cardIds: [String], $spec: TransactionRuleSpecInput) {\r\n    createTransactionRule(name: $name, displayName: $displayName,  cardIds: $cardIds, spec: $spec) {        \r\n        id\r\n        name\r\n        cards {\r\n            id\r\n        }\r\n        createdAt\r\n        createdBy {\r\n            entityID\r\n            type\r\n        }\r\n        spec {\r\n            specType\r\n            ... on AccumulatingOverPeriodRuleSpec {\r\n                period\r\n                amount\r\n                filters {\r\n                    field\r\n                    value\r\n                    operator\r\n                    invert\r\n                }\r\n            }\r\n            ... on DeclineBasedOnFilterRuleSpec {\r\n                filter {\r\n                    field\r\n                    value\r\n                    operator\r\n                    invert \r\n                }\r\n            }\r\n            ... on StartEndRuleSpec {\r\n                startDate\r\n                endDate\r\n                limitAmount\r\n                filters {\r\n                field\r\n                value\r\n                operator\r\n                invert\r\n                }\r\n            }\r\n            ... on TimeOfDayRuleSpec {\r\n                startTime\r\n                endTime\r\n            }\r\n            ... on WeekDayRuleSpec {\r\n                daysAllowed\r\n            }                        \r\n        }\r\n    }\r\n}","variables":"{\r\n\t\"name\": \"SampleDeclineBasedOnFilter\",\r\n    \"displayName\": \"Sample Decline Based Filter\",\r\n    \"cardIds\": [\"{{card-id}}\"],\r\n\t\"spec\": {\r\n\t\t\"specType\": \"DeclineBasedOnFilterTransactionRule\",\r\n        \"filter\": {\r\n                \"field\": \"MERCHANT_NAME\",\r\n                \"operator\": \"EQUALS\",\r\n                \"value\": \"SHADY MERCHANT\"\r\n        }        \r\n\t}\r\n\r\n}"}},"url":"{{klutch-server-endpoint}}","description":"<p>The following fields are accepted:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>    ADDRESS\n    AMOUNT\n    CARDHOLDER_PRESENT\n    CARD_PRESENT\n    CITY\n    ENTRY_MODE\n    ID\n    LEGAL_NAME\n    MCC\n    MERCHANT_ID\n    MERCHANT_NAME\n    STATE\n    TERMINAL_ID\n    ZIP_CODE\n\n</code></pre><p>The following operators are accepted:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>    CONTAINS\n    EQUALS\n    GREATER\n    GREATER_EQUALS\n    LESS\n    LESS_EQUALS\n    REGEX_MATCHES\n    STARTS_WITH\n\n</code></pre>","auth":{"type":"bearer","bearer":{"token":""},"isInherited":true,"source":{"_postman_id":"d1b8ed45-576d-414b-96cc-af81a561a68c","id":"d1b8ed45-576d-414b-96cc-af81a561a68c","name":"Klutch Public API","type":"collection"}},"urlObject":{"host":["{{klutch-server-endpoint}}"],"query":[{"disabled":true,"key":"Authentication","value":""}],"variable":[]}},"response":[],"_postman_id":"4617a8da-2e2e-4026-ae3d-5669b0025de2"},{"name":"Create Accumulate Between Dates Transaction Rule","id":"f00dfe30-e810-4401-8b7c-ce606fb70b67","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer ","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation($name: String, $displayName: String, $cardIds: [String], $spec: TransactionRuleSpecInput) {\r\n    createTransactionRule(name: $name, displayName: $displayName,  cardIds: $cardIds, spec: $spec) {        \r\n        id\r\n        name\r\n        cards {\r\n            id\r\n        }\r\n        createdAt\r\n        createdBy {\r\n            entityID\r\n            type\r\n        }\r\n        spec {\r\n            specType\r\n            ... on AccumulatingOverPeriodRuleSpec {\r\n                period\r\n                amount\r\n                filters {\r\n                    field\r\n                    value\r\n                    operator\r\n                    invert\r\n                }\r\n            }\r\n            ... on DeclineBasedOnFilterRuleSpec {\r\n                filter {\r\n                    field\r\n                    value\r\n                    operator\r\n                    invert \r\n                }\r\n            }\r\n            ... on StartEndRuleSpec {\r\n                startDate\r\n                endDate\r\n                limitAmount\r\n                filters {\r\n                field\r\n                value\r\n                operator\r\n                invert\r\n                }\r\n            }\r\n            ... on TimeOfDayRuleSpec {\r\n                startTime\r\n                endTime\r\n            }\r\n            ... on WeekDayRuleSpec {\r\n                daysAllowed\r\n            }                        \r\n        }\r\n    }\r\n}","variables":"{\r\n\t\"name\": \"SampleStartEndDateRule\",\r\n    \"displayName\": \"Sample Start and End Date Transaction Rule\",\r\n    \"cardIds\": [\"{{card-id}}\"],\r\n\t\"spec\": {\r\n\t\t\"specType\": \"StartEndDateTransactionRule\",\r\n        \"startDate\": \"2022-05-01T00:00:00Z\",\r\n        \"endDate\": \"2022-08-01T23:59:59Z\",        \r\n        \"filters\": [\r\n            {\r\n                \"field\": \"CARD_PRESENT\",\r\n                \"operator\": \"EQUALS\",\r\n                \"value\": \"true\"\r\n            }\r\n        ]\r\n\t}\r\n\r\n}"}},"url":"{{klutch-server-endpoint}}","auth":{"type":"bearer","bearer":{"token":""},"isInherited":true,"source":{"_postman_id":"d1b8ed45-576d-414b-96cc-af81a561a68c","id":"d1b8ed45-576d-414b-96cc-af81a561a68c","name":"Klutch Public API","type":"collection"}},"urlObject":{"host":["{{klutch-server-endpoint}}"],"query":[{"disabled":true,"key":"Authentication","value":""}],"variable":[]}},"response":[],"_postman_id":"f00dfe30-e810-4401-8b7c-ce606fb70b67"},{"name":"Create Day of Week Transaction Rule","id":"dab7572b-daab-467d-8007-e7699bcd9daa","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer ","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation($name: String, $displayName: String, $cardIds: [String], $spec: TransactionRuleSpecInput) {\r\n    createTransactionRule(name: $name, displayName: $displayName,  cardIds: $cardIds, spec: $spec) {        \r\n        id\r\n        name\r\n        cards {\r\n            id\r\n        }\r\n        createdAt\r\n        createdBy {\r\n            entityID\r\n            type\r\n        }\r\n        spec {\r\n            specType\r\n            ... on AccumulatingOverPeriodRuleSpec {\r\n                period\r\n                amount\r\n                filters {\r\n                    field\r\n                    value\r\n                    operator\r\n                    invert\r\n                }\r\n            }\r\n            ... on DeclineBasedOnFilterRuleSpec {\r\n                filter {\r\n                    field\r\n                    value\r\n                    operator\r\n                    invert \r\n                }\r\n            }\r\n            ... on StartEndRuleSpec {\r\n                startDate\r\n                endDate\r\n                limitAmount\r\n                filters {\r\n                field\r\n                value\r\n                operator\r\n                invert\r\n                }\r\n            }\r\n            ... on TimeOfDayRuleSpec {\r\n                startTime\r\n                endTime\r\n            }\r\n            ... on WeekDayRuleSpec {\r\n                daysAllowed\r\n            }                        \r\n        }\r\n    }\r\n}","variables":"{\r\n\t\"name\": \"SampleDayOfWeekTransactionRule\",\r\n    \"displayName\": \"Sample Day of Week Transaction Rule\",\r\n    \"cardIds\": [\"{{card-id}}\"],\r\n\t\"spec\": {\r\n\t\t\"specType\": \"WeekDayTransactionRule\",\r\n        \"daysAllowed\": [\"MONDAY\", \"WEDNESDAY\", \"FRIDAY\"]\r\n\t}\r\n\r\n}"}},"url":"{{klutch-server-endpoint}}","auth":{"type":"bearer","bearer":{"token":""},"isInherited":true,"source":{"_postman_id":"d1b8ed45-576d-414b-96cc-af81a561a68c","id":"d1b8ed45-576d-414b-96cc-af81a561a68c","name":"Klutch Public API","type":"collection"}},"urlObject":{"host":["{{klutch-server-endpoint}}"],"query":[{"disabled":true,"key":"Authentication","value":""}],"variable":[]}},"response":[],"_postman_id":"dab7572b-daab-467d-8007-e7699bcd9daa"},{"name":"Create Time of Day Transaction Rule","id":"b1394b12-bb80-4954-bf12-68f331794ed8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer ","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation($name: String, $displayName: String, $cardIds: [String], $spec: TransactionRuleSpecInput) {\r\n    createTransactionRule(name: $name, displayName: $displayName,  cardIds: $cardIds, spec: $spec) {        \r\n        id\r\n        name\r\n        cards {\r\n            id\r\n        }\r\n        createdAt\r\n        createdBy {\r\n            entityID\r\n            type\r\n        }\r\n        spec {\r\n            specType\r\n            ... on AccumulatingOverPeriodRuleSpec {\r\n                period\r\n                amount\r\n                filters {\r\n                    field\r\n                    value\r\n                    operator\r\n                    invert\r\n                }\r\n            }\r\n            ... on DeclineBasedOnFilterRuleSpec {\r\n                filter {\r\n                    field\r\n                    value\r\n                    operator\r\n                    invert \r\n                }\r\n            }\r\n            ... on StartEndRuleSpec {\r\n                startDate\r\n                endDate\r\n                limitAmount\r\n                filters {\r\n                field\r\n                value\r\n                operator\r\n                invert\r\n                }\r\n            }\r\n            ... on TimeOfDayRuleSpec {\r\n                startTime\r\n                endTime\r\n            }\r\n            ... on WeekDayRuleSpec {\r\n                daysAllowed\r\n            }                        \r\n        }\r\n    }\r\n}","variables":"{\r\n\t\"name\": \"SampleTimeOfDayTransactionRule\",\r\n    \"displayName\": \"Sample Time of Day Transaction Rule\",\r\n    \"cardIds\": [\"{{card-id}}\"],\r\n\t\"spec\": {\r\n\t\t\"specType\": \"TimeOfDayTransactionRule\",\r\n        \"startTime\": \"10:00:00\",\r\n        \"endTime\": \"23:59:59\"\r\n\t}\r\n\r\n}"}},"url":"{{klutch-server-endpoint}}","auth":{"type":"bearer","bearer":{"token":""},"isInherited":true,"source":{"_postman_id":"d1b8ed45-576d-414b-96cc-af81a561a68c","id":"d1b8ed45-576d-414b-96cc-af81a561a68c","name":"Klutch Public API","type":"collection"}},"urlObject":{"host":["{{klutch-server-endpoint}}"],"query":[{"disabled":true,"key":"Authentication","value":""}],"variable":[]}},"response":[],"_postman_id":"b1394b12-bb80-4954-bf12-68f331794ed8"},{"name":"Delete TransactionRule","id":"3d91c457-30f7-41cd-966c-ce3a20bf8489","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer ","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation($id: String) {\r\n    transactionRule(id: $id) {\r\n        delete\r\n    }\r\n}","variables":"{\r\n    \"id\": \"52241aa9-ead6-4f2a-91af-15720dfbb869\"\r\n}"}},"url":"{{klutch-server-endpoint}}","auth":{"type":"bearer","bearer":{"token":""},"isInherited":true,"source":{"_postman_id":"d1b8ed45-576d-414b-96cc-af81a561a68c","id":"d1b8ed45-576d-414b-96cc-af81a561a68c","name":"Klutch Public API","type":"collection"}},"urlObject":{"host":["{{klutch-server-endpoint}}"],"query":[{"disabled":true,"key":"Authentication","value":""}],"variable":[]}},"response":[],"_postman_id":"3d91c457-30f7-41cd-966c-ce3a20bf8489"},{"name":"List Transaction Rules","id":"c21777dd-4ecd-4a08-bc6c-f31091f3da3e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer ","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"query {\r\n    transactionRules {        \r\n        id\r\n        name\r\n        cards {\r\n            id\r\n        }\r\n        createdAt\r\n        createdBy {\r\n            entityID\r\n            type\r\n        }\r\n        spec {\r\n            specType\r\n            ... on AccumulatingOverPeriodRuleSpec {\r\n                period\r\n                amount\r\n                filters {\r\n                    field\r\n                    value\r\n                    operator\r\n                    invert\r\n                }\r\n            }\r\n            ... on DeclineBasedOnFilterRuleSpec {\r\n                filter {\r\n                    field\r\n                    value\r\n                    operator\r\n                    invert \r\n                }\r\n            }\r\n        }\r\n    }\r\n}","variables":""}},"url":"{{klutch-server-endpoint}}","auth":{"type":"bearer","bearer":{"token":""},"isInherited":true,"source":{"_postman_id":"d1b8ed45-576d-414b-96cc-af81a561a68c","id":"d1b8ed45-576d-414b-96cc-af81a561a68c","name":"Klutch Public API","type":"collection"}},"urlObject":{"host":["{{klutch-server-endpoint}}"],"query":[{"disabled":true,"key":"Authentication","value":""}],"variable":[]}},"response":[],"_postman_id":"c21777dd-4ecd-4a08-bc6c-f31091f3da3e"}],"id":"7217ef05-b038-45fb-b86c-c6bc033a9a18","_postman_id":"7217ef05-b038-45fb-b86c-c6bc033a9a18","description":"","auth":{"type":"bearer","bearer":{"token":""},"isInherited":true,"source":{"_postman_id":"d1b8ed45-576d-414b-96cc-af81a561a68c","id":"d1b8ed45-576d-414b-96cc-af81a561a68c","name":"Klutch Public API","type":"collection"}}},{"name":"Cards","item":[{"name":"List Cards","id":"be4e56c7-44c0-45af-9d07-fd1fdbb39a36","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer ","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"query {\r\n    cards {\r\n        id\r\n        name\r\n        status\r\n        lastFour\r\n        expirationDate\r\n        media\r\n        lockState\r\n    }\r\n}","variables":""}},"url":"{{klutch-server-endpoint}}","auth":{"type":"bearer","bearer":{"token":""},"isInherited":true,"source":{"_postman_id":"d1b8ed45-576d-414b-96cc-af81a561a68c","id":"d1b8ed45-576d-414b-96cc-af81a561a68c","name":"Klutch Public API","type":"collection"}},"urlObject":{"host":["{{klutch-server-endpoint}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"be4e56c7-44c0-45af-9d07-fd1fdbb39a36"},{"name":"Create Card","id":"ee23f7a8-4984-482c-b18f-3165769c3172","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer ","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation($name: String, $media: CardMedia) {\r\n    createCard(name: String, media: CardMedia) {    \r\n        id\r\n        name\r\n        status\r\n        lastFour\r\n        expirationDate\r\n        media\r\n    }\r\n}","variables":"{\r\n    \"name\": \"My new Card\",\r\n    \"media\": \"VIRTUAL\"\r\n}"}},"url":"{{klutch-server-endpoint}}","auth":{"type":"bearer","bearer":{"token":""},"isInherited":true,"source":{"_postman_id":"d1b8ed45-576d-414b-96cc-af81a561a68c","id":"d1b8ed45-576d-414b-96cc-af81a561a68c","name":"Klutch Public API","type":"collection"}},"urlObject":{"host":["{{klutch-server-endpoint}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"ee23f7a8-4984-482c-b18f-3165769c3172"},{"name":"Cancel Card","id":"17d43770-8f36-42c9-a316-4801df2d9548","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer ","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation($id: String, $terminateReason: TerminateReason) {\r\n    card(id: $id) {    \r\n       cancelCard(terminateReason: $terminateReason) {\r\n           id\r\n           status\r\n       }\r\n    }\r\n}","variables":"{\r\n    \"id\": \"{{card-id}}\",\r\n    \"terminateReason\": \"USER_REQUESTED\"\r\n}"}},"url":"{{klutch-server-endpoint}}","auth":{"type":"bearer","bearer":{"token":""},"isInherited":true,"source":{"_postman_id":"d1b8ed45-576d-414b-96cc-af81a561a68c","id":"d1b8ed45-576d-414b-96cc-af81a561a68c","name":"Klutch Public API","type":"collection"}},"urlObject":{"host":["{{klutch-server-endpoint}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"17d43770-8f36-42c9-a316-4801df2d9548"},{"name":"Activate Card","id":"6e3283a3-8e2d-4f9e-aced-4c8fc55a9565","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer ","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation($id: String, $lastFour: String) {\r\n    card(id: $id) {    \r\n       activateCard(lastFour: $lastFour) {\r\n           id\r\n           status\r\n       }\r\n    }\r\n}","variables":"{\r\n    \"id\": \"{{card-id}}\",\r\n    \"lastFour\": \"1234\"\r\n}"}},"url":"{{klutch-server-endpoint}}","auth":{"type":"bearer","bearer":{"token":""},"isInherited":true,"source":{"_postman_id":"d1b8ed45-576d-414b-96cc-af81a561a68c","id":"d1b8ed45-576d-414b-96cc-af81a561a68c","name":"Klutch Public API","type":"collection"}},"urlObject":{"host":["{{klutch-server-endpoint}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"6e3283a3-8e2d-4f9e-aced-4c8fc55a9565"},{"name":"Edit Card","id":"e4bc204b-4b1b-40c5-ba2b-8aa14e0ab633","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer ","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation($id: String, $name: String) {\r\n    card(id: $id) {    \r\n       editCard(name: $name) {\r\n           id\r\n           status\r\n       }\r\n    }\r\n}","variables":"{\r\n    \"id\": \"{{card-id}}\",\r\n    \"lastFour\": \"1234\"\r\n}"}},"url":"{{klutch-server-endpoint}}","auth":{"type":"bearer","bearer":{"token":""},"isInherited":true,"source":{"_postman_id":"d1b8ed45-576d-414b-96cc-af81a561a68c","id":"d1b8ed45-576d-414b-96cc-af81a561a68c","name":"Klutch Public API","type":"collection"}},"urlObject":{"host":["{{klutch-server-endpoint}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"e4bc204b-4b1b-40c5-ba2b-8aa14e0ab633"},{"name":"Lock Card","id":"d7c8a181-b06d-4599-94da-111a82d84377","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer ","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation($id: String) {\r\n    card(id: $id) {    \r\n       lock {\r\n           id\r\n           status\r\n       }\r\n    }\r\n}","variables":"{\r\n    \"id\": \"{{card-id}}\"\r\n}"}},"url":"{{klutch-server-endpoint}}","auth":{"type":"bearer","bearer":{"token":""},"isInherited":true,"source":{"_postman_id":"d1b8ed45-576d-414b-96cc-af81a561a68c","id":"d1b8ed45-576d-414b-96cc-af81a561a68c","name":"Klutch Public API","type":"collection"}},"urlObject":{"host":["{{klutch-server-endpoint}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"d7c8a181-b06d-4599-94da-111a82d84377"},{"name":"Unlock Card","id":"5238dc23-7ba8-44d3-b653-b791fb37cd5b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer ","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation($id: String) {\r\n    card(id: $id) {    \r\n       unlock {\r\n           id\r\n           status\r\n       }\r\n    }\r\n}","variables":"{\r\n    \"id\": \"{{card-id}}\"\r\n}"}},"url":"{{klutch-server-endpoint}}","auth":{"type":"bearer","bearer":{"token":""},"isInherited":true,"source":{"_postman_id":"d1b8ed45-576d-414b-96cc-af81a561a68c","id":"d1b8ed45-576d-414b-96cc-af81a561a68c","name":"Klutch Public API","type":"collection"}},"urlObject":{"host":["{{klutch-server-endpoint}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"5238dc23-7ba8-44d3-b653-b791fb37cd5b"}],"id":"6edecdd8-28c2-4021-acc3-01d11db68564","_postman_id":"6edecdd8-28c2-4021-acc3-01d11db68564","description":"","auth":{"type":"bearer","bearer":{"token":""},"isInherited":true,"source":{"_postman_id":"d1b8ed45-576d-414b-96cc-af81a561a68c","id":"d1b8ed45-576d-414b-96cc-af81a561a68c","name":"Klutch Public API","type":"collection"}}},{"name":"MiniApps","item":[{"name":"[Run First Once] - Installs JWT Signing","event":[{"listen":"test","script":{"id":"2c1530f4-4de5-493b-b5dd-bbf0306a6a71","exec":["pm.test(\"Status code should be 200\", function () {\r","    pm.response.to.have.status(200)\r","    pm.globals.set(\"pmlib\", responseBody)\r","});"],"type":"text/javascript"}}],"id":"0665e9b3-da43-4741-b320-8969f5d1a14c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://joolfe.github.io/postman-util-lib/dist/bundle.js","auth":{"type":"bearer","bearer":{"token":""},"isInherited":true,"source":{"_postman_id":"d1b8ed45-576d-414b-96cc-af81a561a68c","id":"d1b8ed45-576d-414b-96cc-af81a561a68c","name":"Klutch Public API","type":"collection"}},"urlObject":{"protocol":"https","path":["postman-util-lib","dist","bundle.js"],"host":["joolfe","github","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"0665e9b3-da43-4741-b320-8969f5d1a14c"},{"name":"Create Install  Token","event":[{"listen":"test","script":{"id":"4b6b417d-23fd-4e6e-9d62-7646cd08d71d","exec":["var jsonData = pm.response.json();\r","if (jsonData.data.recipeInstall.createToken){    \r","    pm.collectionVariables.set(\"recipeinstall_token\", jsonData.data.recipeInstall.createToken);\r","}\r",""],"type":"text/javascript"}}],"id":"8ba13862-54f6-4ea3-9c05-0161c37952b3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{miniapp_access_token}}","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation ($id: String) {\r\n    recipeInstall(id: $id) {\r\n        createToken \r\n    }\r\n}","variables":"{\r\n    \"id\": \"{{recipeinstall-id}}\"\r\n}"}},"url":"{{klutch-server-endpoint}}","auth":{"type":"bearer","bearer":{"token":""},"isInherited":true,"source":{"_postman_id":"d1b8ed45-576d-414b-96cc-af81a561a68c","id":"d1b8ed45-576d-414b-96cc-af81a561a68c","name":"Klutch Public API","type":"collection"}},"urlObject":{"host":["{{klutch-server-endpoint}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"8ba13862-54f6-4ea3-9c05-0161c37952b3"},{"name":"Add Home Panel","event":[{"listen":"test","script":{"id":"4b6b417d-23fd-4e6e-9d62-7646cd08d71d","exec":["var jsonData = pm.response.json();\r","if (jsonData.data.recipeInstall.createToken){    \r","    pm.collectionVariables.set(\"recipeinstall_token\", jsonData.data.recipeInstall.createToken);\r","}\r",""],"type":"text/javascript"}}],"id":"bc7f1ceb-6fb7-4747-88a7-221404c585ca","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{recipeinstall_token}}","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation ($id: String, $templateFilename: String, $data: JsonString, $entity: Entity,  $size: RecipeSize) {\r\n    recipeInstall(id: $id) {\r\n        addPanel(templateFileName: $templateFilename, data: $data, entity: $entity,  size: $size) {\r\n            id            \r\n        }\r\n    }\r\n}","variables":"{\r\n    \"id\": \"{{recipeinstall-id}}\",\r\n    \"templateFileName\": \"/templates/Home.template\",\r\n    \"data\": \"{\\\"myProp\\\": \\\"myValue\\\"}\",\r\n    \"entity\": null,\r\n    \"size\": \"LARGE\"\r\n}"}},"url":"{{klutch-server-endpoint}}","auth":{"type":"bearer","bearer":{"token":""},"isInherited":true,"source":{"_postman_id":"d1b8ed45-576d-414b-96cc-af81a561a68c","id":"d1b8ed45-576d-414b-96cc-af81a561a68c","name":"Klutch Public API","type":"collection"}},"urlObject":{"host":["{{klutch-server-endpoint}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"bc7f1ceb-6fb7-4747-88a7-221404c585ca"},{"name":"Add Transaction Panel","event":[{"listen":"test","script":{"id":"4b6b417d-23fd-4e6e-9d62-7646cd08d71d","exec":["var jsonData = pm.response.json();\r","if (jsonData.data.recipeInstall.createToken){    \r","    pm.collectionVariables.set(\"recipeinstall_token\", jsonData.data.recipeInstall.createToken);\r","}\r",""],"type":"text/javascript"}}],"id":"035e9260-eb2f-4bb4-a63b-85b277ca0879","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{recipeinstall_token}}","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation ($id: String, $templateFilename: String, $data: JsonString, $entity: Entity,  $size: RecipeSize) {\r\n    recipeInstall(id: $id) {\r\n        addPanel(templateFileName: $templateFilename, data: $data, entity: $entity,  size: $size) {\r\n            id            \r\n        }\r\n    }\r\n}","variables":"{\r\n    \"id\": \"{{recipeinstall-id}}\",\r\n    \"templateFileName\": \"/templates/Home.template\",\r\n    \"data\": \"{\\\"myProp\\\": \\\"myValue\\\"}\",\r\n    \"entity\": {\r\n        \"entityID\": \"{{transaction-id}}\",\r\n        \"type\": \"com.alloycard.core.entities.transaction.Transaction\"\r\n    },\r\n    \"size\": \"SMALL\"\r\n}"}},"url":"{{klutch-server-endpoint}}","auth":{"type":"bearer","bearer":{"token":""},"isInherited":true,"source":{"_postman_id":"d1b8ed45-576d-414b-96cc-af81a561a68c","id":"d1b8ed45-576d-414b-96cc-af81a561a68c","name":"Klutch Public API","type":"collection"}},"urlObject":{"host":["{{klutch-server-endpoint}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"035e9260-eb2f-4bb4-a63b-85b277ca0879"},{"name":"Change Panel Data","event":[{"listen":"test","script":{"id":"4b6b417d-23fd-4e6e-9d62-7646cd08d71d","exec":["var jsonData = pm.response.json();\r","if (jsonData.data.recipeInstall.createToken){    \r","    pm.collectionVariables.set(\"recipeinstall_token\", jsonData.data.recipeInstall.createToken);\r","}\r",""],"type":"text/javascript"}}],"id":"38ff85bf-624b-4cdf-b285-b5cdb7522e12","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{recipeinstall_token}}","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation ($id: String, $panelId: String, $data: JsonString) {\r\n    recipeInstall(id: $id) {\r\n        panel(id: $panelId) {\r\n            changeData(data: $data) \r\n        }\r\n    }\r\n}","variables":"{\r\n    \"id\": \"{{recipeinstall-id}}\",\r\n    \"panelId\": \"{{panel-id}}\",\r\n    \"data\": \"{\\\"myNewProp\\\": \\\"myNewValue\\\"}\"\r\n}"}},"url":"{{klutch-server-endpoint}}","auth":{"type":"bearer","bearer":{"token":""},"isInherited":true,"source":{"_postman_id":"d1b8ed45-576d-414b-96cc-af81a561a68c","id":"d1b8ed45-576d-414b-96cc-af81a561a68c","name":"Klutch Public API","type":"collection"}},"urlObject":{"host":["{{klutch-server-endpoint}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"38ff85bf-624b-4cdf-b285-b5cdb7522e12"},{"name":"Delete Panel","event":[{"listen":"test","script":{"id":"4b6b417d-23fd-4e6e-9d62-7646cd08d71d","exec":["var jsonData = pm.response.json();\r","if (jsonData.data.recipeInstall.createToken){    \r","    pm.collectionVariables.set(\"recipeinstall_token\", jsonData.data.recipeInstall.createToken);\r","}\r",""],"type":"text/javascript"}}],"id":"0e71efb4-c9aa-4f07-9285-8da83866d274","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{recipeinstall_token}}","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation ($id: String, $panelId: String) {\r\n    recipeInstall(id: $id) {\r\n        panel(id: $panelId) {\r\n            delete\r\n        }\r\n    }\r\n}","variables":"{\r\n    \"id\": \"{{recipeinstall-id}}\",\r\n    \"panelId\": \"{{panel-id}}\"\r\n}"}},"url":"{{klutch-server-endpoint}}","auth":{"type":"bearer","bearer":{"token":""},"isInherited":true,"source":{"_postman_id":"d1b8ed45-576d-414b-96cc-af81a561a68c","id":"d1b8ed45-576d-414b-96cc-af81a561a68c","name":"Klutch Public API","type":"collection"}},"urlObject":{"host":["{{klutch-server-endpoint}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"0e71efb4-c9aa-4f07-9285-8da83866d274"}],"id":"e2948cef-9cf8-40c5-ad5d-47368d5e58fb","description":"<p>Requests for MiniApps</p>\n<p>Requirements:</p>\n<ul>\n<li>Run the [Run First Once] - Installs JWT Signing request once. That will install code needed to be able to sign JWT requests using your miniapp private key</li>\n<li>Make sure that you fill out the collection variables, including your miniapp Id, recipe install Id and the private key you use to authenticate your miniapp</li>\n</ul>\n","event":[{"listen":"prerequest","script":{"id":"2cb60a72-0072-40cb-a0a5-03348edcfa68","type":"text/javascript","exec":["const privateKey = pm.environment.get(\"miniapp_privatekey\")","const miniAppId = pm.environment.get(\"miniapp-id\")","","// Loading the library","if (!pm.globals.has(\"pmlib\")) {","    return","}","eval(pm.globals.get('pmlib'))","","","const header = {","    kid: `AlloyPrincipal-${miniAppId}`","}","","const payload = {","    iss: \"AlloyCard\",","    \"custom:principalId\": miniAppId,","    \"custom:principalType\": \"com.alloycard.core.entities.recipe.Recipe\"","}","","const  toSign = `${header}.${payload}`","","const prvKey = pmlib.rs.KEYUTIL.getKey(privateKey)","const jwt =  pmlib.createJws(prvKey, payload, header, 600, \"RS256\", `AlloyPrincipal-${miniAppId}`)","console.log(\"JWT\", jwt)","pm.collectionVariables.set(\"miniapp_access_token\", jwt)","",""]}},{"listen":"test","script":{"id":"afa963df-cf13-4ae1-ac53-d2588b480288","type":"text/javascript","exec":[""]}}],"_postman_id":"e2948cef-9cf8-40c5-ad5d-47368d5e58fb","auth":{"type":"bearer","bearer":{"token":""},"isInherited":true,"source":{"_postman_id":"d1b8ed45-576d-414b-96cc-af81a561a68c","id":"d1b8ed45-576d-414b-96cc-af81a561a68c","name":"Klutch Public API","type":"collection"}}},{"name":"Account","item":[{"name":"Get Balance","id":"5d8c875e-2300-418f-b99d-a05259a8f096","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer ","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"query {\r\n    account {\r\n        revolvingLoan {\r\n            balance\r\n            limit\r\n        }\r\n    }         \r\n}","variables":""}},"url":"{{klutch-server-endpoint}}","auth":{"type":"bearer","bearer":{"token":""},"isInherited":true,"source":{"_postman_id":"d1b8ed45-576d-414b-96cc-af81a561a68c","id":"d1b8ed45-576d-414b-96cc-af81a561a68c","name":"Klutch Public API","type":"collection"}},"urlObject":{"host":["{{klutch-server-endpoint}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"5d8c875e-2300-418f-b99d-a05259a8f096"}],"id":"7445236f-9247-4d42-8308-10f27b38b835","_postman_id":"7445236f-9247-4d42-8308-10f27b38b835","description":"","auth":{"type":"bearer","bearer":{"token":""},"isInherited":true,"source":{"_postman_id":"d1b8ed45-576d-414b-96cc-af81a561a68c","id":"d1b8ed45-576d-414b-96cc-af81a561a68c","name":"Klutch Public API","type":"collection"}}},{"name":"Payments","item":[{"name":"Pay Card","id":"1619453f-1ef3-4c19-a574-6a14c4292c9e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer ","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation($transferSourceId: String, $type: PaymentType, $amount: Float) {\r\n    createPayment(transferSourceId: $transferSourceId, type: $type, amount: $amount) {\r\n        id\r\n        paymentStatus\r\n        paymentType\r\n        amount\r\n    }\r\n}","variables":"{\r\n    \"transferSourceId\": \"{{transfersource-id}}\",\r\n    \"type\": \"OTHER_FIXED_AMOUNT\",\r\n    \"amount\": 1234.56\r\n}"}},"url":"{{klutch-server-endpoint}}","description":"<h1 id=\"create-payment\">Create Payment</h1>\n<p>Create a new payment for your card. There are three possible type of payment: Outstanding Balance, Minimum Due and a Fixed Amount (has to be greater than $15.00 or the minimum due).</p>\n<p>When called this will initiate an ACH from the transfer source to pay the card.</p>\n<h5 id=\"field-descriptions\"><strong>Field Descriptions:</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>transferSourceId</td>\n<td>Id of the transfer source</td>\n</tr>\n<tr>\n<td>type</td>\n<td>Type of Payment: Minimum Due, Fixed Amount or Outstanding Balance</td>\n</tr>\n<tr>\n<td>amount</td>\n<td>The amount to be paid (only for Fixed Amount)</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"returns\"><strong>Returns</strong>:</h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td>Payment Id</td>\n</tr>\n<tr>\n<td>paymentStatus</td>\n<td>The status of the payment</td>\n</tr>\n<tr>\n<td>paymentType</td>\n<td>The payment Type</td>\n</tr>\n<tr>\n<td>amount</td>\n<td>The amount paid</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"paymenttype\">PaymentType:</h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Value</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>OUTSTANDING_BALANCE</td>\n<td>The outstanding balance</td>\n</tr>\n<tr>\n<td>MINIMUM_DUE</td>\n<td>The minimum due</td>\n</tr>\n<tr>\n<td>OTHER_FIXED_AMOUNT</td>\n<td>Another fixed amount (greater than $15.00 or the minimum due)</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"paymentstatus\">PaymentStatus:</h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Value</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>PENDING</td>\n<td>The payment is pending</td>\n</tr>\n<tr>\n<td>SENT</td>\n<td>The payment is sent to our processor</td>\n</tr>\n<tr>\n<td>PROCESSING</td>\n<td>The payment was received by our processor and they are processing it</td>\n</tr>\n<tr>\n<td>PROCESSED</td>\n<td>The payment is completed</td>\n</tr>\n<tr>\n<td>ERROR</td>\n<td>An error occurred when sending this payment</td>\n</tr>\n<tr>\n<td>DECLINED</td>\n<td>The payment was declined</td>\n</tr>\n<tr>\n<td>WAITING_RELEASE</td>\n<td>We are waiting to relase this payment</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"token":""},"isInherited":true,"source":{"_postman_id":"d1b8ed45-576d-414b-96cc-af81a561a68c","id":"d1b8ed45-576d-414b-96cc-af81a561a68c","name":"Klutch Public API","type":"collection"}},"urlObject":{"host":["{{klutch-server-endpoint}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"1619453f-1ef3-4c19-a574-6a14c4292c9e"},{"name":"List Transfer Sources","id":"9e018141-6a64-4d7e-8444-48f4f12f3ebf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer ","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"query {\r\n    transferSources {\r\n        id\r\n        name\r\n        status\r\n    }\r\n}","variables":""}},"url":"{{klutch-server-endpoint}}","description":"<h1 id=\"list-transfer-sources\">List Transfer Sources</h1>\n<p>List all transfer sources for this user.</p>\n<h5 id=\"returns\">Returns:</h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td>Id of the transfer source</td>\n</tr>\n<tr>\n<td>name</td>\n<td>The source name</td>\n</tr>\n<tr>\n<td>status</td>\n<td>The transferSource Status</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"status\">Status:</h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Value</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>PENDING</td>\n<td>The source is not yet valid</td>\n</tr>\n<tr>\n<td>ACTIVE</td>\n<td>The source is valid for payments</td>\n</tr>\n<tr>\n<td>DELETED</td>\n<td>The source has been deleted</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"token":""},"isInherited":true,"source":{"_postman_id":"d1b8ed45-576d-414b-96cc-af81a561a68c","id":"d1b8ed45-576d-414b-96cc-af81a561a68c","name":"Klutch Public API","type":"collection"}},"urlObject":{"host":["{{klutch-server-endpoint}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"9e018141-6a64-4d7e-8444-48f4f12f3ebf"}],"id":"4ea912ae-5436-4139-8537-98189df5bed6","_postman_id":"4ea912ae-5436-4139-8537-98189df5bed6","description":"","auth":{"type":"bearer","bearer":{"token":""},"isInherited":true,"source":{"_postman_id":"d1b8ed45-576d-414b-96cc-af81a561a68c","id":"d1b8ed45-576d-414b-96cc-af81a561a68c","name":"Klutch Public API","type":"collection"}}},{"name":"Sandbox","item":[{"name":"Simulate Transaction","id":"227ed49d-bfce-4311-b5c7-c6917bf2650a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"mutation($cardNumber: String, $merchantName: String, $amount: Float, $mcc: String, $cardPresent: CardPresent, $cardHolderPresent: CardHolderPresent, $entryMode: EntryMode) {\r\n    sandbox {\r\n        createTransaction(\r\n            cardNumber: $cardNumber,\r\n            merchantName: $merchantName,\r\n            mcc: $mcc,\r\n            amount: $amount,\r\n            cardPresent: $cardPresent,\r\n            cardHolderPresent: $cardHolderPresent,\r\n            entryMode: $entryMode\r\n        ) {\r\n            id\r\n            transactionDate\r\n            transactionStatus\r\n            merchantName\r\n            amount\r\n        }\r\n    }         \r\n}","variables":"{\r\n    \"cardNumber\": \"{{cardnumber}}\",\r\n    \"merchantName\": \"My Merchant\",\r\n    \"amount\": 123.45,\r\n    \"mcc\": \"5753\",\r\n    \"cardPresent\": \"CARD_PRESENT\",\r\n    \"cardHolderPresent\": \"CUSTOMER_PRESENT\",\r\n    \"entryMode\": \"CONTACTLESS\"\r\n}"}},"url":"{{klutch-server-endpoint}}","auth":{"type":"bearer","bearer":{"token":""},"isInherited":true,"source":{"_postman_id":"d1b8ed45-576d-414b-96cc-af81a561a68c","id":"d1b8ed45-576d-414b-96cc-af81a561a68c","name":"Klutch Public API","type":"collection"}},"urlObject":{"host":["{{klutch-server-endpoint}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"227ed49d-bfce-4311-b5c7-c6917bf2650a"},{"name":"Reverse Transaction","id":"d40b8926-02d7-4d34-85de-9a7767605649","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"mutation($id: String) {\r\n    sandbox {\r\n        reverseTransaction(id: $id) {\r\n            id\r\n            transactionDate\r\n            transactionStatus\r\n            merchantName\r\n            amount\r\n        }\r\n    }         \r\n}","variables":"{\r\n    \"id\": \"txn_876c39d294a042008dc8e888c0f563d7\"\r\n}"}},"url":"{{klutch-server-endpoint}}","auth":{"type":"bearer","bearer":{"token":""},"isInherited":true,"source":{"_postman_id":"d1b8ed45-576d-414b-96cc-af81a561a68c","id":"d1b8ed45-576d-414b-96cc-af81a561a68c","name":"Klutch Public API","type":"collection"}},"urlObject":{"host":["{{klutch-server-endpoint}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"d40b8926-02d7-4d34-85de-9a7767605649"},{"name":"Settle Transaction","id":"d43c2ae1-86e8-404c-90a6-0503a99e9b58","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"mutation($id: String, $amount: Float) {\r\n    sandbox {\r\n        settleTransaction(id: $id, amount: $amount) {\r\n            id\r\n            transactionDate\r\n            transactionStatus\r\n            merchantName\r\n            amount\r\n        }\r\n    }         \r\n}","variables":"{\r\n    \"id\": \"txn_876c39d294a042008dc8e888c0f563d7\",\r\n    \"amount\": 125.99\r\n}"}},"url":"{{klutch-server-endpoint}}","auth":{"type":"bearer","bearer":{"token":""},"isInherited":true,"source":{"_postman_id":"d1b8ed45-576d-414b-96cc-af81a561a68c","id":"d1b8ed45-576d-414b-96cc-af81a561a68c","name":"Klutch Public API","type":"collection"}},"urlObject":{"host":["{{klutch-server-endpoint}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"d43c2ae1-86e8-404c-90a6-0503a99e9b58"}],"id":"99621c8f-75a3-4b0d-99d6-57a2aeb615f6","description":"<p>Functions that are only available on the sandbox environment to simulate real-world events.</p>\n","_postman_id":"99621c8f-75a3-4b0d-99d6-57a2aeb615f6","auth":{"type":"bearer","bearer":{"token":""},"isInherited":true,"source":{"_postman_id":"d1b8ed45-576d-414b-96cc-af81a561a68c","id":"d1b8ed45-576d-414b-96cc-af81a561a68c","name":"Klutch Public API","type":"collection"}}}],"auth":{"type":"bearer","bearer":{"token":""}},"event":[{"listen":"prerequest","script":{"id":"dae9af14-fb6e-4f2d-92a2-556e5f7439de","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"7f2dac24-8131-4bb8-8a85-c0bc77804cdb","type":"text/javascript","exec":[""]}}],"variable":[{"id":"0406cd84-bc36-45af-96ee-db38f314ab96","key":"access_token","value":""}]}