Stable partner-side identifier used for permanent
organization-wide deduplication. Use a namespace owned by your
app; provider-managed prefixes such as sq_payment_ are reserved.
Partner-supplied stable identifier (Toast order id,
Shopify checkout id, Square payment id). When set on
create via POST /transactions or
POST /marketplace/accrue, the unique
(orgId, externalTransactionId) index makes the call
permanently idempotent — a redelivered upstream webhook
returns the existing row at HTTP 200 instead of
double-crediting. Provider-owned prefixes such as sq_payment_
are reserved for managed integrations.
Set on a compensating row created by
/marketplace/reverse. Points at the original transaction
this row reverses. The original is reversed at most once
(enforced by a unique constraint).
True when posted via a pk_test_… key. Test rows still
write to the ledger and still fire webhooks (so partner
sandbox integrations can verify their receivers), but DO
NOT update Customer / Card / Enrollment aggregates and
are excluded from operator dashboard rollups.
{"docsConfig":{"theme":"luma","$schema":"https://mintlify.com/docs.json","name":"Perkstar Developers","description":"Build reliable loyalty, POS, CRM, and commerce integrations with the Perkstar API.","colors":{"primary":"#016aff","light":"#4d9cff","dark":"#0057cc"},"logo":{"light":"https://mintcdn.com/perkstar/cSs38e1N7hKdOyBb/assets/perkstar-black.png?fit=max\u0026auto=format\u0026n=cSs38e1N7hKdOyBb\u0026q=85\u0026s=9009fe116cd8146719a3c0368f5a4299","dark":"https://mintcdn.com/perkstar/cSs38e1N7hKdOyBb/assets/perkstar-white.png?fit=max\u0026auto=format\u0026n=cSs38e1N7hKdOyBb\u0026q=85\u0026s=8a71101c6fec8f57730a974146eaf51c","href":"/"},"favicon":"https://mintcdn.com/perkstar/cSs38e1N7hKdOyBb/assets/icon-192.png?fit=max\u0026auto=format\u0026n=cSs38e1N7hKdOyBb\u0026q=85\u0026s=1b1d0c7df8f8f21ff3826225b420f55b","api":{"params":{"expanded":"closed"},"playground":{"display":"interactive","proxy":false,"credentials":false},"examples":{"defaults":"required","languages":["curl","javascript","python","php"],"prefill":true,"autogenerate":true},"url":"full"},"appearance":{"default":"light"},"navbar":{"primary":{"type":"button","label":"Open dashboard","href":"https://dashboard.perkstar.co.uk"}},"search":{"prompt":"Search guides and API reference"},"seo":{"organization":{"name":"Perkstar","url":"https://perkstar.co.uk","logo":"https://dashboard.perkstar.co.uk/brand/perkstar-black.png"},"indexing":"navigable"},"contextual":{"options":["copy","download-spec","chatgpt","claude"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"perkstar","hasAudioNarration":false,"actualSubdomain":"perkstar","customDomains":["developers.perkstar.co.uk"],"gitSource":{"type":"github","owner":"themecartel","repo":"perkstar-platform","deployBranch":"main","contentDirectory":"developer-docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6ad034ced3e1fa76c9a9243d","collectionId":"c4e61674-2704-4447-84da-3599dd25c8a8","liveDeploymentHistoryId":"6ad034ced3e1fa76c9a9243d","schemaVersion":"v3"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ad034ced3e1fa76c9a9243d","clientVersion":"0.0.3990","searchFilterCounts":[{"language":"default","tag":"Integrations","count":56},{"language":"default","tag":"API reference","count":28},{"language":"default","tag":"Guides","count":21},{"language":"default","tag":"Availability and existing connections","count":16},{"language":"default","tag":"Limited and planned providers","count":16},{"language":"default","tag":"Automation","count":14},{"language":"default","tag":"Point of sale","count":10},{"language":"default","tag":"Integration recipes","count":7},{"language":"default","tag":"Make","count":7},{"language":"default","tag":"Zapier","count":7}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/transactions/post-a-transaction-stamp-redeem-adjust","slug":"/api-reference/transactions/post-a-transaction-stamp-redeem-adjust","pageMetadata":{"title":"Post a transaction (stamp / redeem / adjust)","description":null,"deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /transactions","href":"/api-reference/transactions/post-a-transaction-stamp-redeem-adjust","autogeneratedByOpenApi":true},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Post a transaction (stamp / redeem / adjust)","description":null,"deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /transactions","href":"/api-reference/transactions/post-a-transaction-stamp-redeem-adjust","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"Post a transaction (stamp / redeem / adjust)","operationId":"createTransaction","tags":["Transactions"],"security":["1f61eabb-6d7f-4036-a7f5-8f284a151f3b"],"parameters":["bea999b3-37a7-4c72-96d0-a86c2dd09906"],"requestBody":"f35e83f1-3456-4c74-be7f-57902ddd3819","responses":{"201":"ce281a0e-25c6-408c-b0f5-e41793075d2a"},"method":"post","type":"path","servers":["b5c9d190-583a-4d83-b1a3-29580ce30ee1"],"path":"/transactions","baseUrlOptions":["https://dashboard.perkstar.co.uk/api/v1"],"title":"Post a transaction (stamp / redeem / adjust)","description":"","codeSamples":[],"requestExampleLanguages":["bash","javascript","python","php"],"requiredOnlyExamples":true,"requestExampleType":"generated","responseExampleType":"generated","prefillPlaygroundWithExample":true,"prefillPlaygroundExamples":[{"body.enrollment_id":"\u003cstring>","body.delta":123,"body.amount_pence.oneOf.0":1,"body.note.oneOf.0":"\u003cstring>","body.external_id.oneOf.0":"\u003cstring>","body.external_transaction_id.oneOf.0":"\u003cstring>","body.metadata":{}}],"disableProxy":true,"urlDisplay":"full"},"dependencies":{"parameters":{"bea999b3-37a7-4c72-96d0-a86c2dd09906":{"in":"header","name":"Idempotency-Key","schema":{"type":"string","maxLength":255,"description":"Replay-safe request key. Repeated requests with the same value\nwithin 24h return the original response unchanged.\n","uniqueKey":"","typeLabel":"string"},"description":"Replay-safe request key. Repeated requests with the same value\nwithin 24h return the original response unchanged.\n"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["enrollment_id","type"],"properties":{"enrollment_id":{"type":"string","isRequired":true,"uniqueKey":"enrollment_id","typeLabel":"string"},"type":{"type":"string","enum":["STAMP","REDEEM","ADJUST"],"isRequired":true,"uniqueKey":"type","typeLabel":"enum\u003cstring>"},"delta":{"type":"number","multipleOf":0.01,"maximum":100000,"uniqueKey":"delta","typeLabel":"number"},"amount_pence":{"oneOf":[{"type":"integer","minimum":0,"uniqueKey":"amount_pence.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"uniqueKey":"amount_pence.oneOf.1","typeLabel":"null"}],"uniqueKey":"amount_pence","typeLabel":"integer | null"},"note":{"oneOf":[{"type":"string","maxLength":280,"uniqueKey":"note.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":280,"uniqueKey":"note.oneOf.1","typeLabel":"null"}],"uniqueKey":"note","typeLabel":"string | null"},"external_id":{"oneOf":[{"type":"string","maxLength":120,"uniqueKey":"external_id.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":120,"uniqueKey":"external_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"external_id","typeLabel":"string | null"},"external_transaction_id":{"oneOf":[{"type":"string","maxLength":180,"description":"Stable partner-side identifier used for permanent\norganization-wide deduplication. Use a namespace owned by your\napp; provider-managed prefixes such as `sq_payment_` are reserved.\n","uniqueKey":"external_transaction_id.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":180,"description":"Stable partner-side identifier used for permanent\norganization-wide deduplication. Use a namespace owned by your\napp; provider-managed prefixes such as `sq_payment_` are reserved.\n","uniqueKey":"external_transaction_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"external_transaction_id","typeLabel":"string | null"},"metadata":{"type":"object","additionalProperties":true,"uniqueKey":"metadata","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"enrollment_id":"\u003cstring>","delta":123,"amount_pence":1,"note":"\u003cstring>","external_id":"\u003cstring>","external_transaction_id":"\u003cstring>","metadata":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"ce281a0e-25c6-408c-b0f5-e41793075d2a":{"description":"Created","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","uniqueKey":"id","typeLabel":"string"},"enrollment_id":{"type":"string","uniqueKey":"enrollment_id","typeLabel":"string"},"type":{"type":"string","enum":["STAMP","REDEEM","ADJUST"],"uniqueKey":"type","typeLabel":"enum\u003cstring>"},"source":{"type":"string","enum":["SCANNER","POS","API","ADJUST","DASHBOARD","LEGACY_IMPORT","TAP"],"uniqueKey":"source","typeLabel":"enum\u003cstring>"},"delta":{"type":"number","multipleOf":0.01,"uniqueKey":"delta","typeLabel":"number"},"amount_pence":{"oneOf":[{"type":"integer","uniqueKey":"amount_pence.oneOf.0","typeLabel":"integer"},{"type":"null","uniqueKey":"amount_pence.oneOf.1","typeLabel":"null"}],"uniqueKey":"amount_pence","typeLabel":"integer | null"},"note":{"oneOf":[{"type":"string","uniqueKey":"note.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"note.oneOf.1","typeLabel":"null"}],"uniqueKey":"note","typeLabel":"string | null"},"external_id":{"oneOf":[{"type":"string","uniqueKey":"external_id.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"external_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"external_id","typeLabel":"string | null"},"external_transaction_id":{"oneOf":[{"type":"string","description":"Partner-supplied stable identifier (Toast order id,\nShopify checkout id, Square payment id). When set on\ncreate via `POST /transactions` or\n`POST /marketplace/accrue`, the unique\n`(orgId, externalTransactionId)` index makes the call\npermanently idempotent — a redelivered upstream webhook\nreturns the existing row at HTTP 200 instead of\ndouble-crediting. Provider-owned prefixes such as `sq_payment_`\nare reserved for managed integrations.\n","uniqueKey":"external_transaction_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Partner-supplied stable identifier (Toast order id,\nShopify checkout id, Square payment id). When set on\ncreate via `POST /transactions` or\n`POST /marketplace/accrue`, the unique\n`(orgId, externalTransactionId)` index makes the call\npermanently idempotent — a redelivered upstream webhook\nreturns the existing row at HTTP 200 instead of\ndouble-crediting. Provider-owned prefixes such as `sq_payment_`\nare reserved for managed integrations.\n","uniqueKey":"external_transaction_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"external_transaction_id","typeLabel":"string | null"},"reverses_transaction_id":{"oneOf":[{"type":"string","description":"Set on a compensating row created by\n`/marketplace/reverse`. Points at the original transaction\nthis row reverses. The original is reversed at most once\n(enforced by a unique constraint).\n","uniqueKey":"reverses_transaction_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Set on a compensating row created by\n`/marketplace/reverse`. Points at the original transaction\nthis row reverses. The original is reversed at most once\n(enforced by a unique constraint).\n","uniqueKey":"reverses_transaction_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"reverses_transaction_id","typeLabel":"string | null"},"reason_text":{"oneOf":[{"type":"string","description":"Operator-visible reason for a reversal (\"Customer refunded\nthe order\"). Persisted on the COMPENSATING row, not the\noriginal.\n","uniqueKey":"reason_text.oneOf.0","typeLabel":"string"},{"type":"null","description":"Operator-visible reason for a reversal (\"Customer refunded\nthe order\"). Persisted on the COMPENSATING row, not the\noriginal.\n","uniqueKey":"reason_text.oneOf.1","typeLabel":"null"}],"uniqueKey":"reason_text","typeLabel":"string | null"},"test_mode":{"type":"boolean","description":"True when posted via a `pk_test_…` key. Test rows still\nwrite to the ledger and still fire webhooks (so partner\nsandbox integrations can verify their receivers), but DO\nNOT update Customer / Card / Enrollment aggregates and\nare excluded from operator dashboard rollups.\n","uniqueKey":"test_mode","typeLabel":"boolean"},"created_at":{"type":"string","format":"date-time","uniqueKey":"created_at","typeLabel":"string\u003cdate-time>"},"enrollment":{"type":"object","properties":{"id":{"type":"string","uniqueKey":"enrollment.id","typeLabel":"string"},"balance":{"type":"number","multipleOf":0.01,"uniqueKey":"enrollment.balance","typeLabel":"number"},"redemptions_count":{"type":"integer","uniqueKey":"enrollment.redemptions_count","typeLabel":"integer"}},"uniqueKey":"enrollment","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"id":"\u003cstring>","enrollment_id":"\u003cstring>","type":"STAMP","source":"SCANNER","delta":123,"amount_pence":123,"note":"\u003cstring>","external_id":"\u003cstring>","external_transaction_id":"\u003cstring>","reverses_transaction_id":"\u003cstring>","reason_text":"\u003cstring>","test_mode":true,"created_at":"2023-11-07T05:31:56Z","enrollment":{"id":"\u003cstring>","balance":123,"redemptions_count":123}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"1f61eabb-6d7f-4036-a7f5-8f284a151f3b":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"pk_live_… / pk_test_… or perk_at_…","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"b5c9d190-583a-4d83-b1a3-29580ce30ee1":{"url":"https://dashboard.perkstar.co.uk/api/v1","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"pk_live_… / pk_test_… or perk_at_…","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"api/openapi.yaml"},"subdomain":"perkstar","siteName":"Perkstar Developers","title":"Post a transaction (stamp / redeem / adjust) - Perkstar Developers","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-15T02:05:07.605Z","originalFileLocation":"api-reference/transactions/post-a-transaction-stamp-redeem-adjust.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"application-name\" content=\"Perkstar Developers\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/perkstar/qZOD7HSUxLh47RbK/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/perkstar/qZOD7HSUxLh47RbK/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/perkstar/qZOD7HSUxLh47RbK/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/perkstar/qZOD7HSUxLh47RbK/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/perkstar/qZOD7HSUxLh47RbK/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/perkstar/qZOD7HSUxLh47RbK/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/perkstar/qZOD7HSUxLh47RbK/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/perkstar/qZOD7HSUxLh47RbK/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/perkstar/qZOD7HSUxLh47RbK/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Post a transaction (stamp / redeem / adjust) - Perkstar Developers\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Perkstar Developers\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developers.perkstar.co.uk/api-reference/transactions/post-a-transaction-stamp-redeem-adjust\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://perkstar.mintlify.app/_mintlify/api/og/v2?division=Transactions\u0026amp;title=Post+a+transaction+%28stamp+%2F+redeem+%2F+adjust%29\u0026amp;theme=1bd47a425785e661028d3e8d\u0026amp;signature=11c3c979a30b2cf9a08f00acd4d5b2dd8df35f2bfc88cc112cb547741787f66e\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Post a transaction (stamp / redeem / adjust) - Perkstar Developers\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://perkstar.mintlify.app/_mintlify/api/og/v2?division=Transactions\u0026amp;title=Post+a+transaction+%28stamp+%2F+redeem+%2F+adjust%29\u0026amp;theme=1bd47a425785e661028d3e8d\u0026amp;signature=11c3c979a30b2cf9a08f00acd4d5b2dd8df35f2bfc88cc112cb547741787f66e\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/perkstar/qZOD7HSUxLh47RbK/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Perkstar Developers\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#016aff\">\u003clink data-mint-head rel=\"canonical\" href=\"https://developers.perkstar.co.uk/api-reference/transactions/post-a-transaction-stamp-redeem-adjust\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/transactions/post-a-transaction-stamp-redeem-adjust.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://perkstar.co.uk/#organization\",\"name\":\"Perkstar\",\"url\":\"https://perkstar.co.uk\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://dashboard.perkstar.co.uk/brand/perkstar-black.png\"}},{\"@type\":\"WebSite\",\"@id\":\"https://developers.perkstar.co.uk#website\",\"name\":\"Perkstar Developers\",\"url\":\"https://developers.perkstar.co.uk\",\"publisher\":{\"@id\":\"https://perkstar.co.uk/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://developers.perkstar.co.uk/api-reference/transactions/post-a-transaction-stamp-redeem-adjust#webpage\",\"url\":\"https://developers.perkstar.co.uk/api-reference/transactions/post-a-transaction-stamp-redeem-adjust\",\"name\":\"Post a transaction (stamp / redeem / adjust)\",\"dateModified\":\"2026-10-15T02:05:07.605Z\",\"isPartOf\":{\"@id\":\"https://developers.perkstar.co.uk#website\"},\"breadcrumb\":{\"@id\":\"https://developers.perkstar.co.uk/api-reference/transactions/post-a-transaction-stamp-redeem-adjust#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developers.perkstar.co.uk/api-reference/transactions/post-a-transaction-stamp-redeem-adjust#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Transactions\",\"item\":\"https://developers.perkstar.co.uk/api-reference/transactions/list-transactions\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Post a transaction (stamp / redeem / adjust)\",\"item\":\"https://developers.perkstar.co.uk/api-reference/transactions/post-a-transaction-stamp-redeem-adjust\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://developers.perkstar.co.uk/api-reference/transactions/post-a-transaction-stamp-redeem-adjust#apireference\",\"headline\":\"Post a transaction (stamp / redeem / adjust)\",\"name\":\"Post a transaction (stamp / redeem / adjust)\",\"url\":\"https://developers.perkstar.co.uk/api-reference/transactions/post-a-transaction-stamp-redeem-adjust\",\"mainEntityOfPage\":{\"@id\":\"https://developers.perkstar.co.uk/api-reference/transactions/post-a-transaction-stamp-redeem-adjust#webpage\"},\"dateModified\":\"2026-10-15T02:05:07.605Z\",\"publisher\":{\"@id\":\"https://perkstar.co.uk/#organization\"},\"isPartOf\":{\"@id\":\"https://developers.perkstar.co.uk#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Perkstar Developers\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Perkstar Developers","nav":{"global":null,"tabs":[{"tab":"Integrations","icon":"plug","pages":[{"title":"Integrations","href":"/integrations"}]},{"tab":"Guides","icon":"book-open","pages":[{"title":"Guides","href":""}]},{"tab":"API reference","icon":"brackets-curly","groups":[{"group":"Customers","pages":[{"title":"List customers","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /customers","href":"/api-reference/customers/list-customers"},{"title":"Create or upsert a customer","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /customers","href":"/api-reference/customers/create-or-upsert-a-customer"},{"title":"Get a customer","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /customers/{id}","href":"/api-reference/customers/get-a-customer"},{"title":"Anonymize (GDPR Article 17 erasure) a customer","deprecated":null,"version":null,"openapi":"/api/openapi.yaml delete /customers/{id}","href":"/api-reference/customers/anonymize-gdpr-article-17-erasure-a-customer"},{"title":"Update a customer","deprecated":null,"version":null,"openapi":"/api/openapi.yaml patch /customers/{id}","href":"/api-reference/customers/update-a-customer"}]},{"group":"Enrollments","pages":[{"title":"List enrollments","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /enrollments","href":"/api-reference/enrollments/list-enrollments"},{"title":"Create an enrollment","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /enrollments","href":"/api-reference/enrollments/create-an-enrollment"},{"title":"Get an enrollment","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /enrollments/{id}","href":"/api-reference/enrollments/get-an-enrollment"},{"title":"Update an enrollment","deprecated":null,"version":null,"openapi":"/api/openapi.yaml patch /enrollments/{id}","href":"/api-reference/enrollments/update-an-enrollment"}]},{"group":"Transactions","pages":[{"title":"List transactions","description":null,"deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /transactions","href":"/api-reference/transactions/list-transactions"},{"title":"Post a transaction (stamp / redeem / adjust)","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /transactions","href":"/api-reference/transactions/post-a-transaction-stamp-redeem-adjust"},{"title":"Bulk-delete every test-mode transaction for the org","description":"Sandbox cleanup. Requires a `pk_test_…` key — live keys are\nrejected with 403. Returns the row count deleted. Aggregates\non Customer / Card / Enrollment do not need recomputing\nbecause test rows never contributed to them.\n","deprecated":null,"version":null,"openapi":"/api/openapi.yaml delete /transactions/test","href":"/api-reference/transactions/bulk-delete-every-test-mode-transaction-for-the-org"}]},{"group":"Cards","pages":[{"title":"List cards","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /cards","href":"/api-reference/cards/list-cards"},{"title":"Get a card","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /cards/{id}","href":"/api-reference/cards/get-a-card"}]},{"group":"Webhooks","pages":[{"title":"List recent outbound events","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /events","href":"/api-reference/webhooks/list-recent-outbound-events"},{"title":"List webhooks","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /webhooks","href":"/api-reference/webhooks/list-webhooks"},{"title":"Create a webhook","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /webhooks","href":"/api-reference/webhooks/create-a-webhook"},{"title":"Get a webhook","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /webhooks/{id}","href":"/api-reference/webhooks/get-a-webhook"},{"title":"Delete a webhook","deprecated":null,"version":null,"openapi":"/api/openapi.yaml delete /webhooks/{id}","href":"/api-reference/webhooks/delete-a-webhook"},{"title":"Update a webhook","deprecated":null,"version":null,"openapi":"/api/openapi.yaml patch /webhooks/{id}","href":"/api-reference/webhooks/update-a-webhook"},{"title":"Verify a server-attested webhook delivery","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /webhooks/deliveries/verify","href":"/api-reference/webhooks/verify-a-server-attested-webhook-delivery"}]},{"group":"Locations","pages":[{"title":"List locations","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /locations","href":"/api-reference/locations/list-locations"}]},{"group":"Pushes","pages":[{"title":"Send a wallet push","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /pushes","href":"/api-reference/pushes/send-a-wallet-push"}]},{"group":"Marketplace","pages":[{"title":"Auth check + org context","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /marketplace/ping","href":"/api-reference/marketplace/auth-check-+-org-context"},{"title":"Find-or-create customer + post transaction in one call","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /marketplace/accrue","href":"/api-reference/marketplace/find-or-create-customer-+-post-transaction-in-one-call"},{"title":"Find-or-create customer + enrolment (no transaction)","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /marketplace/enroll","href":"/api-reference/marketplace/find-or-create-customer-+-enrolment-no-transaction"},{"title":"Reverse a previously-posted transaction","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /marketplace/reverse","href":"/api-reference/marketplace/reverse-a-previously-posted-transaction"}]},{"group":"Outbound webhooks","pages":[{"title":"Receive a perkstar outbound event","version":null,"deprecated":null,"openapi":"/api/openapi.yaml webhook perkstarEvent","href":"/api-reference/outbound-webhooks/receive-a-perkstar-outbound-event"}]}]},{"tab":"SDKs","icon":"code","pages":[{"title":"SDKs","href":"/sdks/typescript"}]},{"tab":"Changelog","icon":"clock-rotate-left","pages":[{"title":"Changelog","href":"/changelog"}]}]},"title":"Post a transaction (stamp / redeem / adjust) - Perkstar Developers","buildId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","deploymentId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","dynamics":["c2aa737661","b0f84f53ff","a9bb46feb3","2b790eda92"],"chunks":["OpenApiReferenceProvider-WRhTSUDL.js","utils-ChMov4Kr.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-_REmC2bI.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Bp6nVRCu.js","snippetPresets-DZadmXoU.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","Page-R3M_BF4L.js","ApiExamples-CY2WdoTl.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-DwYG-Q4l.js","shallow-BXQIGwv4.js","getApiPlaygroundDisplay-CK5nK5B9.js","CodeSnippet-TH4a2aGW.js","CodeSnippets-DwsQiOFS.js","getPastedJson-DD7kUzi_.js","icon-holE3QoJ.js","MethodPill-DUW0T8us.js","DuplicateIcon-CI_p4be-.js","createIcon-BdbRvavb.js","DynamicMarkdown-DN96a4Ur.js","SectionHeading-SCu36A9d.js","axios-vUo_bRtp.js","Markdown-CCeGv-zI.js","clsx-BGBGWFTt.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-Cv_O2fky.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-2C5OB2eV.js"]}