The 10.01, 10.02, and 10.03 amounts have been retired. They collided with genuine small-value sandbox orders, so a real 10.01 transaction was silently completed by the mock path. If your integration is pinned to any of those amounts, move it to the 1000.0x band below.
Cross-ramp uses its own 2000.0x band rather than reusing the on/off-ramp amounts. The internal on-ramp leg of a cross-ramp inherits the parent’s source amount, so a cross-ramp at 1000.01 would trigger the on-ramp rule underneath the cross-ramp one.
Cross-ramp specifics:
Only sourceAmount triggers a mock. On the targetAmount path the source amount is fee-derived and will never match a magic value.
If you create the transaction from a quoteId, the quote itself must have been created with sourceAmount set to one of the magic values.
The transaction advances through the real state machine, so every cross-ramp webhook fires in order — CREATED_CROSS_RAMP, FUNDS_RECEIVED_CROSS_RAMP, STARTED_PROCESSING_CROSS_RAMP, AWAITING_FUND_TRANSFER_CROSS_RAMP, and COMPLETED_CROSS_RAMP (or CANCELLED_CROSS_RAMP for 2000.02).
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Capa.fi","colors":{"primary":"#191f14","light":"#fff","dark":"#191f14"},"logo":{"light":"https://mintcdn.com/capa/sdievWamxx2n0U65/logo/logo.svg?fit=max\u0026auto=format\u0026n=sdievWamxx2n0U65\u0026q=85\u0026s=cd1c9b9fcff02ef9bd460d71d7823292","dark":"https://mintcdn.com/capa/sdievWamxx2n0U65/logo/logo.svg?fit=max\u0026auto=format\u0026n=sdievWamxx2n0U65\u0026q=85\u0026s=cd1c9b9fcff02ef9bd460d71d7823292"},"favicon":"https://mintcdn.com/capa/sdievWamxx2n0U65/favicon.svg?fit=max\u0026auto=format\u0026n=sdievWamxx2n0U65\u0026q=85\u0026s=154093ec8e5f8f060d360b5932060b3b","navbar":{"links":[{"href":"https://status.capa.fi","label":"Status"}]},"fonts":{"heading":{"family":"Space Grotesk"},"body":{"family":"Space Grotesk"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"capa","hasAudioNarration":false,"actualSubdomain":"capa","customDomains":["docs.capa.fi"],"gitSource":{"type":"github","owner":"capalabs","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ac5225c9bd168f34f06f5ea","collectionId":"2b6582ed-be5e-4405-90f4-5ccd38247ae9","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ac5225c9bd168f34f06f5ea"},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"WEB_MCP":{"status":"DISABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6ac5225c9bd168f34f06f5ea","clientVersion":"0.0.3966","searchFilterCounts":[{"language":"default","tag":"API Reference","count":34},{"language":"default","tag":"Capa Partner API - V2","count":34},{"language":"default","tag":"Guides","count":20},{"language":"default","tag":"Documentation","count":20},{"language":"default","tag":"📣 Webhooks","count":5},{"language":"default","tag":"Users","count":5},{"language":"default","tag":"Wallets","count":4},{"language":"default","tag":"Cross-Ramp","count":3},{"language":"default","tag":"Webhooks · Notifications","count":3},{"language":"default","tag":"Transactions","count":3}]},"assistantConfig":{"deflection":{"enabled":true,"email":"developers@capa.fi","showHelpButton":true}},"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":"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}],"isAtlas":false,"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":".table td,.table th{text-align:left}ol ol{list-style-type:lower-alpha}ol ol ol{list-style-type:lower-roman}"}],"page":{"pagePath":"reference/transactionpartnerv2controller_getmocktestingguide","slug":"/reference/transactionpartnerv2controller_getmocktestingguide","pageMetadata":{"title":"Mock Testing Guide","openapi":"reference/openapi/TransactionPartnerV2Controller_getMockTestingGuide.json GET /api/partner/v2/transactions/mock-testing-guide","description":null,"href":"/reference/transactionpartnerv2controller_getmocktestingguide"},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,hr:`hr`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Note,Table,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Returns the current mock testing configuration for the sandbox environment. Use specific transaction amounts to simulate different outcomes.`}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Mock testing is only available in the `,_jsx(_components.strong,{children:`sandbox environment`}),`.`]})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`mock-rules`,children:`Mock Rules`}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`10.01`}),`, `,_jsx(_components.code,{children:`10.02`}),`, and `,_jsx(_components.code,{children:`10.03`}),` amounts have been `,_jsx(_components.strong,{children:`retired`}),`. They collided with genuine small-value sandbox orders, so a real `,_jsx(_components.code,{children:`10.01`}),` transaction was silently completed by the mock path. If your integration is pinned to any of those amounts, move it to the `,_jsx(_components.code,{children:`1000.0x`}),` band below.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`on-ramp-transactions`,children:`On-Ramp Transactions`}),`\n`,_jsxs(_components.p,{children:[`Use `,_jsx(_components.code,{children:`fiatAmount`}),` to trigger specific behaviors:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Fiat Amount`}),_jsx(_components.th,{children:`Expected Status`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`1000.01`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`COMPLETED`})}),_jsx(_components.td,{children:`OTC transaction completes successfully`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`1000.02`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`CANCELLED`}),` (NAME_VERIFICATION_FAILED)`]}),_jsx(_components.td,{children:`OTC bank beneficiary is not the KYC’d user`})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`off-ramp-transactions`,children:`Off-Ramp Transactions`}),`\n`,_jsxs(_components.p,{children:[`Use `,_jsx(_components.code,{children:`cryptoAmount`}),` to trigger specific behaviors:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Crypto Amount`}),_jsx(_components.th,{children:`Expected Status`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`1000.01`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`COMPLETED`})}),_jsx(_components.td,{children:`OTC transaction completes successfully`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`1000.02`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`CANCELLED`}),` (NAME_VERIFICATION_FAILED)`]}),_jsx(_components.td,{children:`OTC bank beneficiary is not a KYC’d user`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`1000.03`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`CRYPTO_NOT_RECEIVED`})}),_jsx(_components.td,{children:`OTC failure due to no crypto transfer`})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`cross-ramp-transactions`,children:`Cross-Ramp Transactions`}),`\n`,_jsxs(_components.p,{children:[`Use `,_jsx(_components.code,{children:`sourceAmount`}),` to trigger specific behaviors:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Source Amount`}),_jsx(_components.th,{children:`Expected Status`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`2000.01`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`COMPLETED`})}),_jsxs(_components.td,{children:[`Walks the full lifecycle: `,_jsx(_components.code,{children:`PENDING_FUNDS`}),` → `,_jsx(_components.code,{children:`FUNDS_RECEIVED`}),` → `,_jsx(_components.code,{children:`IN_PROGRESS`}),` → `,_jsx(_components.code,{children:`AWAITING_FUND_TRANSFER`}),` → `,_jsx(_components.code,{children:`COMPLETED`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`2000.02`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`CANCELLED`}),` (NAME_VERIFICATION_FAILED)`]}),_jsx(_components.td,{children:`Bank beneficiary is not a KYC’d user`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`2000.03`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`AWAITING_FUND_TRANSFER`})}),_jsxs(_components.td,{children:[`Halts at `,_jsx(_components.code,{children:`AWAITING_FUND_TRANSFER`}),` so the payout leg can be exercised`]})]})]})]}),`\n`,_jsxs(_components.p,{children:[`For example, to create a cross-ramp that halts at `,_jsx(_components.code,{children:`AWAITING_FUND_TRANSFER`}),`:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`7`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`7`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"userId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"12a121ad-cbea-4ec4-9e0a-5c861e528bba\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"sourceAmount\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`2000.03`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"sourceCurrency\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"MXN\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"targetCurrency\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"USD\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"targetBankAccountId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0b7e1c9f-3a4d-4f21-9a2e-5d8c6b1f4e30\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Cross-ramp uses its own `,_jsx(_components.code,{children:`2000.0x`}),` band rather than reusing the on/off-ramp amounts. The internal on-ramp leg of a cross-ramp inherits the parent’s source amount, so a cross-ramp at `,_jsx(_components.code,{children:`1000.01`}),` would trigger the on-ramp rule underneath the cross-ramp one.`]})}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Cross-ramp specifics:`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Only `,_jsx(_components.code,{children:`sourceAmount`}),` triggers a mock. On the `,_jsx(_components.code,{children:`targetAmount`}),` path the source amount is fee-derived and will never match a magic value.`]}),`\n`,_jsxs(_components.li,{children:[`If you create the transaction from a `,_jsx(_components.code,{children:`quoteId`}),`, the quote itself must have been created with `,_jsx(_components.code,{children:`sourceAmount`}),` set to one of the magic values.`]}),`\n`,_jsxs(_components.li,{children:[`The transaction advances through the real state machine, so every cross-ramp webhook fires in order — `,_jsx(_components.code,{children:`CREATED_CROSS_RAMP`}),`, `,_jsx(_components.code,{children:`FUNDS_RECEIVED_CROSS_RAMP`}),`, `,_jsx(_components.code,{children:`STARTED_PROCESSING_CROSS_RAMP`}),`, `,_jsx(_components.code,{children:`AWAITING_FUND_TRANSFER_CROSS_RAMP`}),`, and `,_jsx(_components.code,{children:`COMPLETED_CROSS_RAMP`}),` (or `,_jsx(_components.code,{children:`CANCELLED_CROSS_RAMP`}),` for `,_jsx(_components.code,{children:`2000.02`}),`).`]}),`\n`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`important-notes`,children:`Important Notes`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`You must use the `,_jsx(_components.strong,{children:`exact amounts`}),` specified above (1000.01, 1000.02, 1000.03, 2000.01, 2000.02, 2000.03).`]}),`\n`,_jsx(_components.li,{children:`Transaction amount limits are not enforced for mock amounts. All other validation rules still apply (KYC status, etc.).`}),`\n`,_jsx(_components.li,{children:`The system automatically handles state transitions to reach the target status.`}),`\n`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`error-codes`,children:`Error Codes`}),`\n`,_jsx(Heading,{level:`3`,id:`common-errors`,children:`Common Errors`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`HTTP Status`}),_jsx(_components.th,{children:`Code`}),_jsx(_components.th,{children:`Message`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`401`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`UNAUTHORIZED`})}),_jsx(_components.td,{children:`”API Key is missing”`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`401`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`UNAUTHORIZED`})}),_jsx(_components.td,{children:`”Invalid API Key format”`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`401`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`UNAUTHORIZED`})}),_jsx(_components.td,{children:`”Invalid API Key”`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`403`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`INVALID_PARTNER_FLOW`})}),_jsx(_components.td,{children:`”The partner has an invalid flow.”`})]})]})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Mock Testing Guide","openapi":"reference/openapi/TransactionPartnerV2Controller_getMockTestingGuide.json GET /api/partner/v2/transactions/mock-testing-guide","description":null,"href":"/reference/transactionpartnerv2controller_getmocktestingguide"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Mock Rules","slug":"mock-rules","depth":2,"children":[{"title":"On-Ramp Transactions","slug":"on-ramp-transactions","depth":3,"children":[]},{"title":"Off-Ramp Transactions","slug":"off-ramp-transactions","depth":3,"children":[]},{"title":"Cross-Ramp Transactions","slug":"cross-ramp-transactions","depth":3,"children":[]}]},{"title":"Important Notes","slug":"important-notes","depth":2,"children":[]},{"title":"Error Codes","slug":"error-codes","depth":2,"children":[{"title":"Common Errors","slug":"common-errors","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"TransactionPartnerV2Controller_getMockTestingGuide","responses":{"200":"ee19e032-f3c0-43e7-bdf3-db1623aee449","401":"44a6c502-6d0b-4c6c-aab5-7f00fc0c661d"},"tags":["transactions"],"security":["366f3bad-087d-4c3c-9c89-13581461c55d"],"method":"get","type":"path","servers":["a010f185-e296-4c77-b0a4-acf1bffee36e","76232bd8-30be-48e9-b9b5-a573aa172a4c"],"path":"/api/partner/v2/transactions/mock-testing-guide","baseUrlOptions":["https://api.sandbox.capa.fi","https://api.capa.fi"],"title":"","description":"","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"responses":{"ee19e032-f3c0-43e7-bdf3-db1623aee449":{"description":"This endpoint provides documentation for partners on how to trigger\ndifferent transaction statuses using specific amounts.\n\nOnly available in testing environments.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","example":true,"uniqueKey":"success","typeLabel":"boolean"},"data":{"type":"object","properties":{"environment":{"type":"string","description":"Environment the mock rules apply to.","example":"sandbox","uniqueKey":"data.environment","typeLabel":"string"},"onRampRules":{"type":"array","description":"Magic `fiatAmount` values for on-ramp transactions.","items":{"type":"object","properties":{"fiatAmount":{"type":"number","description":"Exact `fiatAmount` that triggers this outcome.","example":1000.01,"uniqueKey":"data.onRampRules.items.[INDEX].fiatAmount","typeLabel":"number"},"expectedStatus":{"type":"string","description":"Status the transaction is driven to.","example":"COMPLETED","uniqueKey":"data.onRampRules.items.[INDEX].expectedStatus","typeLabel":"string"},"description":{"type":"string","description":"What the simulated outcome represents.","example":"OTC transaction completes successfully","uniqueKey":"data.onRampRules.items.[INDEX].description","typeLabel":"string"}},"uniqueKey":"data.onRampRules.items.[INDEX]","typeLabel":"object"},"uniqueKey":"data.onRampRules","typeLabel":"object[]"},"offRampRules":{"type":"array","description":"Magic `cryptoAmount` values for off-ramp transactions.","items":{"type":"object","properties":{"cryptoAmount":{"type":"number","description":"Exact `cryptoAmount` that triggers this outcome.","example":1000.03,"uniqueKey":"data.offRampRules.items.[INDEX].cryptoAmount","typeLabel":"number"},"expectedStatus":{"type":"string","description":"Status the transaction is driven to.","example":"CRYPTO_NOT_RECEIVED","uniqueKey":"data.offRampRules.items.[INDEX].expectedStatus","typeLabel":"string"},"description":{"type":"string","description":"What the simulated outcome represents.","example":"OTC failure due to missing crypto transfer","uniqueKey":"data.offRampRules.items.[INDEX].description","typeLabel":"string"}},"uniqueKey":"data.offRampRules.items.[INDEX]","typeLabel":"object"},"uniqueKey":"data.offRampRules","typeLabel":"object[]"},"crossRampRules":{"type":"array","description":"Magic `sourceAmount` values for cross-ramp transactions. Only `sourceAmount` triggers a cross-ramp mock — on the `targetAmount` path the source amount is fee-derived and never matches.","items":{"type":"object","properties":{"sourceAmount":{"type":"number","description":"Exact `sourceAmount` that triggers this outcome.","example":2000.03,"uniqueKey":"data.crossRampRules.items.[INDEX].sourceAmount","typeLabel":"number"},"expectedStatus":{"type":"string","description":"Status the transaction is driven to.","example":"AWAITING_FUND_TRANSFER","uniqueKey":"data.crossRampRules.items.[INDEX].expectedStatus","typeLabel":"string"},"description":{"type":"string","description":"What the simulated outcome represents.","example":"Halts at AWAITING_FUND_TRANSFER so the payout leg can be exercised","uniqueKey":"data.crossRampRules.items.[INDEX].description","typeLabel":"string"}},"uniqueKey":"data.crossRampRules.items.[INDEX]","typeLabel":"object"},"uniqueKey":"data.crossRampRules","typeLabel":"object[]"}},"uniqueKey":"data","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"success":true,"data":{"environment":"sandbox","onRampRules":[{"fiatAmount":1000.01,"expectedStatus":"COMPLETED","description":"OTC transaction completes successfully"},{"fiatAmount":1000.02,"expectedStatus":"CANCELLED (NAME_VERIFICATION_FAILED)","description":"OTC bank beneficiary is not a KYC'd user"}],"offRampRules":[{"cryptoAmount":1000.01,"expectedStatus":"COMPLETED","description":"OTC transaction completes successfully"},{"cryptoAmount":1000.02,"expectedStatus":"CANCELLED (NAME_VERIFICATION_FAILED)","description":"OTC bank beneficiary is not a KYC'd user"},{"cryptoAmount":1000.03,"expectedStatus":"CRYPTO_NOT_RECEIVED","description":"OTC failure due to missing crypto transfer"}],"crossRampRules":[{"sourceAmount":2000.01,"expectedStatus":"COMPLETED","description":"Walks the full lifecycle: PENDING_FUNDS -> FUNDS_RECEIVED -> IN_PROGRESS -> AWAITING_FUND_TRANSFER -> COMPLETED"},{"sourceAmount":2000.02,"expectedStatus":"CANCELLED (NAME_VERIFICATION_FAILED)","description":"Bank beneficiary is not a KYC'd user"},{"sourceAmount":2000.03,"expectedStatus":"AWAITING_FUND_TRANSFER","description":"Halts at AWAITING_FUND_TRANSFER so the payout leg can be exercised"}]}},"examples":{"Example":{"title":"Example","value":{"success":true,"data":{"environment":"sandbox","onRampRules":[{"fiatAmount":1000.01,"expectedStatus":"COMPLETED","description":"OTC transaction completes successfully"},{"fiatAmount":1000.02,"expectedStatus":"CANCELLED (NAME_VERIFICATION_FAILED)","description":"OTC bank beneficiary is not a KYC'd user"}],"offRampRules":[{"cryptoAmount":1000.01,"expectedStatus":"COMPLETED","description":"OTC transaction completes successfully"},{"cryptoAmount":1000.02,"expectedStatus":"CANCELLED (NAME_VERIFICATION_FAILED)","description":"OTC bank beneficiary is not a KYC'd user"},{"cryptoAmount":1000.03,"expectedStatus":"CRYPTO_NOT_RECEIVED","description":"OTC failure due to missing crypto transfer"}],"crossRampRules":[{"sourceAmount":2000.01,"expectedStatus":"COMPLETED","description":"Walks the full lifecycle: PENDING_FUNDS -> FUNDS_RECEIVED -> IN_PROGRESS -> AWAITING_FUND_TRANSFER -> COMPLETED"},{"sourceAmount":2000.02,"expectedStatus":"CANCELLED (NAME_VERIFICATION_FAILED)","description":"Bank beneficiary is not a KYC'd user"},{"sourceAmount":2000.03,"expectedStatus":"AWAITING_FUND_TRANSFER","description":"Halts at AWAITING_FUND_TRANSFER so the payout leg can be exercised"}]}}}},"exampleType":"examples"}},"exampleType":"examples"},"44a6c502-6d0b-4c6c-aab5-7f00fc0c661d":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","example":false,"isRequired":true,"uniqueKey":"success","typeLabel":"boolean"},"code":{"type":"string","description":"Machine-readable error code.","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"errors":{"type":"array","description":"Optional per-field validation details.","items":{"type":"object","properties":{"field":{"type":"string","uniqueKey":"errors.items.[INDEX].field","typeLabel":"string"},"message":{"type":"string","uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"}},"required":["success","code","message"],"uniqueKey":"","typeLabel":"object"},"examples":{"UNAUTHORIZED":{"title":"UNAUTHORIZED","value":{"success":false,"code":"UNAUTHORIZED","message":"API Key is missing"}},"UNAUTHORIZED_2":{"title":"UNAUTHORIZED_2","value":{"success":false,"code":"UNAUTHORIZED","message":"Invalid API Key format"}},"UNAUTHORIZED_3":{"title":"UNAUTHORIZED_3","value":{"success":false,"code":"UNAUTHORIZED","message":"Invalid API Key"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"366f3bad-087d-4c3c-9c89-13581461c55d":{"PartnerApiKey":{"type":"apiKey","in":"header","name":"partner-api-key","description":"API key for the affiliated partner performing the request.","scopes":[],"schemeName":"PartnerApiKey"}}},"servers":{"a010f185-e296-4c77-b0a4-acf1bffee36e":{"url":"https://api.sandbox.capa.fi"},"76232bd8-30be-48e9-b9b5-a573aa172a4c":{"url":"https://api.capa.fi"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"partner-api-key","description":"API key for the affiliated partner performing the request.","scopes":[],"schemeName":"PartnerApiKey"},"schema":{"title":"partner-api-key","type":"string","description":"API key for the affiliated partner performing the request.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"PartnerApiKey","name":"partner-api-key"}],"title":"PartnerApiKey"}]},"originalFileLocation":"reference/openapi/TransactionPartnerV2Controller_getMockTestingGuide.json"},"subdomain":"capa","siteName":"Capa.fi","title":"Mock Testing Guide - Capa.fi","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-06T16:31:38.630Z","originalFileLocation":"reference/transactionpartnerv2controller_getmocktestingguide.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=\"system\"}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=\"Capa.fi\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/capa/Gj5tlmaKVowjgoAW/_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/capa/Gj5tlmaKVowjgoAW/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/capa/Gj5tlmaKVowjgoAW/_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/capa/Gj5tlmaKVowjgoAW/_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/capa/Gj5tlmaKVowjgoAW/_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/capa/Gj5tlmaKVowjgoAW/_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/capa/Gj5tlmaKVowjgoAW/_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/capa/Gj5tlmaKVowjgoAW/_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/capa/Gj5tlmaKVowjgoAW/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Mock Testing Guide - Capa.fi\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Capa.fi\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.capa.fi/reference/transactionpartnerv2controller_getmocktestingguide\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://capa.mintlify.app/_mintlify/api/og/v2?division=Transactions\u0026amp;title=Mock+Testing+Guide\u0026amp;theme=8042dca758d2679cfe40adac\u0026amp;signature=7005778115771987d367be56447dee59ed9d6975a0836d43f49d090083a5bbb4\">\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=\"Mock Testing Guide - Capa.fi\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://capa.mintlify.app/_mintlify/api/og/v2?division=Transactions\u0026amp;title=Mock+Testing+Guide\u0026amp;theme=8042dca758d2679cfe40adac\u0026amp;signature=7005778115771987d367be56447dee59ed9d6975a0836d43f49d090083a5bbb4\">\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/capa/Gj5tlmaKVowjgoAW/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Capa.fi\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#191f14\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.capa.fi/reference/transactionpartnerv2controller_getmocktestingguide\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/reference/transactionpartnerv2controller_getmocktestingguide.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.capa.fi/#organization\",\"name\":\"Capa.fi\",\"url\":\"https://docs.capa.fi\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/capa/sdievWamxx2n0U65/logo/logo.svg?fit=max\u0026auto=format\u0026n=sdievWamxx2n0U65\u0026q=85\u0026s=cd1c9b9fcff02ef9bd460d71d7823292\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.capa.fi#website\",\"name\":\"Capa.fi\",\"url\":\"https://docs.capa.fi\",\"publisher\":{\"@id\":\"https://docs.capa.fi/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.capa.fi/reference/transactionpartnerv2controller_getmocktestingguide#webpage\",\"url\":\"https://docs.capa.fi/reference/transactionpartnerv2controller_getmocktestingguide\",\"name\":\"Mock Testing Guide\",\"dateModified\":\"2026-10-06T16:31:38.630Z\",\"isPartOf\":{\"@id\":\"https://docs.capa.fi#website\"},\"breadcrumb\":{\"@id\":\"https://docs.capa.fi/reference/transactionpartnerv2controller_getmocktestingguide#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.capa.fi/reference/transactionpartnerv2controller_getmocktestingguide#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Capa Partner API - V2\",\"item\":\"https://docs.capa.fi/reference/userpartnercontrollerv2_createuser\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Transactions\",\"item\":\"https://docs.capa.fi/reference/transactionpartnerv2controller_cancelpartnertransaction\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Mock Testing Guide\",\"item\":\"https://docs.capa.fi/reference/transactionpartnerv2controller_getmocktestingguide\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.capa.fi/reference/transactionpartnerv2controller_getmocktestingguide#apireference\",\"headline\":\"Mock Testing Guide\",\"name\":\"Mock Testing Guide\",\"url\":\"https://docs.capa.fi/reference/transactionpartnerv2controller_getmocktestingguide\",\"mainEntityOfPage\":{\"@id\":\"https://docs.capa.fi/reference/transactionpartnerv2controller_getmocktestingguide#webpage\"},\"dateModified\":\"2026-10-06T16:31:38.630Z\",\"publisher\":{\"@id\":\"https://docs.capa.fi/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.capa.fi#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Capa.fi\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Capa.fi","nav":{"global":null,"tabs":[{"tab":"Guides","icon":"book-open","pages":[{"title":"Guides","href":"/docs/getting-started"}]},{"tab":"API Reference","icon":"Code","pages":[{"group":"Capa Partner API - V2","pages":[{"group":"Users","pages":[{"title":"Create User","openapi":"reference/openapi/UserPartnerControllerV2_createUser.json POST /api/partner/v2/users","href":"/reference/userpartnercontrollerv2_createuser"},{"title":"Start KYC","openapi":"reference/openapi/UserPartnerControllerV2_createUserKYC.json POST /api/partner/v2/users/{userId}/kyc","href":"/reference/userpartnercontrollerv2_createuserkyc"},{"title":"Create KYC Link","openapi":"reference/openapi/UserPartnerControllerV2_createVerificationLink.json POST /api/partner/v2/users/{userId}/kyc/verification-link","href":"/reference/userpartnercontrollerv2_createverificationlink"},{"title":"Create KYB Link","openapi":"reference/openapi/UserPartnerControllerV2_generateKYBVerificationLink.json POST /api/partner/v2/users/{userId}/kyb/verification-link","href":"/reference/userpartnercontrollerv2_generatekybverificationlink"},{"title":"Request Signature","openapi":"reference/openapi/UserPartnerControllerV2_requestDocumentSignature.json POST /api/partner/v2/users/{userId}/documents/sign","href":"/reference/userpartnercontrollerv2_requestdocumentsignature"}]},{"group":"KYC","pages":[{"title":"Get KYC Details","openapi":"reference/openapi/KYCPartnerControllerV2_getUserVerificationDetails.json GET /api/partner/v2/kyc/details","href":"/reference/kycpartnercontrollerv2_getuserverificationdetails"}]},{"group":"KYB","pages":[{"title":"Submit Business Profile","openapi":"reference/openapi/KYBPartnerControllerV2_submitBusinessProfile.json POST /api/partner/v2/kyb","href":"/reference/kybpartnercontrollerv2_submitbusinessprofile"},{"title":"Get KYB Details","openapi":"reference/openapi/KYBPartnerControllerV2_getUserKYBDetails.json GET /api/partner/v2/kyb/details","href":"/reference/kybpartnercontrollerv2_getuserkybdetails"}]},{"group":"Quotes","pages":[{"title":"Create Quote","openapi":"reference/openapi/QuotePartnerV2Controller_createPartnerQuote.json POST /api/partner/v2/quotes","href":"/reference/quotepartnerv2controller_createpartnerquote"},{"title":"Get Quote Rate","openapi":"reference/openapi/QuotePartnerV2Controller_getPartnerQuoteRate.json GET /api/partner/v2/quotes","href":"/reference/quotepartnerv2controller_getpartnerquoterate"}]},{"group":"On-Ramp","pages":[{"title":"Create On-Ramp","openapi":"reference/openapi/OnRampPartnerV2Controller_createPartnerOnRamp.json POST /api/partner/v2/on-ramp","href":"/reference/onramppartnerv2controller_createpartneronramp"}]},{"group":"Off-Ramp","pages":[{"title":"Create Off-Ramp","openapi":"reference/openapi/OffRampPartnerV2Controller_createPartnerOffRamp.json POST /api/partner/v2/off-ramp","href":"/reference/offramppartnerv2controller_createpartnerofframp"},{"title":"Execute Off-Ramp","openapi":"reference/openapi/OffRampPartnerV2Controller_executeOffRamp.json POST /api/partner/v2/off-ramp/execute","href":"/reference/offramppartnerv2controller_executeofframp"}]},{"group":"Cross-Ramp","pages":[{"title":"Create Cross-Ramp","openapi":"reference/openapi/CrossRampPartnerV2Controller_createPartnerCrossRamp.json POST /api/partner/v2/cross-ramp","href":"/reference/crossramppartnerv2controller_createpartnercrossramp"},{"title":"Create Cross-Ramp Quote","openapi":"reference/openapi/CrossRampPartnerV2Controller_createPartnerCrossRampQuote.json POST /api/partner/v2/cross-ramp/quotes","href":"/reference/crossramppartnerv2controller_createpartnercrossrampquote"},{"title":"Get Cross-Ramp Rate","openapi":"reference/openapi/CrossRampPartnerV2Controller_getPartnerCrossRampQuoteRate.json GET /api/partner/v2/cross-ramp/quotes","href":"/reference/crossramppartnerv2controller_getpartnercrossrampquoterate"}]},{"group":"Associated Person Signatures","pages":[{"title":"Request Beneficial Owner Signatures","openapi":"reference/openapi/AssociatedPersonPartnerControllerV2_requestUboFormSignatures.json POST /api/partner/v2/users/{userId}/associated-persons/signatures","href":"/reference/associatedpersonpartnercontrollerv2_requestuboformsignatures"},{"title":"Get Beneficial Owner Signature Status","openapi":"reference/openapi/AssociatedPersonPartnerControllerV2_listUboFormSignatures.json GET /api/partner/v2/users/{userId}/associated-persons/signatures","href":"/reference/associatedpersonpartnercontrollerv2_listuboformsignatures"}]},{"group":"Transactions","pages":[{"title":"Cancel Transaction","openapi":"reference/openapi/TransactionPartnerV2Controller_cancelPartnerTransaction.json PUT /api/partner/v2/transactions/{id}/cancel","href":"/reference/transactionpartnerv2controller_cancelpartnertransaction"},{"title":"List Transactions","openapi":"reference/openapi/TransactionPartnerV2Controller_listPartnerUserTransactions.json GET /api/partner/v2/transactions","description":null,"href":"/reference/transactionpartnerv2controller_listpartnerusertransactions"},{"title":"Mock Testing Guide","openapi":"reference/openapi/TransactionPartnerV2Controller_getMockTestingGuide.json GET /api/partner/v2/transactions/mock-testing-guide","href":"/reference/transactionpartnerv2controller_getmocktestingguide"}]},{"group":"Bank Accounts","pages":[{"title":"List Bank Accounts (User)","openapi":"reference/openapi/UserBankInfoPartnerV2Controller_getUserBankInfosByUserId.json GET /api/partner/v2/banks/users/{userId}/accounts","description":null,"href":"/reference/userbankinfopartnerv2controller_getuserbankinfosbyuserid"},{"title":"Add Bank Account (User)","openapi":"reference/openapi/UserBankInfoPartnerV2Controller_createUserBankInfoByUserId.json POST /api/partner/v2/banks/users/{userId}/accounts","href":"/reference/userbankinfopartnerv2controller_createuserbankinfobyuserid"},{"title":"Delete Bank Account (User)","openapi":"reference/openapi/UserBankInfoPartnerV2Controller_deleteUserBankInfoByUserId.json DELETE /api/partner/v2/banks/users/{userId}/accounts/{userBankInfoId}","href":"/reference/userbankinfopartnerv2controller_deleteuserbankinfobyuserid"}]},{"group":"Virtual Accounts","pages":[{"title":"Get Virtual Account Status (User)","openapi":"reference/openapi/BankingOnboardingPartnerV2Controller_getOnboardingStatus.json GET /api/partner/v2/banks/users/{userId}/banking-onboarding","href":"/reference/bankingonboardingpartnerv2controller_getonboardingstatus"},{"title":"Request Virtual Account (User)","openapi":"reference/openapi/BankingOnboardingPartnerV2Controller_requestOnboarding.json POST /api/partner/v2/banks/users/{userId}/banking-onboarding","href":"/reference/bankingonboardingpartnerv2controller_requestonboarding"}]},{"group":"Wallets","pages":[{"title":"List Wallets","openapi":"reference/openapi/WalletAddressPartnerV2Controller_listUserWallets.json GET /api/partner/v2/users/{userId}/wallets","href":"/reference/walletaddresspartnerv2controller_listuserwallets"},{"title":"Create Wallet","openapi":"reference/openapi/WalletAddressPartnerV2Controller_createUserWallet.json POST /api/partner/v2/users/{userId}/wallets","href":"/reference/walletaddresspartnerv2controller_createuserwallet"},{"title":"Delete Wallet","openapi":"reference/openapi/WalletAddressPartnerV2Controller_deleteUserWallet.json DELETE /api/partner/v2/users/{userId}/wallets/{walletId}","href":"/reference/walletaddresspartnerv2controller_deleteuserwallet"},{"title":"Get Wallet Balances","openapi":"reference/openapi/UserBalancePartnerV2Controller_getUserWalletBalances.json GET /api/partner/v2/users/{userId}/wallets/balance","href":"/reference/userbalancepartnerv2controller_getuserwalletbalances"}]},{"group":"Webhooks · Settings","pages":[{"title":"Update Webhook Settings","openapi":"reference/openapi/PartnerWebhookSettingsV2Controller_update.json PUT /api/partner/v2/webhook-settings","href":"/reference/partnerwebhooksettingsv2controller_update"}]},{"group":"Webhooks · Notifications","pages":[{"title":"List Webhooks","openapi":"reference/openapi/PartnerWebhookNotificationV2Controller_listWebhookNotifications.json GET /api/partner/v2/webhook-notifications","href":"/reference/partnerwebhooknotificationv2controller_listwebhooknotifications"},{"title":"Get Webhook","openapi":"reference/openapi/PartnerWebhookNotificationV2Controller_getWebhookNotificationDetail.json GET /api/partner/v2/webhook-notifications/{id}","href":"/reference/partnerwebhooknotificationv2controller_getwebhooknotificationdetail"},{"title":"Retry Webhook","openapi":"reference/openapi/PartnerWebhookNotificationV2Controller_retry.json POST /api/partner/v2/webhook-notifications/{id}/retry","href":"/reference/partnerwebhooknotificationv2controller_retry"}]}]}]},{"tab":"Changelog","icon":"megaphone","pages":[{"title":"Changelog","href":"/changelog"}]}]},"title":"Mock Testing Guide - Capa.fi","buildId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","deploymentId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DKJwRUt2.js","utils-CWD_VS3u.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-oFjciODD.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-C76WsxC3.js","snippetPresets-DvPMxpX_.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CuNQfndH.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BVFpVUoF.js","shallow-t59Jg5Kr.js","getApiPlaygroundDisplay-C_JZ4amX.js","CodeSnippet-CLRDnx_h.js","CodeSnippets-C2myU4kc.js","Page-7TwLLapg.js","getPastedJson-B-JaVXw7.js","icon-BA-iDhH3.js","MethodPill-D4qZABFp.js","DuplicateIcon-THIDKO1O.js","createIcon-CYYJwgFd.js","DynamicMarkdown-UGQuxDKp.js","SectionHeading-jYELb23h.js","axios-vUo_bRtp.js","Markdown-DKsLa3wy.js","clsx-CefdjKz2.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BaREnp3o.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-sgx_0XzF.js"]}