{"templateId":"markdown","versions":[{"version":"1.0","label":"v1.0","link":"/omni-api/overview","default":true,"active":true,"folderId":"6bec560c"}],"sharedDataIds":{"sidebar":"sidebar-omni-api/@1.0/overview/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Percents Omni API","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"percents-omni-api","__idx":0},"children":["Percents Omni API"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Percents Omni API is a server-to-server integration for issuers and channel partners that need to:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["discover the merchants and card-linked offers available to their program;"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["upload transaction files using an agreed public or private format; and"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["receive a signed result webhook after automated processing and required human review are complete."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The production documentation site is intended to be published at ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://omni-api-docs.percents.com"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"public-surface","__idx":1},"children":["Public surface"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The public API currently includes read-only merchant and offer endpoints, a presigned file-upload endpoint, the public ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["plaid-txn-stream"]}," input format, and the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["omni-txn-stream-result"]}," webhook."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Some partners have privately agreed file formats. Those formats may be accepted for an enabled issuer, but a format is not part of the public contract unless it appears in this documentation and the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/omni-api/api/openapi/omni-api"},"children":["Percents API reference"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"choose-a-path","__idx":2},"children":["Choose a path"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"If you need to..."},"children":["If you need to..."]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Start with..."},"children":["Start with..."]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Understand the integration lifecycle and environments"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/omni-api/overview/integration-overview"},"children":["Integration overview"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Make your first authenticated sandbox calls"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/omni-api/overview/quickstart"},"children":["Quickstart"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Configure credentials and issuer scope"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/omni-api/overview/authentication"},"children":["Authentication"]}," and ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/omni-api/overview/issuer-channel-network"},"children":["issuer setup"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Synchronize merchant and offer catalogs"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/omni-api/overview/offers/offers"},"children":["Offers and immutability"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Submit transaction files"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/omni-api/overview/file-uploads/overview"},"children":["File upload workflow"]}," and ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/omni-api/overview/file-uploads/plaid"},"children":["Plaid format"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Receive final processing results"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/omni-api/overview/webhooks/file-processing-results"},"children":["Result webhooks"]}," and ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/omni-api/overview/webhooks/signatures"},"children":["signature verification"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Explore exact operations and schemas"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/omni-api/api/openapi/omni-api"},"children":["Percents API"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Review contract changes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/omni-api/changelog"},"children":["Changelog"]}]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"recommended-implementation-order","__idx":3},"children":["Recommended implementation order"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Read ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/omni-api/overview/authentication"},"children":["Authentication"]}," and provide Percents with the source IPs that will call the API."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Complete the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/omni-api/overview/quickstart"},"children":["Quickstart"]}," using sandbox credentials."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Confirm the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/omni-api/overview/issuer-channel-network"},"children":["issuer-to-channel-network association"]},", then read ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/omni-api/overview/offers/offers"},"children":["Offers"]}," before storing or displaying offer terms."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["If uploading transactions, implement the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/omni-api/overview/file-uploads/overview"},"children":["upload workflow"]}," and ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/omni-api/overview/webhooks/file-processing-results"},"children":["result webhook"]}," together."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Never expose an issuer API token or webhook signing token in a browser, mobile application, logs, or source control."]}]},"headings":[{"value":"Percents Omni API","id":"percents-omni-api","depth":1},{"value":"Public surface","id":"public-surface","depth":2},{"value":"Choose a path","id":"choose-a-path","depth":2},{"value":"Recommended implementation order","id":"recommended-implementation-order","depth":2}],"frontmatter":{"seo":{"title":"Percents Omni API"}},"lastModified":"2026-08-11T01:21:48.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/omni-api/overview","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}