{"items":[{"type":"link","label":"Trigg Integrations API","link":"/openapi","routeSlug":"/openapi","content":{"contentType":"overview","meta":{"name":"Trigg Integrations API"},"children":[{"nodeType":"container","panels":[{"title":"Download OpenAPI description","titleTranslationKey":"download.description.title","children":[{"kind":"download","label":"openapi.json","url":"/_bundle/@v4/openapi.json?download"},{"kind":"download","label":"openapi.yaml","url":"/_bundle/@v4/openapi.yaml?download"}]},{"title":"Overview","titleTranslationKey":"info.title","children":[{"kind":"externallink","title":"URL","titleTranslationKey":"info.contact.url","label":"https://triggloyalty.com/","url":"https://triggloyalty.com/"},{"kind":"email","title":"E-mail","titleTranslationKey":"info.contact.name","email":"hello@triggloyalty.com","label":"hello@triggloyalty.com","withCopyButton":true,"copyContent":"hello@triggloyalty.com"}]},{"title":"Languages","titleTranslationKey":"languages.title","children":[{"kind":"languages","options":[{"key":"curl","title":"curl","lang":"curl"},{"key":"javascript","title":"JavaScript","lang":"JavaScript"},{"key":"node","title":"Node.js","lang":"Node.js"},{"key":"python","title":"Python","lang":"Python"},{"key":"java","title":"Java","lang":"Java"},{"key":"csharp","title":"C#","lang":"C#"},{"key":"php","title":"PHP","lang":"PHP"},{"key":"go","title":"Go","lang":"Go"},{"key":"ruby","title":"Ruby","lang":"Ruby"},{"key":"r","title":"R","lang":"R"},{"key":"payload","title":"Payload","lang":"Payload"}]}]},{"title":"Servers","titleTranslationKey":"servers.title","children":[{"kind":"servers","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"mode":"default"}]}],"children":[{"nodeType":"overview-section-wrapper","children":[{"nodeType":"header","level":1,"label":"Trigg Integrations API (4.3.4)","showPageActions":true},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This is the documentation for the current release of the Trigg Integrations API."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Current release: 2026-09-15 (v.4.3.4)"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"tag","tag":"admonition","inline":true,"attributes":{"type":"info","name":"Moved documentation"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" You are now viewing our new and improved API documentation.  "},"children":[]},{"$$mdtype":"Node","type":"tag","tag":"html","inline":true,"attributes":{"name":"p","attrs":{}},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" If you were redirected here from "},"children":[]},{"$$mdtype":"Node","type":"tag","tag":"html","inline":true,"attributes":{"name":"a","attrs":{"href":"https://dev.oip.oculos.no"}},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"https://dev.oip.oculos.no"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", please update your bookmarks to this new URL.  "},"children":[]}]}]}]}]}],"sectionId":"/openapi"}],"sectionId":"/openapi"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":1,"id":"section/overview"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Overview"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Welcome to the Trigg Integrations API documentation, a resource for better understanding of our integration platform."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This documentation is designed to be accessible and informative for both technical and sales professionals, ensuring that you can fully explore the capabilities and benefits of our API."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For technical experts, this documentation provides in-depth insights into the API endpoints, data structures, and integration possibilities. You'll find detailed explanations, code examples, and best practices to help you integrate our API into your applications and systems."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For sales persons and other non-technical stakeholders, this documentation offers a overview of the API's features, use cases, and potential business advantages."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"As the configuration of Trigg allows for a flexible request/reponse, only the standard data structures are displayed in this documentation."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If you have a customized configuration and need examples, please contact our support team or your sales person."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The API has two base URL's, one for production and one for testing."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"tag","tag":"html","inline":true,"attributes":{"name":"b","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Production:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"tag","tag":"html","inline":true,"attributes":{"name":"a","attrs":{"href":"https://api.oculos.no/v4"}},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"https://api.oculos.no/v4"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"tag","tag":"html","inline":true,"attributes":{"name":"b","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Staging:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"tag","tag":"html","inline":true,"attributes":{"name":"a","attrs":{"href":"https://api.staging.oculos.no/v4"}},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"https://api.staging.oculos.no/v4"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"We are excited to announce that our API now has a sandbox environment available!  This allows you to test and integrate our features in a safe and controlled setting."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To get your sandbox key, please contact us at "},"children":[]},{"$$mdtype":"Node","type":"tag","tag":"html","inline":true,"attributes":{"name":"a","attrs":{"href":"mailto:hello@triggloyalty.com"}},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"hello@triggloyalty.com"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}],"sectionId":"/openapi/section/overview"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":1,"id":"section/authentication"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authentication"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Our API is designed to be secure and efficient, and it requires an API key to authenticate your requests. In this short documentation, we'll guide you on how to use our API with the x-api-key header to ensure successful integration."},"children":[]}]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"h3","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"Step 1: Obtain Your API Key"},"children":[]}]},{"$$mdtype":"Node","type":"text","attributes":{"content":"\nBefore you can start using our API, you'll need to obtain an API key. This key acts as your access pass and is typically provided to you by your contact person. If you haven't received your API key, please reach out to our support team or your sales person.\n"},"children":[]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"h3","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"Step 2: Include the x-api-key Header"},"children":[]}]},{"$$mdtype":"Node","type":"text","attributes":{"content":"\nTo make authenticated requests to our API, you must include the API key in the header of your HTTP requests. Specifically, you should add the \"x-api-key\" header with your API key as its value. \n"},"children":[]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"x-api-key : <API KEY>"},"children":[]}]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"h3","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"Step 3 [OPTIONAL]: White list your IP address(es) for your production environment "},"children":[]}]},{"$$mdtype":"Node","type":"text","attributes":{"content":"\nAlthough this step is optional, we strongly encourage you to send us an list of your IP addresses that are in use in your production environment.\n"},"children":[]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This lets us configure Trigg to only allow access to your API account from those IP's."},"children":[]}]}]}]}],"sectionId":"/openapi/section/authentication"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":1,"id":"section/error-messages"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Error Messages"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The Trigg API returns a standarized detailed error message where it's possible. The structure of the error message looks like this:"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"{\n  \"code\" : \"409\",\n  \"message\" : \"Conflict\",\n  \"detailedErrorMessage\" : {\n\n  }\n}\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"{\n  \"code\" : \"409\",\n  \"message\" : \"Conflict\",\n  \"detailedErrorMessage\" : {\n\n  }\n}\n"},"children":[]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"detailedErrorMessage"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is fully dynamic and can contain a simple string aswell as a list of errors'."},"children":[]}]}]}]}],"sectionId":"/openapi/section/error-messages"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":1,"id":"section/terms-of-use"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Terms Of Use"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"By accessing or using our API (the \"Service\"), you agree to comply with these Terms of Use. Please read them carefully, as they govern your usage of our API."},"children":[]}]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"h3","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"API Usage"},"children":[]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You are granted a non-exclusive, non-transferable, limited license to access and use our API in accordance with these terms. You may only use the API for its intended purpose and in compliance with our guidelines and documentation."},"children":[]}]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"h3","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"API Key"},"children":[]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access to the API requires an API key. Keep your API key secure and do not share it with unauthorized parties. You are responsible for all actions performed using your API key. Ensure that the API key is not visible in any way in your application."},"children":[]}]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"h3","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"Prohibited Actions"},"children":[]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You may not use the API to engage in any illegal, harmful, or abusive activities. You may not decompile, reverse engineer, or attempt to gain unauthorized access to the API or our systems. You may not use the API in a way that could harm or interfere with our services, infrastructure, or other users."},"children":[]}]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"h3","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"Data Privacy"},"children":[]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When using our API, you may have access to user data. Ensure you handle such data in compliance with applicable data protection laws and our privacy policy."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"By using our API, you acknowledge that you have read, understood, and agreed to these Terms of Use. Failure to comply with these terms may result in the suspension or termination of your API access."},"children":[]}]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"h3","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"Functionality in preview"},"children":[]}]},{"$$mdtype":"Node","type":"text","attributes":{"content":"\nMethods marked with Preview in this API documentation are subject to change. \n"},"children":[]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"These methods are provided for early access to new features but may have limited support, and their behavior, parameters, or responses can be modified or deprecated without prior notice."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use these methods with caution in production environments, as changes may impact integration stability."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"It is recommended to regularly check the documentation for updates when utilizing preview features."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"We reserve the right to update these terms, so it is recommended to review them periodically for any changes."},"children":[]}]}]}]}],"sectionId":"/openapi/section/terms-of-use"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":1,"id":"section/rate-limits"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Rate Limits"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Trigg API does not have any rate limits, but some external systems integrated with Trigg may have."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Exceeding these limits may result in temporary access restrictions."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"We strongly recommend implementing a back-off strategy to handle rate limit exceeded responses. This strategy helps you avoid overloading our/external servers and ensures a smoother user experience."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If you are receving one of the following errors it's an indication of an issue with an external system."},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"{\n  \"code\" : \"429\",\n  \"message\" : \"Too Many Requests\",\n  \"detailedErrorMessage\" : {\n  }\n}\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"{\n  \"code\" : \"429\",\n  \"message\" : \"Too Many Requests\",\n  \"detailedErrorMessage\" : {\n  }\n}\n"},"children":[]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"{\n  \"code\" : \"502\",\n  \"message\" : \"Bad Gateway\",\n  \"detailedErrorMessage\" : {\n    \"gateway\" : \"Connection to backend system failed. System: [system_name]\",\n    \"gatewayMessage\" : \"Detailed error message here\"\n  }\n}\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"{\n  \"code\" : \"502\",\n  \"message\" : \"Bad Gateway\",\n  \"detailedErrorMessage\" : {\n    \"gateway\" : \"Connection to backend system failed. System: [system_name]\",\n    \"gatewayMessage\" : \"Detailed error message here\"\n  }\n}\n"},"children":[]}]}]}],"sectionId":"/openapi/section/rate-limits"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":1,"id":"section/tutorials"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Tutorials"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Coming soon."},"children":[]}]}]}]}],"sectionId":"/openapi/section/tutorials"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":1,"id":"section/webhooks"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Webhooks"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A webhook is a way for two different software applications to communicate with each other in real-time."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"It's like a notification system that triggers actions automatically when certain events occur."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Oculos can configure webhooks on request, please contact our support team for more information."},"children":[]}]}]}]}],"sectionId":"/openapi/section/webhooks"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":1,"id":"section/change-log"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Change Log"},"children":[]}]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"h3","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"September 2026"},"children":[]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"h4","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"2026-09-15"},"children":[]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bugfixes across the API."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Performance optimizations across the API."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"h3","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"June 2026"},"children":[]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"h4","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"2026-06-17"},"children":[]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Added new endpoint for checking if a customer is quarantined (https://dev.triggloyalty.com/openapi/customers/quarantine?mobilePhone={mobilePhone})"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Improved endpoint for listing historical promotions, the endpoint not only returns the promotions but also the promotion definition, store information and more. (https://dev.triggloyalty.com/openapi/promotions/redeemed/history/customerId/{customerId})"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Standardized endpoint summaries across the API to align with RESTful naming conventions."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"h3","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"March 2026"},"children":[]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"h4","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"2026-03-16"},"children":[]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"New Wallet endpoints available that generates authorized provisioning URLs for Apple Wallet and Google Wallet. This integration allows you to retrieve pass-links for promotions and memberships by passing a customer id, which can then be mapped directly to \"Add to Wallet\" buttons in your UI."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Added new integration against Agillic marketing automation platform."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Promotion definitions is out of preview"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"New endpoint added that allows to search customer by email [PREVIEW]  (https://dev.triggloyalty.com/openapi/customers/getcustomerbyemail)"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Minor bugfixes in API and documentation"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"h3","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"March 2025"},"children":[]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"h4","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"2025-03-03"},"children":[]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Added support for multi branding. This means that you can now run multiple brands on one account."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Added 422 quarantine status for the create customers method. This status is used when a customer is quarantined for a period of time."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Enable/disable promotions endpoints are now out of preview."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The property 'promotionDefinitionId' is now available on the promotion object. This property contains the id of the promotion definition that the promotion is based on."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"New endpoint for listing all promotion definitions. [PREVIEW] (https://dev.triggloyalty.com/openapi/promotions/getpromotionsdefinitions)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"New endpoint for listing of all active promotions thare are available to customers. [PREVIEW] (https://dev.triggloyalty.com/openapi/promotions/getpromotionscampaigns)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Added a module endpoint. This endpoint collects minor endpoints that are not directly related to the main endpoints."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Available modules:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"/modules/vehicles - endpoint for fetching and adding vehicles [PREVIEW] (https://dev.triggloyalty.com/openapi/modules/getvehiclesbycustomeridd)"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"h3","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"November 2024"},"children":[]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"h4","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"2024-11-19"},"children":[]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Added endpoints for enabling/disabling of promotions (in preview)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Added endpoint for transfering clips on loyalty cards between two existing customers (in preview)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Minor bugfixes"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Minor bugfixes in documentation"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"h3","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"June 2024"},"children":[]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"h4","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"2024-06-18"},"children":[]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Added endpoint for deleting a customer by external id"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Minor bugfixes in documentation"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"h3","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"May 2024"},"children":[]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"h4","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"2024-05-22"},"children":[]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Added an endpoint for returning all transactions resulting in a bonus reward (https://dev.triggloyalty.com/openapi/loyalty/getbonustransactions)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Added a list of promotions on the customer object when applicable. Please note that this list only will contain active promotions."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Added information to the documentation on how to mark a transaction as a return (https://dev.triggloyalty.com/openapi/transactions/addtransactions)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Minor bugfixes"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Improved performance"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"h4","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"2024-05-14"},"children":[]}]},{"$$mdtype":"Node","type":"text","attributes":{"content":"\nAdded new methods\n"},"children":[]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Get customer by externalId"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Update customer by externalId"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Minor bugfixes"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Improved performance"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"h3","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"April 2024"},"children":[]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"h4","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"2024-04-17"},"children":[]}]},{"$$mdtype":"Node","type":"text","attributes":{"content":"\nIntroduced dynamic methods on the customers and promotions endpoints\n"},"children":[]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"h3","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"March 2024"},"children":[]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"h4","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"2024-03-19"},"children":[]}]},{"$$mdtype":"Node","type":"text","attributes":{"content":"\nRelease of v4\n"},"children":[]}]}],"sectionId":"/openapi/section/change-log"}]}]}},{"type":"link","label":"Overview","link":"/openapi/section/overview","routeSlug":"/openapi/section/overview","content":null},{"type":"link","label":"Authentication","link":"/openapi/section/authentication","routeSlug":"/openapi/section/authentication","content":null},{"type":"link","label":"Error Messages","link":"/openapi/section/error-messages","routeSlug":"/openapi/section/error-messages","content":null},{"type":"link","label":"Terms Of Use","link":"/openapi/section/terms-of-use","routeSlug":"/openapi/section/terms-of-use","content":null},{"type":"link","label":"Rate Limits","link":"/openapi/section/rate-limits","routeSlug":"/openapi/section/rate-limits","content":null},{"type":"link","label":"Tutorials","link":"/openapi/section/tutorials","routeSlug":"/openapi/section/tutorials","content":null},{"type":"link","label":"Webhooks","link":"/openapi/section/webhooks","routeSlug":"/openapi/section/webhooks","content":null},{"type":"link","label":"Change Log","link":"/openapi/section/change-log","routeSlug":"/openapi/section/change-log","content":null},{"type":"group","label":"Affiliates","link":"/openapi/affiliates","routeSlug":"/openapi/affiliates","items":[{"label":"List Affiliates [PREVIEW]","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/affiliates/getaffiliates","routeSlug":"/openapi/affiliates/getaffiliates","metadata":{"seo":{"title":"List Affiliates [PREVIEW]","description":"Returns a list of all available affiliates"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getAffiliates","name":"List Affiliates [PREVIEW]","isWebhook":false,"pointer":"/paths/~1affiliates/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List Affiliates [PREVIEW]","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Returns a list of all available affiliates"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/affiliates","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/affiliates","href":"affiliates/getaffiliates","openApiOperationId":"getAffiliates","summary":"List Affiliates [PREVIEW]"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AffiliatesResponse"}},"schemaId":"components/schemas/AffiliatesResponse"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos"}],"pointer":"/paths/~1affiliates/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/AffiliatesResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AffiliatesResponse"}}},{"code":"400"},{"code":"401"},{"code":"403"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/affiliates/getaffiliates"}],"panels":[]}]},"httpPath":"/affiliates"}],"content":{"contentType":"group","meta":{"name":"Affiliates"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Affiliates","showPageActions":true},{"nodeType":"markdoc","content":"Endpoints for managing affiliates. \n\nThe affiliate endpoints currenly allows you to retrieve information about affiliates."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/affiliates","summary":"List Affiliates [PREVIEW]","prefix":{"name":"get","color":"get"},"badges":[],"link":"/affiliates/getaffiliates","deprecated":false}]}]}]}]}},{"type":"group","label":"Abandoned carts","link":"/openapi/abandoned-carts","routeSlug":"/openapi/abandoned-carts","items":[{"label":"Create or update a cart","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/abandoned-carts/createcart","routeSlug":"/openapi/abandoned-carts/createcart","metadata":{"seo":{"title":"Create or update a cart","description":"Creates or updates a cart."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createCart","name":"Create or update a cart","isWebhook":false,"pointer":"/paths/~1abandonedCarts/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create or update a cart","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Creates or updates a cart."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"As with many other endpoints, the payload is configurable and can contain additional data in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"extendedProperties"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To update a cart, use the same cartId as an existing cart."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CartRequest"}},"schemaId":"components/schemas/CartRequest","pointer":"/paths/~1abandonedCarts/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/abandonedCarts","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/CartRequest"}},"responseCodes":["200","400","401","403"],"pointer":"/abandonedCarts","href":"abandoned-carts/createcart","openApiOperationId":"createCart","summary":"Create or update a cart"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"schemaId":"components/schemas/CartRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CartRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos"}],"pointer":"/paths/~1abandonedCarts/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/abandoned-carts/createcart"}],"panels":[]}]},"httpPath":"/abandonedCarts"},{"label":"Empty cart","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/abandoned-carts/emptycart","routeSlug":"/openapi/abandoned-carts/emptycart","metadata":{"seo":{"title":"Empty cart","description":"Method that allows the client to empty a stored cart"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"emptyCart","name":"Empty cart","isWebhook":false,"pointer":"/paths/~1abandonedCarts/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Empty cart","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Method that allows the client to empty a stored cart"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/EmptyCartRequest"}},"schemaId":"components/schemas/EmptyCartRequest","pointer":"/paths/~1abandonedCarts/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/abandonedCarts","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/EmptyCartRequest"}},"responseCodes":["200","400","401","403"],"pointer":"/abandonedCarts","href":"abandoned-carts/emptycart","openApiOperationId":"emptyCart","summary":"Empty cart"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"schemaId":"components/schemas/EmptyCartRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/EmptyCartRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos"}],"pointer":"/paths/~1abandonedCarts/put/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/abandoned-carts/emptycart"}],"panels":[]}]},"httpPath":"/abandonedCarts"}],"content":{"contentType":"group","meta":{"name":"Abandoned carts"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Abandoned carts","showPageActions":true},{"nodeType":"markdoc","content":"Endpoints for managing abandoned carts\n\nAn abandoned cart function helps businesses track when online shoppers add items to their virtual shopping carts but leave the website or app without completing their purchase. \n\nIt captures data about these abandoned carts, including the specific products left behind and, when available, the customer's contact information."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/abandonedCarts","summary":"Create or update a cart","prefix":{"name":"post","color":"post"},"badges":[],"link":"/abandoned-carts/createcart","deprecated":false},{"title":"/abandonedCarts","summary":"Empty cart","prefix":{"name":"put","color":"put"},"badges":[],"link":"/abandoned-carts/emptycart","deprecated":false}]}]}]}]}},{"type":"group","label":"Customers","link":"/openapi/customers","routeSlug":"/openapi/customers","items":[{"label":"Get Customer by Mobile Phone","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/customers/getcustomerbymobilephone","routeSlug":"/openapi/customers/getcustomerbymobilephone","metadata":{"seo":{"title":"Get Customer by Mobile Phone","description":"This method allows the client to search for a customer by a mobile phone number."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getCustomerByMobilePhone","name":"Get Customer by Mobile Phone","isWebhook":false,"pointer":"/paths/~1customers/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Customer by Mobile Phone","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This method allows the client to search for a customer by a mobile phone number."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Example: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"+4712345678"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The response sample below shows the default response, but depending on your configuration the API may return additional fields in the extendedProperties object."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"mobilePhone","in":"query","schemaId":"schema_17","description":"The customers mobile phone number","required":true}],"pointer":"/paths/~1customers/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/customers","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[],"query":[{"name":"mobilePhone","in":"query","required":true,"schemaId":"schema_17"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","404","422"],"pointer":"/customers","href":"customers/getcustomerbymobilephone","openApiOperationId":"getCustomerByMobilePhone","summary":"Get Customer by Mobile Phone"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CustomerResponse"}},"schemaId":"components/schemas/CustomerResponse"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"404","description":"Customer Not Found"},{"code":"422","description":"Unprocessable Entity"}],"pointer":"/paths/~1customers/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/CustomerResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CustomerResponse"}}},{"code":"400"},{"code":"401"},{"code":"404"},{"code":"422"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/customers/getcustomerbymobilephone"}],"panels":[]}]},"httpPath":"/customers"},{"label":"Create Customer","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/customers/createcustomer","routeSlug":"/openapi/customers/createcustomer","metadata":{"seo":{"title":"Create Customer","description":"The request sample(s) below shows the default payload and one minimum required payload."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createCustomer","name":"Create Customer","isWebhook":false,"pointer":"/paths/~1customers/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create Customer","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"The request sample(s) below shows the default payload and one minimum required payload. \n\nDepending on your configuration, the API may take or return additional fields in the extendedProperties object. For specific examples reach out to your technical contact.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_18"}},"schemaId":"schema_18","pointer":"/paths/~1customers/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/customers","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_18"}},"responseCodes":["201","400","401","409"],"pointer":"/customers","href":"customers/createcustomer","openApiOperationId":"createCustomer","summary":"Create Customer"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"schemaId":"schema_18","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_18"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Created","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CustomerResponse"}},"schemaId":"components/schemas/CustomerResponse"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"409","description":"Conflict"}],"pointer":"/paths/~1customers/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"components/schemas/CustomerResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CustomerResponse"}}},{"code":"400"},{"code":"401"},{"code":"409"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/customers/createcustomer"}],"panels":[]}]},"httpPath":"/customers"},{"label":"Update Customer","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/customers/updatecustomer","routeSlug":"/openapi/customers/updatecustomer","metadata":{"seo":{"title":"Update Customer","description":"The request sample(s) below shows the default payload and one minimum required payload."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateCustomer","name":"Update Customer","isWebhook":false,"pointer":"/paths/~1customers/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update Customer","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"The request sample(s) below shows the default payload and one minimum required payload. \n\nDepending on your configuration, the API may take or return additional fields in the extendedProperties object. For specific examples reach out to your technical contact.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_19"}},"schemaId":"schema_19","pointer":"/paths/~1customers/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/customers","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_19"}},"responseCodes":["200","400","401","409"],"pointer":"/customers","href":"customers/updatecustomer","openApiOperationId":"updateCustomer","summary":"Update Customer"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"schemaId":"schema_19","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_19"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CustomerResponse"}},"schemaId":"components/schemas/CustomerResponse"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"409","description":"Conflict"}],"pointer":"/paths/~1customers/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/CustomerResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CustomerResponse"}}},{"code":"400"},{"code":"401"},{"code":"409"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/customers/updatecustomer"}],"panels":[]}]},"httpPath":"/customers"},{"label":"Update Customer by External ID","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/customers/updatecustomerbyexternalid","routeSlug":"/openapi/customers/updatecustomerbyexternalid","metadata":{"seo":{"title":"Update Customer by External ID","description":"The request sample(s) below shows the default payload and one minimum required payload."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateCustomerByExternalId","name":"Update Customer by External ID","isWebhook":false,"pointer":"/paths/~1customers~1externalId/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update Customer by External ID","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"The request sample(s) below shows the default payload and one minimum required payload. \n\nDepending on your configuration, the API may take or return additional fields in the extendedProperties object. For specific examples reach out to your technical contact.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_20"}},"schemaId":"schema_20","pointer":"/paths/~1customers~1externalId/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/customers/externalId","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_20"}},"responseCodes":["200","400","401","409"],"pointer":"/customers/externalId","href":"customers/updatecustomerbyexternalid","openApiOperationId":"updateCustomerByExternalId","summary":"Update Customer by External ID"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"schemaId":"schema_20","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_20"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CustomerResponse"}},"schemaId":"components/schemas/CustomerResponse"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"409","description":"Conflict"}],"pointer":"/paths/~1customers~1externalId/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/CustomerResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CustomerResponse"}}},{"code":"400"},{"code":"401"},{"code":"409"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/customers/updatecustomerbyexternalid"}],"panels":[]}]},"httpPath":"/customers/externalId"},{"label":"Get Customer by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/customers/getcustomerbyid","routeSlug":"/openapi/customers/getcustomerbyid","metadata":{"seo":{"title":"Get Customer by ID","description":"This method allows the client to search for a customer by a unique id"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getCustomerById","name":"Get Customer by ID","isWebhook":false,"pointer":"/paths/~1customers~1id~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Customer by ID","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This method allows the client to search for a customer by a unique id"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Example: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"226B14AF-18A6-44CF-834E-BE4BCA5D64B7"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The response sample below shows the default response, but depending on your configuration the API may return additional fields in the extendedProperties object."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_17","description":"The customers id","required":true}],"pointer":"/paths/~1customers~1id~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/customers/id/{id}","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_17"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","404"],"pointer":"/customers/id/{id}","href":"customers/getcustomerbyid","openApiOperationId":"getCustomerById","summary":"Get Customer by ID"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CustomerResponse"}},"schemaId":"components/schemas/CustomerResponse"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"404","description":"Customer Not Found"}],"pointer":"/paths/~1customers~1id~1{id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/CustomerResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CustomerResponse"}}},{"code":"400"},{"code":"401"},{"code":"404"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/customers/getcustomerbyid"}],"panels":[]}]},"httpPath":"/customers/id/{id}"},{"label":"Get Customer by External ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/customers/getcustomerbyexternalid","routeSlug":"/openapi/customers/getcustomerbyexternalid","metadata":{"seo":{"title":"Get Customer by External ID","description":"This method allows the client to search for a customer by an external Id"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getCustomerByExternalId","name":"Get Customer by External ID","isWebhook":false,"pointer":"/paths/~1customers~1externalId~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Customer by External ID","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This method allows the client to search for a customer by an external Id"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Example: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"B9012E40-1B08-4DC5-84F9-BB8E2653B2A6"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The response sample below shows the default response, but depending on your configuration the API may return additional fields in the extendedProperties object."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_17","description":"The customers external id","required":true}],"pointer":"/paths/~1customers~1externalId~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/customers/externalId/{id}","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_17"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","404"],"pointer":"/customers/externalId/{id}","href":"customers/getcustomerbyexternalid","openApiOperationId":"getCustomerByExternalId","summary":"Get Customer by External ID"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CustomerResponse"}},"schemaId":"components/schemas/CustomerResponse"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"404","description":"Customer Not Found"}],"pointer":"/paths/~1customers~1externalId~1{id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/CustomerResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CustomerResponse"}}},{"code":"400"},{"code":"401"},{"code":"404"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/customers/getcustomerbyexternalid"}],"panels":[]}]},"httpPath":"/customers/externalId/{id}"},{"label":"List Changed Customers","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/customers/getchangedcustomerslist","routeSlug":"/openapi/customers/getchangedcustomerslist","metadata":{"seo":{"title":"List Changed Customers","description":"Returns a list of changed customers since given timestamp. Default (empty parameter) is since last day."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getChangedCustomersList","name":"List Changed Customers","isWebhook":false,"pointer":"/paths/~1customers~1changed~1{timestamp}/get","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List Changed Customers","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Returns a list of changed customers since given timestamp. Default (empty parameter) is since last day."},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"timestamp","in":"path","schemaId":"schema_17","description":"Timestamp in format (TODO)","example":"20240101T2210"}],"pointer":"/paths/~1customers~1changed~1{timestamp}/get/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_18"}},"schemaId":"schema_18","pointer":"/paths/~1customers~1changed~1{timestamp}/get/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/customers/changed/{timestamp}","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[{"name":"timestamp","in":"path","required":false,"example":"20240101T2210","schemaId":"schema_17"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_18"}},"responseCodes":["200","400","401","409"],"pointer":"/customers/changed/{timestamp}","href":"customers/getchangedcustomerslist","openApiOperationId":"getChangedCustomersList","summary":"List Changed Customers"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"schemaId":"schema_18","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_18"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CustomerResponse"}},"schemaId":"components/schemas/CustomerResponse"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"409","description":"Conflict"}],"pointer":"/paths/~1customers~1changed~1{timestamp}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/CustomerResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CustomerResponse"}}},{"code":"400"},{"code":"401"},{"code":"409"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/customers/getchangedcustomerslist"}],"panels":[]}]},"httpPath":"/customers/changed/{timestamp}"},{"label":"Delete Customer","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/customers/deletecustomer","routeSlug":"/openapi/customers/deletecustomer","metadata":{"seo":{"title":"Delete Customer","description":"Method that let's you delete a customer by Id"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteCustomer","name":"Delete Customer","isWebhook":false,"pointer":"/paths/~1customers~1id~1{id}~1source~1{source}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete Customer","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Method that let's you delete a customer by Id"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_17","description":"Id of member","required":true},{"name":"source","in":"path","schemaId":"schema_17","description":"Description of origin for the request. \n\nExample values: ECOM, POS, MyPage etc.\n","required":true}],"pointer":"/paths/~1customers~1id~1{id}~1source~1{source}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/customers/id/{id}/source/{source}","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_17"},{"name":"source","in":"path","required":true,"schemaId":"schema_17"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","404"],"pointer":"/customers/id/{id}/source/{source}","href":"customers/deletecustomer","openApiOperationId":"deleteCustomer","summary":"Delete Customer"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"404","description":"Member Not Found"}],"pointer":"/paths/~1customers~1id~1{id}~1source~1{source}/delete/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/customers/deletecustomer"}],"panels":[]}]},"httpPath":"/customers/id/{id}/source/{source}"},{"label":"Delete Customer by External ID","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/customers/deletecustomerbyexternalid","routeSlug":"/openapi/customers/deletecustomerbyexternalid","metadata":{"seo":{"title":"Delete Customer by External ID","description":"Method that let's you delete a customer by an external id"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteCustomerByExternalId","name":"Delete Customer by External ID","isWebhook":false,"pointer":"/paths/~1customers~1externalId~1{externalId}~1source~1{source}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete Customer by External ID","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Method that let's you delete a customer by an external id"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"externalId","in":"path","schemaId":"schema_17","description":"External id of member","required":true},{"name":"source","in":"path","schemaId":"schema_17","description":"Description of origin for the request. \n\nExample values: ECOM, POS, MyPage etc.\n","required":true}],"pointer":"/paths/~1customers~1externalId~1{externalId}~1source~1{source}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/customers/externalId/{externalId}/source/{source}","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[{"name":"externalId","in":"path","required":true,"schemaId":"schema_17"},{"name":"source","in":"path","required":true,"schemaId":"schema_17"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","404"],"pointer":"/customers/externalId/{externalId}/source/{source}","href":"customers/deletecustomerbyexternalid","openApiOperationId":"deleteCustomerByExternalId","summary":"Delete Customer by External ID"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"404","description":"Member Not Found"}],"pointer":"/paths/~1customers~1externalId~1{externalId}~1source~1{source}/delete/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/customers/deletecustomerbyexternalid"}],"panels":[]}]},"httpPath":"/customers/externalId/{externalId}/source/{source}"},{"label":"Get Customer by Email [PREVIEW]","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/customers/getcustomerbyemail","routeSlug":"/openapi/customers/getcustomerbyemail","metadata":{"seo":{"title":"Get Customer by Email [PREVIEW]","description":"This method allows the client to search for a customer by email address"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getCustomerByEmail","name":"Get Customer by Email [PREVIEW]","isWebhook":false,"pointer":"/paths/~1customers~1email~1{email}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Customer by Email [PREVIEW]","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This method allows the client to search for a customer by email address"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Note: Special characters such as '+'' must be encoded. Example: +=%2B"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The response sample below shows the default response, but depending on your configuration the API may return additional fields in the extendedProperties object."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"email","in":"path","schemaId":"schema_17","description":"The customers email address","required":true}],"pointer":"/paths/~1customers~1email~1{email}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/customers/email/{email}","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[{"name":"email","in":"path","required":true,"schemaId":"schema_17"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/customers/email/{email}","href":"customers/getcustomerbyemail","openApiOperationId":"getCustomerByEmail","summary":"Get Customer by Email [PREVIEW]"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CustomerResponse"}},"schemaId":"components/schemas/CustomerResponse"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos"},{"code":"404","description":"Customer Not Found"}],"pointer":"/paths/~1customers~1email~1{email}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/CustomerResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CustomerResponse"}}},{"code":"400"},{"code":"401"},{"code":"403"},{"code":"404"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/customers/getcustomerbyemail"}],"panels":[]}]},"httpPath":"/customers/email/{email}"},{"label":"Create Prospect [PREVIEW]","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/customers/createprospect","routeSlug":"/openapi/customers/createprospect","metadata":{"seo":{"title":"Create Prospect [PREVIEW]","description":"This endpoint creates a new customer prospect record in the system. It accepts either email or mobilePhone in the request body and returns the created customer id upon success."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createProspect","name":"Create Prospect [PREVIEW]","isWebhook":false,"pointer":"/paths/~1customers~1prospects/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create Prospect [PREVIEW]","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"This endpoint creates a new customer prospect record in the system. It accepts either email or mobilePhone in the request body and returns the created customer id upon success.         \n\nDepending on your configuration, the API may take or return additional fields in the extendedProperties object. For specific examples reach out to your technical contact.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreateProspectRequest"}},"schemaId":"components/schemas/CreateProspectRequest","pointer":"/paths/~1customers~1prospects/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/customers/prospects","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/CreateProspectRequest"}},"responseCodes":["201","400","401","403","409"],"pointer":"/customers/prospects","href":"customers/createprospect","openApiOperationId":"createProspect","summary":"Create Prospect [PREVIEW]"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"schemaId":"components/schemas/CreateProspectRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreateProspectRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Created","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CustomerProspectResponse"}},"schemaId":"components/schemas/CustomerProspectResponse"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos"},{"code":"409","description":"Conflict"}],"pointer":"/paths/~1customers~1prospects/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"components/schemas/CustomerProspectResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CustomerProspectResponse"}}},{"code":"400"},{"code":"401"},{"code":"403"},{"code":"409"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/customers/createprospect"}],"panels":[]}]},"httpPath":"/customers/prospects"},{"label":"Execute Dynamic Customer Function","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/customers/postcustomerdynamic","routeSlug":"/openapi/customers/postcustomerdynamic","metadata":{"seo":{"title":"Execute Dynamic Customer Function","description":"This method is fully dynamic both in request/response and is available for specific client customizations on the customer endpoint."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"postCustomerDynamic","name":"Execute Dynamic Customer Function","isWebhook":false,"pointer":"/paths/~1customers~1dynamic~1{function}/post","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Execute Dynamic Customer Function","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"This method is fully dynamic both in request/response and is available for specific client customizations on the customer endpoint.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"function","in":"path","schemaId":"schema_17","description":"Your custom function name provided by Oculos","required":true}],"pointer":"/paths/~1customers~1dynamic~1{function}/post/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/customers/dynamic/{function}","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[{"name":"function","in":"path","required":true,"schemaId":"schema_17"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","404"],"pointer":"/customers/dynamic/{function}","href":"customers/postcustomerdynamic","openApiOperationId":"postCustomerDynamic","summary":"Execute Dynamic Customer Function"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/DynamicResponse"}},"schemaId":"components/schemas/DynamicResponse"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"404","description":"Function Not Found"}],"pointer":"/paths/~1customers~1dynamic~1{function}/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/DynamicResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/DynamicResponse"}}},{"code":"400"},{"code":"401"},{"code":"404"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/customers/postcustomerdynamic"}],"panels":[]}]},"httpPath":"/customers/dynamic/{function}"},{"label":"Check Customer Quarantine Status","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/customers/getcustomerquarantinestatus","routeSlug":"/openapi/customers/getcustomerquarantinestatus","metadata":{"seo":{"title":"Check Customer Quarantine Status","description":"Check if a customer is quarantined by providing their mobile phone number."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getCustomerQuarantineStatus","name":"Check Customer Quarantine Status","isWebhook":false,"pointer":"/paths/~1customers~1quarantine/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Check Customer Quarantine Status","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Check if a customer is quarantined by providing their mobile phone number.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"mobilePhone","in":"query","schemaId":"schema_17","description":"The mobile phone number of the customer","required":true}],"pointer":"/paths/~1customers~1quarantine/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/customers/quarantine","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[],"query":[{"name":"mobilePhone","in":"query","required":true,"schemaId":"schema_17"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/customers/quarantine","href":"customers/getcustomerquarantinestatus","openApiOperationId":"getCustomerQuarantineStatus","summary":"Check Customer Quarantine Status"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CustomerQuarantineResponse"}},"schemaId":"components/schemas/CustomerQuarantineResponse"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos"}],"pointer":"/paths/~1customers~1quarantine/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/CustomerQuarantineResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CustomerQuarantineResponse"}}},{"code":"400"},{"code":"401"},{"code":"403"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/customers/getcustomerquarantinestatus"}],"panels":[]}]},"httpPath":"/customers/quarantine"}],"content":{"contentType":"group","meta":{"name":"Customers"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Customers","showPageActions":true},{"nodeType":"markdoc","content":"The customers endpoint allows you to create, update or search for customers through various parameters depending on your configuration.\n\nDepending on your configuration, the API may take or return additional fields in the extendedProperties object. \n\nTo get an example of your specific integration, please contact our support team."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/customers","summary":"Get Customer by Mobile Phone","prefix":{"name":"get","color":"get"},"badges":[],"link":"/customers/getcustomerbymobilephone","deprecated":false},{"title":"/customers","summary":"Create Customer","prefix":{"name":"post","color":"post"},"badges":[],"link":"/customers/createcustomer","deprecated":false},{"title":"/customers","summary":"Update Customer","prefix":{"name":"put","color":"put"},"badges":[],"link":"/customers/updatecustomer","deprecated":false},{"title":"/customers/externalId","summary":"Update Customer by External ID","prefix":{"name":"put","color":"put"},"badges":[],"link":"/customers/updatecustomerbyexternalid","deprecated":false},{"title":"/customers/id/{id}","summary":"Get Customer by ID","prefix":{"name":"get","color":"get"},"badges":[],"link":"/customers/getcustomerbyid","deprecated":false},{"title":"/customers/externalId/{id}","summary":"Get Customer by External ID","prefix":{"name":"get","color":"get"},"badges":[],"link":"/customers/getcustomerbyexternalid","deprecated":false},{"title":"/customers/changed/{timestamp}","summary":"List Changed Customers","prefix":{"name":"get","color":"get"},"badges":[],"link":"/customers/getchangedcustomerslist","deprecated":false},{"title":"/customers/id/{id}/source/{source}","summary":"Delete Customer","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/customers/deletecustomer","deprecated":false},{"title":"/customers/externalId/{externalId}/source/{source}","summary":"Delete Customer by External ID","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/customers/deletecustomerbyexternalid","deprecated":false},{"title":"/customers/email/{email}","summary":"Get Customer by Email [PREVIEW]","prefix":{"name":"get","color":"get"},"badges":[],"link":"/customers/getcustomerbyemail","deprecated":false},{"title":"/customers/prospects","summary":"Create Prospect [PREVIEW]","prefix":{"name":"post","color":"post"},"badges":[],"link":"/customers/createprospect","deprecated":false},{"title":"/customers/dynamic/{function}","summary":"Execute Dynamic Customer Function","prefix":{"name":"post","color":"post"},"badges":[],"link":"/customers/postcustomerdynamic","deprecated":false},{"title":"/customers/quarantine","summary":"Check Customer Quarantine Status","prefix":{"name":"get","color":"get"},"badges":[],"link":"/customers/getcustomerquarantinestatus","deprecated":false}]}]}]}]}},{"type":"group","label":"Consents","link":"/openapi/consents","routeSlug":"/openapi/consents","items":[{"label":"List Consents","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/consents/getconsents","routeSlug":"/openapi/consents/getconsents","metadata":{"seo":{"title":"List Consents","description":"Returns a list of all available consents"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getConsents","name":"List Consents","isWebhook":false,"pointer":"/paths/~1consents/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List Consents","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Returns a list of all available consents"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/consents","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401"],"pointer":"/consents","href":"consents/getconsents","openApiOperationId":"getConsents","summary":"List Consents"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetConsentsReponse"}},"schemaId":"components/schemas/GetConsentsReponse"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"}],"pointer":"/paths/~1consents/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/GetConsentsReponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetConsentsReponse"}}},{"code":"400"},{"code":"401"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/consents/getconsents"}],"panels":[]}]},"httpPath":"/consents"}],"content":{"contentType":"group","meta":{"name":"Consents"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Consents","showPageActions":true},{"nodeType":"markdoc","content":"Endpoint that lists all available consents for a client.\n\nDepending on your configuration, the API may take or return additional fields in the extendedProperties object. \n\nTo get an example of your specific integration, please contact our support team."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/consents","summary":"List Consents","prefix":{"name":"get","color":"get"},"badges":[],"link":"/consents/getconsents","deprecated":false}]}]}]}]}},{"type":"group","label":"Data Enrichment","link":"/openapi/data-enrichment","routeSlug":"/openapi/data-enrichment","items":[{"label":"Enrich and Redirect Customer","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/data-enrichment/enrichmentfromschema","routeSlug":"/openapi/data-enrichment/enrichmentfromschema","metadata":{"seo":{"title":"Enrich and Redirect Customer","description":"This endpoints automatically enriches a member by thats already stored in the MA-system."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"enrichmentFromSchema","name":"Enrich and Redirect Customer","isWebhook":false,"pointer":"/paths/~1dataenrichment~1forms~1{clientName}~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Enrich and Redirect Customer","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"This endpoints automatically enriches a member by thats already stored in the MA-system. \n\nThe endpoints fetches the member from the MA-system, enriches it's data, updates and redirects back to a pre-configured URL.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"clientName","in":"path","schemaId":"schema_17","description":"Client identifier, provided by Oculos.","required":true},{"name":"id","in":"path","schemaId":"schema_17","description":"Id of member","required":true}],"pointer":"/paths/~1dataenrichment~1forms~1{clientName}~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/dataenrichment/forms/{clientName}/{id}","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[{"name":"clientName","in":"path","required":true,"schemaId":"schema_17"},{"name":"id","in":"path","required":true,"schemaId":"schema_17"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["302","400","403","404"],"pointer":"/dataenrichment/forms/{clientName}/{id}","href":"data-enrichment/enrichmentfromschema","openApiOperationId":"enrichmentFromSchema","summary":"Enrich and Redirect Customer"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"302","description":"Found - the member is found and enriched, redirecting to pre-configured URL."},{"code":"400","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos"},{"code":"404","description":"Member not found"}],"pointer":"/paths/~1dataenrichment~1forms~1{clientName}~1{id}/get/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/data-enrichment/enrichmentfromschema"}],"panels":[]}]},"httpPath":"/dataenrichment/forms/{clientName}/{id}"},{"label":"Discover Customer by Phone Number","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/data-enrichment/discovercustomerbyphone","routeSlug":"/openapi/data-enrichment/discovercustomerbyphone","metadata":{"seo":{"title":"Discover Customer by Phone Number","description":"Looks up a mobile phone number and tries to discover owner data through 3rd party services."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"discoverCustomerByPhone","name":"Discover Customer by Phone Number","isWebhook":false,"pointer":"/paths/~1data-enrichment~1mobilePhone~1{mobilePhone}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Discover Customer by Phone Number","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Looks up a mobile phone number and tries to discover owner data through 3rd party services."},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"mobilePhone","in":"path","schemaId":"schema_17","description":"Phone number to lookup","required":true}],"pointer":"/paths/~1data-enrichment~1mobilePhone~1{mobilePhone}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/data-enrichment/mobilePhone/{mobilePhone}","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[{"name":"mobilePhone","in":"path","required":true,"schemaId":"schema_17"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/data-enrichment/mobilePhone/{mobilePhone}","href":"data-enrichment/discovercustomerbyphone","openApiOperationId":"discoverCustomerByPhone","summary":"Discover Customer by Phone Number"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/DiscoverMemberResponse"}},"schemaId":"components/schemas/DiscoverMemberResponse"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos"}],"pointer":"/paths/~1data-enrichment~1mobilePhone~1{mobilePhone}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/DiscoverMemberResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/DiscoverMemberResponse"}}},{"code":"400"},{"code":"401"},{"code":"403"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/data-enrichment/discovercustomerbyphone"}],"panels":[]}]},"httpPath":"/data-enrichment/mobilePhone/{mobilePhone}"},{"label":"Discover Customer by SSN","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/data-enrichment/discovercustomerbyssn","routeSlug":"/openapi/data-enrichment/discovercustomerbyssn","metadata":{"seo":{"title":"Discover Customer by SSN","description":"This method let's you retreive information on a member based on their SSN"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"discoverCustomerBySSN","name":"Discover Customer by SSN","isWebhook":false,"pointer":"/paths/~1data-enrichment~1ssn~1{ssn}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Discover Customer by SSN","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"This method let's you retreive information on a member based on their SSN"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"ssn","in":"path","schemaId":"schema_17","description":"SSN number to lookup","required":true}],"pointer":"/paths/~1data-enrichment~1ssn~1{ssn}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/data-enrichment/ssn/{ssn}","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[{"name":"ssn","in":"path","required":true,"schemaId":"schema_17"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/data-enrichment/ssn/{ssn}","href":"data-enrichment/discovercustomerbyssn","openApiOperationId":"discoverCustomerBySSN","summary":"Discover Customer by SSN"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/DiscoverMemberResponse"}},"schemaId":"components/schemas/DiscoverMemberResponse"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos"}],"pointer":"/paths/~1data-enrichment~1ssn~1{ssn}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/DiscoverMemberResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/DiscoverMemberResponse"}}},{"code":"400"},{"code":"401"},{"code":"403"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/data-enrichment/discovercustomerbyssn"}],"panels":[]}]},"httpPath":"/data-enrichment/ssn/{ssn}"}],"content":{"contentType":"group","meta":{"name":"Data Enrichment"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Data Enrichment","showPageActions":true},{"nodeType":"markdoc","content":"Endpoint that lets you enrich member data ."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/dataenrichment/forms/{clientName}/{id}","summary":"Enrich and Redirect Customer","prefix":{"name":"get","color":"get"},"badges":[],"link":"/data-enrichment/enrichmentfromschema","deprecated":false},{"title":"/data-enrichment/mobilePhone/{mobilePhone}","summary":"Discover Customer by Phone Number","prefix":{"name":"get","color":"get"},"badges":[],"link":"/data-enrichment/discovercustomerbyphone","deprecated":false},{"title":"/data-enrichment/ssn/{ssn}","summary":"Discover Customer by SSN","prefix":{"name":"get","color":"get"},"badges":[],"link":"/data-enrichment/discovercustomerbyssn","deprecated":false}]}]}]}]}},{"type":"group","label":"Health","link":"/openapi/health","routeSlug":"/openapi/health","items":[{"label":"Ping","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/health/oiphealthping","routeSlug":"/openapi/health/oiphealthping","metadata":{"seo":{"title":"Ping","description":"Ping OIP with a 200 GET request to check system status."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"oipHealthPing","name":"Ping","isWebhook":false,"pointer":"/paths/~1health~1ping/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Ping","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Ping OIP with a 200 GET request to check system status. \n\nThis endpoint does not require authentication.\n"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/health/ping","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","404"],"pointer":"/health/ping","href":"health/oiphealthping","openApiOperationId":"oipHealthPing","summary":"Ping"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success"},{"code":"404","description":"Not Found"}],"pointer":"/paths/~1health~1ping/get/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/health/oiphealthping"}],"panels":[]}]},"httpPath":"/health/ping"}],"content":{"contentType":"group","meta":{"name":"Health"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Health","showPageActions":true},{"nodeType":"markdoc","content":"Endpoint for checking the Trigg API health status.\n\nWith these endpoint(s) you can make a request to Trigg to get a quick system status."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/health/ping","summary":"Ping","prefix":{"name":"get","color":"get"},"badges":[],"link":"/health/oiphealthping","deprecated":false}]}]}]}]}},{"type":"group","label":"Import","link":"/openapi/import","routeSlug":"/openapi/import","items":[{"label":"Import","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/import/import_data","routeSlug":"/openapi/import/import_data","metadata":{"seo":{"title":"Import","description":"Imports data into OIP by the body request, this method accepts various formats such as JSON, XML, CSV etc."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"import_data","name":"Import","isWebhook":false,"pointer":"/paths/~1import/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Import","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Imports data into OIP by the body request, this method accepts various formats such as JSON, XML, CSV etc. \n\nThis method may have to be configured by Oculos before usage and the examples below is just an illustration of payload as the endpoint is fully dynamic.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/GenericImportRequest"}},"schemaId":"components/schemas/GenericImportRequest","pointer":"/paths/~1import/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/import","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/GenericImportRequest"}},"responseCodes":["200","400","401","403"],"pointer":"/import","href":"import/import_data","openApiOperationId":"import_data","summary":"Import"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"schemaId":"components/schemas/GenericImportRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/GenericImportRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos"}],"pointer":"/paths/~1import/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/import/import_data"}],"panels":[]}]},"httpPath":"/import"},{"label":"Form import","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/import/import_form","routeSlug":"/openapi/import/import_form","metadata":{"seo":{"title":"Form import","description":"Imports data into OIP from a form using the application/x-www-form-urlencoded content type."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"import_form","name":"Form import","isWebhook":false,"pointer":"/paths/~1import~1form/post","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Form import","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Imports data into OIP from a form using the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/x-www-form-urlencoded"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" content type."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The endpoint may have to be configured by Oculos before usage."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/import/form","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/import/form","href":"import/import_form","openApiOperationId":"import_form","summary":"Form import"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos"}],"pointer":"/paths/~1import~1form/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/import/import_form"}],"panels":[]}]},"httpPath":"/import/form"},{"label":"File import","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/import/import_file","routeSlug":"/openapi/import/import_file","metadata":{"seo":{"title":"File import","description":"Imports a file into OIP."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"import_file","name":"File import","isWebhook":false,"pointer":"/paths/~1import~1file/post","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"File import","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Imports a file into OIP."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use multipart/form-data with a required field file (the file to upload)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Curl example:"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"curl -X POST \"http://api.oculos.no/v4/import/file\" -F \"file=@path/to/your/file.txt\""},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint may have to be configured by Oculos before usage."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/import/file","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["202","400","401","403"],"pointer":"/import/file","href":"import/import_file","openApiOperationId":"import_file","summary":"File import"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"202","description":"Accepted"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos"}],"pointer":"/paths/~1import~1file/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/import/import_file"}],"panels":[]}]},"httpPath":"/import/file"}],"content":{"contentType":"group","meta":{"name":"Import"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Import","showPageActions":true},{"nodeType":"markdoc","content":"Endpoint that provides methods for importing data, typically in batches into Trigg.\n\nIn this endpoint we can receive many formats and types, such as JSON and XML requests. \n\nTo get an example of your specific integration, please contact our support team."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/import","summary":"Import","prefix":{"name":"post","color":"post"},"badges":[],"link":"/import/import_data","deprecated":false},{"title":"/import/form","summary":"Form import","prefix":{"name":"post","color":"post"},"badges":[],"link":"/import/import_form","deprecated":false},{"title":"/import/file","summary":"File import","prefix":{"name":"post","color":"post"},"badges":[],"link":"/import/import_file","deprecated":false}]}]}]}]}},{"type":"group","label":"Loyalty","link":"/openapi/loyalty","routeSlug":"/openapi/loyalty","items":[{"label":"List Bonus Campaigns","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/loyalty/getbonuscampaigns","routeSlug":"/openapi/loyalty/getbonuscampaigns","metadata":{"seo":{"title":"List Bonus Campaigns","description":"Methods that returns all current bonus campaigns."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getBonusCampaigns","name":"List Bonus Campaigns","isWebhook":false,"pointer":"/paths/~1loyalty~1bonus~1campaigns~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List Bonus Campaigns","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Methods that returns all current bonus campaigns. \n\nThe id parameters is optional and can be used to return\nall campaigns for a specific member.\n\nThe return object is dynamic and can vary between clients, the example below shows the most common types of fields.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_17","description":"Id of member"}],"pointer":"/paths/~1loyalty~1bonus~1campaigns~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/loyalty/bonus/campaigns/{id}","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[{"name":"id","in":"path","required":false,"schemaId":"schema_17"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/loyalty/bonus/campaigns/{id}","href":"loyalty/getbonuscampaigns","openApiOperationId":"getBonusCampaigns","summary":"List Bonus Campaigns"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetBonusCampaignsResponse"}},"schemaId":"components/schemas/GetBonusCampaignsResponse"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos"},{"code":"404","description":"Member not found"}],"pointer":"/paths/~1loyalty~1bonus~1campaigns~1{id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/GetBonusCampaignsResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetBonusCampaignsResponse"}}},{"code":"400"},{"code":"401"},{"code":"403"},{"code":"404"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/loyalty/getbonuscampaigns"}],"panels":[]}]},"httpPath":"/loyalty/bonus/campaigns/{id}"},{"label":"Import activity bonus","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/loyalty/bonusimport","routeSlug":"/openapi/loyalty/bonusimport","metadata":{"seo":{"title":"Import activity bonus","description":"Method that allows a third-party to manually import activities and update bonus amount for a member."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"bonusImport","name":"Import activity bonus","isWebhook":false,"pointer":"/paths/~1loyalty~1bonus~1import/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Import activity bonus","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Method that allows a third-party to manually import activities and update bonus amount for a member."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Available activites that qualifies for bounus points can be found using the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/bonus/rules"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" endpoint."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The request and response can be customer specific and the example below shows only a common type of request body."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/BonusImportRequest"}},"schemaId":"components/schemas/BonusImportRequest","pointer":"/paths/~1loyalty~1bonus~1import/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/loyalty/bonus/import","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/BonusImportRequest"}},"responseCodes":["200","400","401","403","404"],"pointer":"/loyalty/bonus/import","href":"loyalty/bonusimport","openApiOperationId":"bonusImport","summary":"Import activity bonus"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"schemaId":"components/schemas/BonusImportRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/BonusImportRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BonusImportResponse"}},"schemaId":"components/schemas/BonusImportResponse"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos"},{"code":"404","description":"Customer or activity not found"}],"pointer":"/paths/~1loyalty~1bonus~1import/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/BonusImportResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BonusImportResponse"}}},{"code":"400"},{"code":"401"},{"code":"403"},{"code":"404"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/loyalty/bonusimport"}],"panels":[]}]},"httpPath":"/loyalty/bonus/import"},{"label":"Add bonus points","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/loyalty/bonusaddrewardpoints","routeSlug":"/openapi/loyalty/bonusaddrewardpoints","metadata":{"seo":{"title":"Add bonus points","description":"Method that allows you to manually add points to specific member"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"bonusAddRewardPoints","name":"Add bonus points","isWebhook":false,"pointer":"/paths/~1loyalty~1bonus~1addRewardPoints/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Add bonus points","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Method that allows you to manually add points to specific member\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AddRewardPointsRequest"}},"schemaId":"components/schemas/AddRewardPointsRequest","pointer":"/paths/~1loyalty~1bonus~1addRewardPoints/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/loyalty/bonus/addRewardPoints","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/AddRewardPointsRequest"}},"responseCodes":["200","400","401","403"],"pointer":"/loyalty/bonus/addRewardPoints","href":"loyalty/bonusaddrewardpoints","openApiOperationId":"bonusAddRewardPoints","summary":"Add bonus points"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"schemaId":"components/schemas/AddRewardPointsRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AddRewardPointsRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BonusImportRequest"}},"schemaId":"components/schemas/BonusImportRequest"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos"}],"pointer":"/paths/~1loyalty~1bonus~1addRewardPoints/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/BonusImportRequest","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BonusImportRequest"}}},{"code":"400"},{"code":"401"},{"code":"403"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/loyalty/bonusaddrewardpoints"}],"panels":[]}]},"httpPath":"/loyalty/bonus/addRewardPoints"},{"label":"Add bonus by activity id","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/loyalty/addbonuspointsbyactivity","routeSlug":"/openapi/loyalty/addbonuspointsbyactivity","metadata":{"seo":{"title":"Add bonus by activity id","description":"This method allows you to add bonus points to a specific customer based on activity."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"addBonusPointsByActivity","name":"Add bonus by activity id","isWebhook":false,"pointer":"/paths/~1loyalty~1activity~1{activityId}~1customerId~1{customerId}/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Add bonus by activity id","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"This method allows you to add bonus points to a specific customer based on activity.\n\nThe activityId is the identifier of the activity that the customer has performed.\nThe customerId is the identifier of the customer that has performed the activity.\nThe request body is fully dynamic and can contain any number of properties depending on configuration. \n\nThe request sample is only an minimum required example and may have to be replaced with the actual request body if the configuration requires it.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/LoyaltyActivityRequest"}},"schemaId":"components/schemas/LoyaltyActivityRequest","pointer":"/paths/~1loyalty~1activity~1{activityId}~1customerId~1{customerId}/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/loyalty/activity/{activityId}/customerId/{customerId}","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/LoyaltyActivityRequest"}},"responseCodes":["200","400","401","403"],"pointer":"/loyalty/activity/{activityId}/customerId/{customerId}","href":"loyalty/addbonuspointsbyactivity","openApiOperationId":"addBonusPointsByActivity","summary":"Add bonus by activity id"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"schemaId":"components/schemas/LoyaltyActivityRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/LoyaltyActivityRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos"}],"pointer":"/paths/~1loyalty~1activity~1{activityId}~1customerId~1{customerId}/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/loyalty/addbonuspointsbyactivity"}],"panels":[]}]},"httpPath":"/loyalty/activity/{activityId}/customerId/{customerId}"},{"label":"Transfer clips [PREVIEW]","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/loyalty/transferclips","routeSlug":"/openapi/loyalty/transferclips","metadata":{"seo":{"title":"Transfer clips [PREVIEW]","description":"A method that allows the client to transfer clips on a loyalty card between two existing customers."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"transferClips","name":"Transfer clips [PREVIEW]","isWebhook":false,"pointer":"/paths/~1loyalty~1loyalty-cards~1transfer-clips/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Transfer clips [PREVIEW]","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"A method that allows the client to transfer clips on a loyalty card between two existing customers.\n\nDepending on your configuration, the API may take or return additional fields in the extendedProperties object.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/transferClipsRequest"}},"schemaId":"components/schemas/transferClipsRequest","pointer":"/paths/~1loyalty~1loyalty-cards~1transfer-clips/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/loyalty/loyalty-cards/transfer-clips","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/transferClipsRequest"}},"responseCodes":["200","400","401","403"],"pointer":"/loyalty/loyalty-cards/transfer-clips","href":"loyalty/transferclips","openApiOperationId":"transferClips","summary":"Transfer clips [PREVIEW]"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"schemaId":"components/schemas/transferClipsRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/transferClipsRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos before usage."}],"pointer":"/paths/~1loyalty~1loyalty-cards~1transfer-clips/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/loyalty/transferclips"}],"panels":[]}]},"httpPath":"/loyalty/loyalty-cards/transfer-clips"},{"label":"List Bonus Rules","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/loyalty/getbonusrules","routeSlug":"/openapi/loyalty/getbonusrules","metadata":{"seo":{"title":"List Bonus Rules","description":"Methods that returns all the rules and activitys that qualifies to bonuses."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getBonusRules","name":"List Bonus Rules","isWebhook":false,"pointer":"/paths/~1bonus~1rules/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List Bonus Rules","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Methods that returns all the rules and activitys that qualifies to bonuses.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/bonus/rules","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/bonus/rules","href":"loyalty/getbonusrules","openApiOperationId":"getBonusRules","summary":"List Bonus Rules"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BonusRulesResponse"}},"schemaId":"components/schemas/BonusRulesResponse"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos before usage"}],"pointer":"/paths/~1bonus~1rules/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/BonusRulesResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BonusRulesResponse"}}},{"code":"400"},{"code":"401"},{"code":"403"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/loyalty/getbonusrules"}],"panels":[]}]},"httpPath":"/bonus/rules"},{"label":"List Loyalty Cards","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/loyalty/getloyaltycards","routeSlug":"/openapi/loyalty/getloyaltycards","metadata":{"seo":{"title":"List Loyalty Cards","description":"Endpoint that returns a list of active loyalty/stamp cards for a customer."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getLoyaltyCards","name":"List Loyalty Cards","isWebhook":false,"pointer":"/paths/~1loyalty~1loyalty-cards~1{customerId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List Loyalty Cards","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Endpoint that returns a list of active loyalty/stamp cards for a customer.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"customerId","in":"path","schemaId":"schema_17","description":"Id of customer.\n","required":true}],"pointer":"/paths/~1loyalty~1loyalty-cards~1{customerId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/loyalty/loyalty-cards/{customerId}","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[{"name":"customerId","in":"path","required":true,"schemaId":"schema_17"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/loyalty/loyalty-cards/{customerId}","href":"loyalty/getloyaltycards","openApiOperationId":"getLoyaltyCards","summary":"List Loyalty Cards"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetStampcardResponse"}},"schemaId":"components/schemas/GetStampcardResponse"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos"},{"code":"404","description":"Not Found"}],"pointer":"/paths/~1loyalty~1loyalty-cards~1{customerId}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/GetStampcardResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetStampcardResponse"}}},{"code":"400"},{"code":"401"},{"code":"403"},{"code":"404"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/loyalty/getloyaltycards"}],"panels":[]}]},"httpPath":"/loyalty/loyalty-cards/{customerId}"},{"label":"Update achievement [PREVIEW]","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/loyalty/updateachievement","routeSlug":"/openapi/loyalty/updateachievement","metadata":{"seo":{"title":"Update achievement [PREVIEW]","description":"A method that allows the client to manually add clips/stamps to a customers achievement card which can be useful i scenarions where live updates are not possible."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateAchievement","name":"Update achievement [PREVIEW]","isWebhook":false,"pointer":"/paths/~1loyalty~1achievements/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update achievement [PREVIEW]","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"A method that allows the client to manually add clips/stamps to a customers achievement card which can be useful i scenarions where live updates are not possible.\n\nDepending on your configuration, the API may take or return additional fields in the extendedProperties object.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AchivementUpdateRequest"}},"schemaId":"components/schemas/AchivementUpdateRequest","pointer":"/paths/~1loyalty~1achievements/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/loyalty/achievements","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/AchivementUpdateRequest"}},"responseCodes":["200","400","401","403","409"],"pointer":"/loyalty/achievements","href":"loyalty/updateachievement","openApiOperationId":"updateAchievement","summary":"Update achievement [PREVIEW]"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"schemaId":"components/schemas/AchivementUpdateRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AchivementUpdateRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos"},{"code":"409","description":"Conflict"}],"pointer":"/paths/~1loyalty~1achievements/put/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/loyalty/updateachievement"}],"panels":[]}]},"httpPath":"/loyalty/achievements"},{"label":"List Loyalty Card Campaigns","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/loyalty/stampcardcampaigns","routeSlug":"/openapi/loyalty/stampcardcampaigns","metadata":{"seo":{"title":"List Loyalty Card Campaigns","description":"Endpoint that return all products that qualifies for a count in each loyalty/stamp card."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"stampcardCampaigns","name":"List Loyalty Card Campaigns","isWebhook":false,"pointer":"/paths/~1loyalty~1loyalty-cards~1campaigns/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List Loyalty Card Campaigns","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Endpoint that return all products that qualifies for a count in each loyalty/stamp card.\n\nDepending on your OIP configuration, the API may return additional fields in the extendedProperties object.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/loyalty/loyalty-cards/campaigns","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/loyalty/loyalty-cards/campaigns","href":"loyalty/stampcardcampaigns","openApiOperationId":"stampcardCampaigns","summary":"List Loyalty Card Campaigns"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/StampcardCampaignsResponse"}},"schemaId":"components/schemas/StampcardCampaignsResponse"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos"}],"pointer":"/paths/~1loyalty~1loyalty-cards~1campaigns/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/StampcardCampaignsResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/StampcardCampaignsResponse"}}},{"code":"400"},{"code":"401"},{"code":"403"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/loyalty/stampcardcampaigns"}],"panels":[]}]},"httpPath":"/loyalty/loyalty-cards/campaigns"},{"label":"Add bonus by activity id","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/loyalty/addbonuspointsbyactivity","routeSlug":"/openapi/loyalty/addbonuspointsbyactivity","metadata":{"seo":{"title":"Add bonus by activity id","description":"This method allows you to add bonus points to a specific customer based on activity."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"addBonusPointsByActivity","name":"Add bonus by activity id","isWebhook":false,"pointer":"/paths/~1loyalty~1transactions~1customerId~1{customerId}/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Add bonus by activity id","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"This method allows you to add bonus points to a specific customer based on activity.\n\nThe activityId is the identifier of the activity that the customer has performed.\nThe customerId is the identifier of the customer that has performed the activity.\nThe request body is fully dynamic and can contain any number of properties depending on configuration. \n\nThe request sample is only an minimum required example and may have to be replaced with the actual request body if the configuration requires it.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"activityId","in":"path","schemaId":"schema_17","description":"The identifier of the activity","required":true},{"name":"customerId","in":"path","schemaId":"schema_17","description":"The identifier of the customer","required":true}],"pointer":"/paths/~1loyalty~1transactions~1customerId~1{customerId}/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/LoyaltyActivityRequest"}},"schemaId":"components/schemas/LoyaltyActivityRequest","pointer":"/paths/~1loyalty~1transactions~1customerId~1{customerId}/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/loyalty/transactions/customerId/{customerId}","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[{"name":"activityId","in":"path","required":true,"schemaId":"schema_17"},{"name":"customerId","in":"path","required":true,"schemaId":"schema_17"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/LoyaltyActivityRequest"}},"responseCodes":["200","400","401","403"],"pointer":"/loyalty/transactions/customerId/{customerId}","href":"loyalty/addbonuspointsbyactivity","openApiOperationId":"addBonusPointsByActivity","summary":"Add bonus by activity id"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"schemaId":"components/schemas/LoyaltyActivityRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/LoyaltyActivityRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos"}],"pointer":"/paths/~1loyalty~1transactions~1customerId~1{customerId}/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/loyalty/addbonuspointsbyactivity"}],"panels":[]}]},"httpPath":"/loyalty/transactions/customerId/{customerId}"}],"content":{"contentType":"group","meta":{"name":"Loyalty"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Loyalty","showPageActions":true},{"nodeType":"markdoc","content":"Endpoints for manually managing different types of loyalty objects.\n\nMethods under this endpoint lets you view current campaigns, manually add bonus points, get balance of a customers loyalty card(s) etc.\n\nDepending on your configuration, the API may take or return additional fields in the extendedProperties object. \n\nTo get an example of your specific integration, please contact our support team."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/loyalty/bonus/campaigns/{id}","summary":"List Bonus Campaigns","prefix":{"name":"get","color":"get"},"badges":[],"link":"/loyalty/getbonuscampaigns","deprecated":false},{"title":"/loyalty/bonus/import","summary":"Import activity bonus","prefix":{"name":"post","color":"post"},"badges":[],"link":"/loyalty/bonusimport","deprecated":false},{"title":"/loyalty/bonus/addRewardPoints","summary":"Add bonus points","prefix":{"name":"post","color":"post"},"badges":[],"link":"/loyalty/bonusaddrewardpoints","deprecated":false},{"title":"/loyalty/activity/{activityId}/customerId/{customerId}","summary":"Add bonus by activity id","prefix":{"name":"post","color":"post"},"badges":[],"link":"/loyalty/addbonuspointsbyactivity","deprecated":false},{"title":"/loyalty/loyalty-cards/transfer-clips","summary":"Transfer clips [PREVIEW]","prefix":{"name":"post","color":"post"},"badges":[],"link":"/loyalty/transferclips","deprecated":false},{"title":"/bonus/rules","summary":"List Bonus Rules","prefix":{"name":"get","color":"get"},"badges":[],"link":"/loyalty/getbonusrules","deprecated":false},{"title":"/loyalty/loyalty-cards/{customerId}","summary":"List Loyalty Cards","prefix":{"name":"get","color":"get"},"badges":[],"link":"/loyalty/getloyaltycards","deprecated":false},{"title":"/loyalty/achievements","summary":"Update achievement [PREVIEW]","prefix":{"name":"put","color":"put"},"badges":[],"link":"/loyalty/updateachievement","deprecated":false},{"title":"/loyalty/loyalty-cards/campaigns","summary":"List Loyalty Card Campaigns","prefix":{"name":"get","color":"get"},"badges":[],"link":"/loyalty/stampcardcampaigns","deprecated":false},{"title":"/loyalty/transactions/customerId/{customerId}","summary":"Add bonus by activity id","prefix":{"name":"post","color":"post"},"badges":[],"link":"/loyalty/addbonuspointsbyactivity","deprecated":false}]}]}]}]}},{"type":"group","label":"Messaging","link":"/openapi/messaging","routeSlug":"/openapi/messaging","items":[{"label":"Send SMS","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/messaging/sendsmsmessage","routeSlug":"/openapi/messaging/sendsmsmessage","metadata":{"seo":{"title":"Send SMS","description":"Sends an SMS with a given sender name."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"sendSmsMessage","name":"Send SMS","isWebhook":false,"pointer":"/paths/~1messaging~1sms/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Send SMS","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Sends an SMS with a given sender name."},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/MessagingSendSmsRequest"}},"schemaId":"components/schemas/MessagingSendSmsRequest","pointer":"/paths/~1messaging~1sms/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/messaging/sms","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/MessagingSendSmsRequest"}},"responseCodes":["200","400","401","403"],"pointer":"/messaging/sms","href":"messaging/sendsmsmessage","openApiOperationId":"sendSmsMessage","summary":"Send SMS"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"schemaId":"components/schemas/MessagingSendSmsRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/MessagingSendSmsRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos"}],"pointer":"/paths/~1messaging~1sms/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/messaging/sendsmsmessage"}],"panels":[]}]},"httpPath":"/messaging/sms"},{"label":"Create Code","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/messaging/createsmscode","routeSlug":"/openapi/messaging/createsmscode","metadata":{"seo":{"title":"Create Code","description":"Creates and sends an SMS with a unique code that can be used in 2 factor logins or customer verification processes."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createSmsCode","name":"Create Code","isWebhook":false,"pointer":"/paths/~1messaging~1sms~1code~1create~1{phoneNumber}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create Code","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Creates and sends an SMS with a unique code that can be used in 2 factor logins or customer verification processes.\n\nThe sender, length and expiration time is configurable.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"phoneNumber","in":"path","schemaId":"schema_17","description":"Receivers mobile phone number. Must contain country code","required":true}],"pointer":"/paths/~1messaging~1sms~1code~1create~1{phoneNumber}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/messaging/sms/code/create/{phoneNumber}","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[{"name":"phoneNumber","in":"path","required":true,"schemaId":"schema_17"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/messaging/sms/code/create/{phoneNumber}","href":"messaging/createsmscode","openApiOperationId":"createSmsCode","summary":"Create Code"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos"}],"pointer":"/paths/~1messaging~1sms~1code~1create~1{phoneNumber}/get/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/messaging/createsmscode"}],"panels":[]}]},"httpPath":"/messaging/sms/code/create/{phoneNumber}"},{"label":"Verify code","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/messaging/verifysmscode","routeSlug":"/openapi/messaging/verifysmscode","metadata":{"seo":{"title":"Verify code","description":"Verifies the SMS code recevied in the Create Code endpoint."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"verifySmsCode","name":"Verify code","isWebhook":false,"pointer":"/paths/~1messaging~1sms~1code~1verify~1{phoneNumber}~1{code}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Verify code","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Verifies the SMS code recevied in the Create Code endpoint."},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"phoneNumber","in":"path","schemaId":"schema_17","description":"Mobile phone number to verify. Must contain country code prefix.","required":true,"example":"+4712345678"},{"name":"code","in":"path","schemaId":"schema_17","description":"The verification code received from the create code endpoint.","required":true,"example":"123456"}],"pointer":"/paths/~1messaging~1sms~1code~1verify~1{phoneNumber}~1{code}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/messaging/sms/code/verify/{phoneNumber}/{code}","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[{"name":"phoneNumber","in":"path","required":true,"example":"+4712345678","schemaId":"schema_17"},{"name":"code","in":"path","required":true,"example":"123456","schemaId":"schema_17"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/messaging/sms/code/verify/{phoneNumber}/{code}","href":"messaging/verifysmscode","openApiOperationId":"verifySmsCode","summary":"Verify code"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos"}],"pointer":"/paths/~1messaging~1sms~1code~1verify~1{phoneNumber}~1{code}/get/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/messaging/verifysmscode"}],"panels":[]}]},"httpPath":"/messaging/sms/code/verify/{phoneNumber}/{code}"},{"label":"Trigger sms","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/messaging/triggersmsautomation","routeSlug":"/openapi/messaging/triggersmsautomation","metadata":{"seo":{"title":"Trigger sms","description":"Triggers the send out of a pre-defined message. This message has to be configured by Oculos in advance."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"triggerSmsAutomation","name":"Trigger sms","isWebhook":false,"pointer":"/paths/~1messaging~1sms~1trigger~1{customerId}~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Trigger sms","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Triggers the send out of a pre-defined message. This message has to be configured by Oculos in advance."},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"customerId","in":"path","schemaId":"schema_17","description":"Member identifier, depending on your OIP configuration this can typically be a internal guid, mobile phone or other external id.","required":true,"example":"50EF2EA3-E804-404E-B65B-73AB6B9D7F05"},{"name":"id","in":"path","schemaId":"schema_17","description":"Id of message to trigger","required":true,"example":"welcomeSMS"}],"pointer":"/paths/~1messaging~1sms~1trigger~1{customerId}~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/messaging/sms/trigger/{customerId}/{id}","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[{"name":"customerId","in":"path","required":true,"example":"50EF2EA3-E804-404E-B65B-73AB6B9D7F05","schemaId":"schema_17"},{"name":"id","in":"path","required":true,"example":"welcomeSMS","schemaId":"schema_17"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401"],"pointer":"/messaging/sms/trigger/{customerId}/{id}","href":"messaging/triggersmsautomation","openApiOperationId":"triggerSmsAutomation","summary":"Trigger sms"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"}],"pointer":"/paths/~1messaging~1sms~1trigger~1{customerId}~1{id}/get/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/messaging/triggersmsautomation"}],"panels":[]}]},"httpPath":"/messaging/sms/trigger/{customerId}/{id}"}],"content":{"contentType":"group","meta":{"name":"Messaging"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Messaging","showPageActions":true},{"nodeType":"markdoc","content":"Endpoint that lets yoy send different types of messages and manually trigger automations that send SMS.\n\nIn this endpoint you will also find a complete set of methods to create a 2F verfication solution by SMS."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/messaging/sms","summary":"Send SMS","prefix":{"name":"post","color":"post"},"badges":[],"link":"/messaging/sendsmsmessage","deprecated":false},{"title":"/messaging/sms/code/create/{phoneNumber}","summary":"Create Code","prefix":{"name":"get","color":"get"},"badges":[],"link":"/messaging/createsmscode","deprecated":false},{"title":"/messaging/sms/code/verify/{phoneNumber}/{code}","summary":"Verify code","prefix":{"name":"get","color":"get"},"badges":[],"link":"/messaging/verifysmscode","deprecated":false},{"title":"/messaging/sms/trigger/{customerId}/{id}","summary":"Trigger sms","prefix":{"name":"get","color":"get"},"badges":[],"link":"/messaging/triggersmsautomation","deprecated":false}]}]}]}]}},{"type":"group","label":"Modules","link":"/openapi/modules","routeSlug":"/openapi/modules","items":[{"label":"List Vehicles [PREVIEW]","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/modules/getvehiclesbycustomerid","routeSlug":"/openapi/modules/getvehiclesbycustomerid","metadata":{"seo":{"title":"List Vehicles [PREVIEW]","description":"This method allows the client to search for vehicles by a customer id"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getVehiclesByCustomerId","name":"List Vehicles [PREVIEW]","isWebhook":false,"pointer":"/paths/~1modules~1vehicles~1customerId~1{customerId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List Vehicles [PREVIEW]","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This method allows the client to search for vehicles by a customer id"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Example: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"B9012E40-1B08-4DC5-84F9-BB8E2653B2A6"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The response sample below shows the default response, but depending on your configuration the API may return additional fields in the extendedProperties object."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"customerId","in":"path","schemaId":"schema_17","description":"The customer id","required":true}],"pointer":"/paths/~1modules~1vehicles~1customerId~1{customerId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/modules/vehicles/customerId/{customerId}","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[{"name":"customerId","in":"path","required":true,"schemaId":"schema_17"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/modules/vehicles/customerId/{customerId}","href":"modules/getvehiclesbycustomerid","openApiOperationId":"getVehiclesByCustomerId","summary":"List Vehicles [PREVIEW]"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/VehicleResponse"}},"schemaId":"components/schemas/VehicleResponse"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos"},{"code":"404","description":"Customer Not Found"}],"pointer":"/paths/~1modules~1vehicles~1customerId~1{customerId}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/VehicleResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/VehicleResponse"}}},{"code":"400"},{"code":"401"},{"code":"403"},{"code":"404"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/modules/getvehiclesbycustomerid"}],"panels":[]}]},"httpPath":"/modules/vehicles/customerId/{customerId}"},{"label":"Create Vehicle [PREVIEW]","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/modules/addvehicle","routeSlug":"/openapi/modules/addvehicle","metadata":{"seo":{"title":"Create Vehicle [PREVIEW]","description":"This method allows the client to add a new vehicle for a customer"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"addVehicle","name":"Create Vehicle [PREVIEW]","isWebhook":false,"pointer":"/paths/~1modules~1vehicles~1customerId~1{customerId}/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create Vehicle [PREVIEW]","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"This method allows the client to add a new vehicle for a customer\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"customerId","in":"path","schemaId":"schema_17","description":"The customer id","required":true}],"pointer":"/paths/~1modules~1vehicles~1customerId~1{customerId}/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PostVehicleRequest"}},"schemaId":"components/schemas/PostVehicleRequest","pointer":"/paths/~1modules~1vehicles~1customerId~1{customerId}/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/modules/vehicles/customerId/{customerId}","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[{"name":"customerId","in":"path","required":true,"schemaId":"schema_17"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/PostVehicleRequest"}},"responseCodes":["201","400","401","403","404","409"],"pointer":"/modules/vehicles/customerId/{customerId}","href":"modules/addvehicle","openApiOperationId":"addVehicle","summary":"Create Vehicle [PREVIEW]"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"schemaId":"components/schemas/PostVehicleRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PostVehicleRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Created"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos"},{"code":"404","description":"Customer Not Found"},{"code":"409","description":"Conflict - the vehicle already exists"}],"pointer":"/paths/~1modules~1vehicles~1customerId~1{customerId}/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/modules/addvehicle"}],"panels":[]}]},"httpPath":"/modules/vehicles/customerId/{customerId}"},{"label":"Update Vehicle [PREVIEW]","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/modules/updatevehicle","routeSlug":"/openapi/modules/updatevehicle","metadata":{"seo":{"title":"Update Vehicle [PREVIEW]","description":"This method allows the client to update a vehicle"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateVehicle","name":"Update Vehicle [PREVIEW]","isWebhook":false,"pointer":"/paths/~1modules~1vehicles~1vehicleId~1{vehicleId}/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update Vehicle [PREVIEW]","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"This method allows the client to update a vehicle\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"vehicleId","in":"path","schemaId":"schema_17","description":"The vehicle id","required":true}],"pointer":"/paths/~1modules~1vehicles~1vehicleId~1{vehicleId}/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PutVehicleRequest"}},"schemaId":"components/schemas/PutVehicleRequest","pointer":"/paths/~1modules~1vehicles~1vehicleId~1{vehicleId}/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/modules/vehicles/vehicleId/{vehicleId}","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[{"name":"vehicleId","in":"path","required":true,"schemaId":"schema_17"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/PutVehicleRequest"}},"responseCodes":["200","400","401","403","404","409","422"],"pointer":"/modules/vehicles/vehicleId/{vehicleId}","href":"modules/updatevehicle","openApiOperationId":"updateVehicle","summary":"Update Vehicle [PREVIEW]"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"schemaId":"components/schemas/PutVehicleRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PutVehicleRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Updated"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos"},{"code":"404","description":"Customer Not Found"},{"code":"409","description":"Conflict - the vehicle already exists"},{"code":"422","description":"Unprocessable Entity - Not self registered. This vehicle can not be updated by the client"}],"pointer":"/paths/~1modules~1vehicles~1vehicleId~1{vehicleId}/put/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/modules/updatevehicle"}],"panels":[]}]},"httpPath":"/modules/vehicles/vehicleId/{vehicleId}"},{"label":"Delete Vehicle [PREVIEW]","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/modules/deletevehicle","routeSlug":"/openapi/modules/deletevehicle","metadata":{"seo":{"title":"Delete Vehicle [PREVIEW]","description":"This method allows the client to delete a vehicle"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteVehicle","name":"Delete Vehicle [PREVIEW]","isWebhook":false,"pointer":"/paths/~1modules~1vehicles~1vehicleId~1{vehicleId}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete Vehicle [PREVIEW]","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"This method allows the client to delete a vehicle\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"vehicleId","in":"path","schemaId":"schema_17","description":"The vehicle id","required":true}],"pointer":"/paths/~1modules~1vehicles~1vehicleId~1{vehicleId}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/modules/vehicles/vehicleId/{vehicleId}","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[{"name":"vehicleId","in":"path","required":true,"schemaId":"schema_17"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","409","422"],"pointer":"/modules/vehicles/vehicleId/{vehicleId}","href":"modules/deletevehicle","openApiOperationId":"deleteVehicle","summary":"Delete Vehicle [PREVIEW]"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Deleted"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos"},{"code":"404","description":"Customer Not Found"},{"code":"409","description":"Conflict - the vehicle already exists"},{"code":"422","description":"Unprocessable Entity - Not self registered. This vehicle can not be deleted by the client"}],"pointer":"/paths/~1modules~1vehicles~1vehicleId~1{vehicleId}/delete/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/modules/deletevehicle"}],"panels":[]}]},"httpPath":"/modules/vehicles/vehicleId/{vehicleId}"}],"content":{"contentType":"group","meta":{"name":"Modules"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Modules","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Endpoints for managing minor features that are not directly related to the main endpoints."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Available modules:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Wishlist - Endpoints for managing wishlists"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Vehicles - Endpoints for managing vehicles [PREVIEW]"},"children":[]}]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/modules/vehicles/customerId/{customerId}","summary":"List Vehicles [PREVIEW]","prefix":{"name":"get","color":"get"},"badges":[],"link":"/modules/getvehiclesbycustomerid","deprecated":false},{"title":"/modules/vehicles/customerId/{customerId}","summary":"Create Vehicle [PREVIEW]","prefix":{"name":"post","color":"post"},"badges":[],"link":"/modules/addvehicle","deprecated":false},{"title":"/modules/vehicles/vehicleId/{vehicleId}","summary":"Update Vehicle [PREVIEW]","prefix":{"name":"put","color":"put"},"badges":[],"link":"/modules/updatevehicle","deprecated":false},{"title":"/modules/vehicles/vehicleId/{vehicleId}","summary":"Delete Vehicle [PREVIEW]","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/modules/deletevehicle","deprecated":false}]}]}]}]}},{"type":"group","label":"Payment Cards","link":"/openapi/payment-cards","routeSlug":"/openapi/payment-cards","items":[{"label":"Attach payment card token to member","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/payment-cards/addpaymentcard","routeSlug":"/openapi/payment-cards/addpaymentcard","metadata":{"seo":{"title":"Attach payment card token to member","description":"Use this endpoint for adding a card token to an existing member."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"addPaymentCard","name":"Attach payment card token to member","isWebhook":false,"pointer":"/paths/~1payment-cards/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Attach payment card token to member","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Use this endpoint for adding a card token to an existing member. \n\nThis method requires an integration with a payment provider.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/MemberAddCardRequest"}},"schemaId":"components/schemas/MemberAddCardRequest","pointer":"/paths/~1payment-cards/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/payment-cards","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/MemberAddCardRequest"}},"responseCodes":["200","400","401","403","409"],"pointer":"/payment-cards","href":"payment-cards/addpaymentcard","openApiOperationId":"addPaymentCard","summary":"Attach payment card token to member"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"schemaId":"components/schemas/MemberAddCardRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/MemberAddCardRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos before usage"},{"code":"409","description":"Conflict"}],"pointer":"/paths/~1payment-cards/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/payment-cards/addpaymentcard"}],"panels":[]}]},"httpPath":"/payment-cards"},{"label":"Get Customer by Payment Card Token","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/payment-cards/getpaymentcards","routeSlug":"/openapi/payment-cards/getpaymentcards","metadata":{"seo":{"title":"Get Customer by Payment Card Token","description":"Retrives a member by card token"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getPaymentCards","name":"Get Customer by Payment Card Token","isWebhook":false,"pointer":"/paths/~1payment-cards~1token~1{token}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Customer by Payment Card Token","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Retrives a member by card token\n\nThis method requires an integration with a payment provider.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"token","in":"path","schemaId":"schema_17","description":"Card token","required":true}],"pointer":"/paths/~1payment-cards~1token~1{token}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/payment-cards/token/{token}","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[{"name":"token","in":"path","required":true,"schemaId":"schema_17"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/payment-cards/token/{token}","href":"payment-cards/getpaymentcards","openApiOperationId":"getPaymentCards","summary":"Get Customer by Payment Card Token"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CustomerResponse"}},"schemaId":"components/schemas/CustomerResponse"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos before usage"}],"pointer":"/paths/~1payment-cards~1token~1{token}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/CustomerResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CustomerResponse"}}},{"code":"400"},{"code":"401"},{"code":"403"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/payment-cards/getpaymentcards"}],"panels":[]}]},"httpPath":"/payment-cards/token/{token}"},{"label":"List Payment Cards by Customer ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/payment-cards/getpaymentcardsbycustomerid","routeSlug":"/openapi/payment-cards/getpaymentcardsbycustomerid","metadata":{"seo":{"title":"List Payment Cards by Customer ID","description":"Method that returns a list of all payment cards attached to a member. If there are no cards attached to the member, an empty list will be returned."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getPaymentCardsByCustomerId","name":"List Payment Cards by Customer ID","isWebhook":false,"pointer":"/paths/~1payment-cards~1customerId~1{customerId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List Payment Cards by Customer ID","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Method that returns a list of all payment cards attached to a member. If there are no cards attached to the member, an empty list will be returned.\n\nThis method requires an integration with a payment provider.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"customerId","in":"path","schemaId":"schema_17","description":"Id of member","required":true}],"pointer":"/paths/~1payment-cards~1customerId~1{customerId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/payment-cards/customerId/{customerId}","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[{"name":"customerId","in":"path","required":true,"schemaId":"schema_17"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/payment-cards/customerId/{customerId}","href":"payment-cards/getpaymentcardsbycustomerid","openApiOperationId":"getPaymentCardsByCustomerId","summary":"List Payment Cards by Customer ID"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MemberCardListResponse"}},"schemaId":"components/schemas/MemberCardListResponse"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos before usage"}],"pointer":"/paths/~1payment-cards~1customerId~1{customerId}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/MemberCardListResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MemberCardListResponse"}}},{"code":"400"},{"code":"401"},{"code":"403"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/payment-cards/getpaymentcardsbycustomerid"}],"panels":[]}]},"httpPath":"/payment-cards/customerId/{customerId}"},{"label":"Delete payment card","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/payment-cards/deletecard","routeSlug":"/openapi/payment-cards/deletecard","metadata":{"seo":{"title":"Delete payment card","description":"Method used for deleting card attached to member"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteCard","name":"Delete payment card","isWebhook":false,"pointer":"/paths/~1payment-cards~1{customerId}~1{cardId}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete payment card","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Method used for deleting card attached to member"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"customerId","in":"path","schemaId":"schema_17","description":"Id of member","required":true},{"name":"cardId","in":"path","schemaId":"schema_17","description":"Id of card","required":true}],"pointer":"/paths/~1payment-cards~1{customerId}~1{cardId}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/payment-cards/{customerId}/{cardId}","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[{"name":"customerId","in":"path","required":true,"schemaId":"schema_17"},{"name":"cardId","in":"path","required":true,"schemaId":"schema_17"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/payment-cards/{customerId}/{cardId}","href":"payment-cards/deletecard","openApiOperationId":"deleteCard","summary":"Delete payment card"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos before usage'"}],"pointer":"/paths/~1payment-cards~1{customerId}~1{cardId}/delete/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/payment-cards/deletecard"}],"panels":[]}]},"httpPath":"/payment-cards/{customerId}/{cardId}"},{"label":"Create payment card signature","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/payment-cards/createverifonesignature","routeSlug":"/openapi/payment-cards/createverifonesignature","metadata":{"seo":{"title":"Create payment card signature","description":"Method used to create a payload that can be used to trigger a new card registration process."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createVerifoneSignature","name":"Create payment card signature","isWebhook":false,"pointer":"/paths/~1payment-cards~1signature/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create payment card signature","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Method used to create a payload that can be used to trigger a new card registration process. \n\nThis metod requires addional services, please contact your advisor for more information.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/SignatureRequest"}},"schemaId":"components/schemas/SignatureRequest","pointer":"/paths/~1payment-cards~1signature/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/payment-cards/signature","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/SignatureRequest"}},"responseCodes":["200","400","401","403"],"pointer":"/payment-cards/signature","href":"payment-cards/createverifonesignature","openApiOperationId":"createVerifoneSignature","summary":"Create payment card signature"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"schemaId":"components/schemas/SignatureRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/SignatureRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos"}],"pointer":"/paths/~1payment-cards~1signature/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/payment-cards/createverifonesignature"}],"panels":[]}]},"httpPath":"/payment-cards/signature"}],"content":{"contentType":"group","meta":{"name":"Payment Cards"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Payment Cards","showPageActions":true},{"nodeType":"markdoc","content":"TODO"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/payment-cards","summary":"Attach payment card token to member","prefix":{"name":"post","color":"post"},"badges":[],"link":"/payment-cards/addpaymentcard","deprecated":false},{"title":"/payment-cards/token/{token}","summary":"Get Customer by Payment Card Token","prefix":{"name":"get","color":"get"},"badges":[],"link":"/payment-cards/getpaymentcards","deprecated":false},{"title":"/payment-cards/customerId/{customerId}","summary":"List Payment Cards by Customer ID","prefix":{"name":"get","color":"get"},"badges":[],"link":"/payment-cards/getpaymentcardsbycustomerid","deprecated":false},{"title":"/payment-cards/{customerId}/{cardId}","summary":"Delete payment card","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/payment-cards/deletecard","deprecated":false},{"title":"/payment-cards/signature","summary":"Create payment card signature","prefix":{"name":"post","color":"post"},"badges":[],"link":"/payment-cards/createverifonesignature","deprecated":false}]}]}]}]}},{"type":"group","label":"Plugins","link":"/openapi/plugins","routeSlug":"/openapi/plugins","items":[{"label":"Calculate new price on cart","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/plugins/cartscalculateprice","routeSlug":"/openapi/plugins/cartscalculateprice","metadata":{"seo":{"title":"Calculate new price on cart","description":"Endpoint used for calculating a new price on a cart based on current campaigns and/or a members available:"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"cartsCalculatePrice","name":"Calculate new price on cart","isWebhook":false,"pointer":"/paths/~1plugins~1cart~1price/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Calculate new price on cart","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Endpoint used for calculating a new price on a cart based on current campaigns and/or a members available:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bonus"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Coupons"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Vouchers"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"As both the request and response is fully dynamic, the format of the data exchanged has to be agreed upon before activating."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/EmptyCartRequest"}},"schemaId":"components/schemas/EmptyCartRequest","pointer":"/paths/~1plugins~1cart~1price/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/plugins/cart/price","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/EmptyCartRequest"}},"responseCodes":["200","400","401","403"],"pointer":"/plugins/cart/price","href":"plugins/cartscalculateprice","openApiOperationId":"cartsCalculatePrice","summary":"Calculate new price on cart"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"schemaId":"components/schemas/EmptyCartRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/EmptyCartRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos"}],"pointer":"/paths/~1plugins~1cart~1price/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/plugins/cartscalculateprice"}],"panels":[]}]},"httpPath":"/plugins/cart/price"},{"label":"Extenda Plugin endpoint","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/plugins/extendaplugingetpromotions","routeSlug":"/openapi/plugins/extendaplugingetpromotions","metadata":{"seo":{"title":"Extenda Plugin endpoint","description":"Endpoint used for calculating a new price on a cart based on current campaigns and/or a members available:"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"extendaPluginGetPromotions","name":"Extenda Plugin endpoint","isWebhook":false,"pointer":"/paths/~1plugins~1pos~1extenda/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Extenda Plugin endpoint","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Endpoint used for calculating a new price on a cart based on current campaigns and/or a members available:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bonus"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Coupons"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Vouchers"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"As both the request and response is fully dynamic, the format of the data exchanged has to be agreed upon before activating."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/EmptyCartRequest"}},"schemaId":"components/schemas/EmptyCartRequest","pointer":"/paths/~1plugins~1pos~1extenda/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/plugins/pos/extenda","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/EmptyCartRequest"}},"responseCodes":["200","400","401","403"],"pointer":"/plugins/pos/extenda","href":"plugins/extendaplugingetpromotions","openApiOperationId":"extendaPluginGetPromotions","summary":"Extenda Plugin endpoint"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"schemaId":"components/schemas/EmptyCartRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/EmptyCartRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos"}],"pointer":"/paths/~1plugins~1pos~1extenda/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/plugins/extendaplugingetpromotions"}],"panels":[]}]},"httpPath":"/plugins/pos/extenda"}],"content":{"contentType":"group","meta":{"name":"Plugins"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Plugins","showPageActions":true},{"nodeType":"markdoc","content":"TODO"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/plugins/cart/price","summary":"Calculate new price on cart","prefix":{"name":"post","color":"post"},"badges":[],"link":"/plugins/cartscalculateprice","deprecated":false},{"title":"/plugins/pos/extenda","summary":"Extenda Plugin endpoint","prefix":{"name":"post","color":"post"},"badges":[],"link":"/plugins/extendaplugingetpromotions","deprecated":false}]}]}]}]}},{"type":"group","label":"Promotions","link":"/openapi/promotions","routeSlug":"/openapi/promotions","items":[{"label":"List Customer Promotions","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/promotions/getpromotionsbycustomerid","routeSlug":"/openapi/promotions/getpromotionsbycustomerid","metadata":{"seo":{"title":"List Customer Promotions","description":"Returns a list of all available promotions for a member."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getPromotionsByCustomerId","name":"List Customer Promotions","isWebhook":false,"pointer":"/paths/~1promotions~1customerId~1{customerId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List Customer Promotions","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Returns a list of all available promotions for a member.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"customerId","in":"path","schemaId":"schema_17","description":"Id of member. \n\nThe type of id parameter is configurable where the most common types are id, mobile phone or an external id. \n","required":true}],"pointer":"/paths/~1promotions~1customerId~1{customerId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/promotions/customerId/{customerId}","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[{"name":"customerId","in":"path","required":true,"schemaId":"schema_17"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","403","404"],"pointer":"/promotions/customerId/{customerId}","href":"promotions/getpromotionsbycustomerid","openApiOperationId":"getPromotionsByCustomerId","summary":"List Customer Promotions"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_21"}},"schemaId":"schema_21"},{"code":"400","description":"Bad Request"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos"},{"code":"404","description":"Not Found - no coupons available"}],"pointer":"/paths/~1promotions~1customerId~1{customerId}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_21","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_21"}}},{"code":"400"},{"code":"403"},{"code":"404"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/promotions/getpromotionsbycustomerid"}],"panels":[]}]},"httpPath":"/promotions/customerId/{customerId}"},{"label":"List Promotions by Phone Number","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/promotions/getpromotionsbymobilephone","routeSlug":"/openapi/promotions/getpromotionsbymobilephone","metadata":{"seo":{"title":"List Promotions by Phone Number","description":"Returns a list of all available promotions for a member by using the mobile phone number"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getPromotionsByMobilePhone","name":"List Promotions by Phone Number","isWebhook":false,"pointer":"/paths/~1promotions~1mobilePhone/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List Promotions by Phone Number","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Returns a list of all available promotions for a member by using the mobile phone number\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"mobilePhone","in":"query","schemaId":"schema_17","description":"Customers mobile phone number\n\nThe type of id parameter is configurable where the most common types are id, mobile phone or an external id. \n","required":true}],"pointer":"/paths/~1promotions~1mobilePhone/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/promotions/mobilePhone","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[],"query":[{"name":"mobilePhone","in":"query","required":true,"schemaId":"schema_17"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","403","404"],"pointer":"/promotions/mobilePhone","href":"promotions/getpromotionsbymobilephone","openApiOperationId":"getPromotionsByMobilePhone","summary":"List Promotions by Phone Number"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_21"}},"schemaId":"schema_21"},{"code":"400","description":"Bad Request"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos"},{"code":"404","description":"Not Found - no coupons available"}],"pointer":"/paths/~1promotions~1mobilePhone/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_21","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_21"}}},{"code":"400"},{"code":"403"},{"code":"404"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/promotions/getpromotionsbymobilephone"}],"panels":[]}]},"httpPath":"/promotions/mobilePhone"},{"label":"Redeem Promotion","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/promotions/redeempromotion","routeSlug":"/openapi/promotions/redeempromotion","metadata":{"seo":{"title":"Redeem Promotion","description":"Method that redeems a promotion for a customer."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"redeemPromotion","name":"Redeem Promotion","isWebhook":false,"pointer":"/paths/~1promotions~1redeem/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Redeem Promotion","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Method that redeems a promotion for a customer. \n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/RedeemPromotionRequest"}},"schemaId":"components/schemas/RedeemPromotionRequest","pointer":"/paths/~1promotions~1redeem/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/promotions/redeem","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/RedeemPromotionRequest"}},"responseCodes":["200","400","401","403","404"],"pointer":"/promotions/redeem","href":"promotions/redeempromotion","openApiOperationId":"redeemPromotion","summary":"Redeem Promotion"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"schemaId":"components/schemas/RedeemPromotionRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/RedeemPromotionRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos"},{"code":"404","description":"Not Found - promotion was not found"}],"pointer":"/paths/~1promotions~1redeem/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/promotions/redeempromotion"}],"panels":[]}]},"httpPath":"/promotions/redeem"},{"label":"List Redeemed Promotions","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/promotions/getpromotionhistory","routeSlug":"/openapi/promotions/getpromotionhistory","metadata":{"seo":{"title":"List Redeemed Promotions","description":"Returns a list of redeemed promotions for a given customer."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getPromotionHistory","name":"List Redeemed Promotions","isWebhook":false,"pointer":"/paths/~1promotions~1redeem~1history~1customerId~1{customerId}/get","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List Redeemed Promotions","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Returns a list of redeemed promotions for a given customer.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"customerId","in":"path","schemaId":"schema_17","description":"Id of customer","required":true}],"pointer":"/paths/~1promotions~1redeem~1history~1customerId~1{customerId}/get/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PromotionHistoryResponse"}},"schemaId":"components/schemas/PromotionHistoryResponse","pointer":"/paths/~1promotions~1redeem~1history~1customerId~1{customerId}/get/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/promotions/redeem/history/customerId/{customerId}","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[{"name":"customerId","in":"path","required":true,"schemaId":"schema_17"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/PromotionHistoryResponse"}},"responseCodes":["200","400","401","403","404"],"pointer":"/promotions/redeem/history/customerId/{customerId}","href":"promotions/getpromotionhistory","openApiOperationId":"getPromotionHistory","summary":"List Redeemed Promotions"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"schemaId":"components/schemas/PromotionHistoryResponse","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PromotionHistoryResponse"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos"},{"code":"404","description":"Not Found - promotion was not found"}],"pointer":"/paths/~1promotions~1redeem~1history~1customerId~1{customerId}/get/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/promotions/getpromotionhistory"}],"panels":[]}]},"httpPath":"/promotions/redeem/history/customerId/{customerId}"},{"label":"Evaluate Cart Promotions","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/promotions/postpromotioncart","routeSlug":"/openapi/promotions/postpromotioncart","metadata":{"seo":{"title":"Evaluate Cart Promotions","description":"Return promotions based on shopping cart"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"postPromotionCart","name":"Evaluate Cart Promotions","isWebhook":false,"pointer":"/paths/~1promotions~1cart/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Evaluate Cart Promotions","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Return promotions based on shopping cart\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PromotionsByCartRequest"}},"schemaId":"components/schemas/PromotionsByCartRequest","pointer":"/paths/~1promotions~1cart/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/promotions/cart","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/PromotionsByCartRequest"}},"responseCodes":["200","400","401","404"],"pointer":"/promotions/cart","href":"promotions/postpromotioncart","openApiOperationId":"postPromotionCart","summary":"Evaluate Cart Promotions"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"schemaId":"components/schemas/PromotionsByCartRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PromotionsByCartRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/DynamicResponse"}},"schemaId":"components/schemas/DynamicResponse"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"404","description":"Function Not Found"}],"pointer":"/paths/~1promotions~1cart/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/DynamicResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/DynamicResponse"}}},{"code":"400"},{"code":"401"},{"code":"404"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/promotions/postpromotioncart"}],"panels":[]}]},"httpPath":"/promotions/cart"},{"label":"List Promotion Campaigns","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/promotions/getpromotionscampaigns","routeSlug":"/openapi/promotions/getpromotionscampaigns","metadata":{"seo":{"title":"List Promotion Campaigns","description":"This method allows the client to get a list of all active promotions."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getPromotionsCampaigns","name":"List Promotion Campaigns","isWebhook":false,"pointer":"/paths/~1promotions~1campaigns/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List Promotion Campaigns","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"This method allows the client to get a list of all active promotions.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/promotions/campaigns","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/promotions/campaigns","href":"promotions/getpromotionscampaigns","openApiOperationId":"getPromotionsCampaigns","summary":"List Promotion Campaigns"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/PromotionCampaignResponse"}},"schemaId":"components/schemas/PromotionCampaignResponse"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos"},{"code":"404","description":"Not Found"}],"pointer":"/paths/~1promotions~1campaigns/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/PromotionCampaignResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/PromotionCampaignResponse"}}},{"code":"400"},{"code":"401"},{"code":"403"},{"code":"404"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/promotions/getpromotionscampaigns"}],"panels":[]}]},"httpPath":"/promotions/campaigns"},{"label":"List Promotion Definitions","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/promotions/getpromotionsdefinitions","routeSlug":"/openapi/promotions/getpromotionsdefinitions","metadata":{"seo":{"title":"List Promotion Definitions","description":"This method allows the client to list all promotion definitions"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getPromotionsDefinitions","name":"List Promotion Definitions","isWebhook":false,"pointer":"/paths/~1promotions~1definitions/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List Promotion Definitions","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"This method allows the client to list all promotion definitions\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/promotions/definitions","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/promotions/definitions","href":"promotions/getpromotionsdefinitions","openApiOperationId":"getPromotionsDefinitions","summary":"List Promotion Definitions"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/PromotionDefintionsResponse"}},"schemaId":"components/schemas/PromotionDefintionsResponse"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos"},{"code":"404","description":"Not Found"}],"pointer":"/paths/~1promotions~1definitions/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/PromotionDefintionsResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/PromotionDefintionsResponse"}}},{"code":"400"},{"code":"401"},{"code":"403"},{"code":"404"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/promotions/getpromotionsdefinitions"}],"panels":[]}]},"httpPath":"/promotions/definitions"},{"label":"Execute Dynamic Promotion Function","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/promotions/postpromotiondynamic","routeSlug":"/openapi/promotions/postpromotiondynamic","metadata":{"seo":{"title":"Execute Dynamic Promotion Function","description":"This method is fully dynamic both in request/response and is available for specific client customizations on the promotions endpoint."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"postPromotionDynamic","name":"Execute Dynamic Promotion Function","isWebhook":false,"pointer":"/paths/~1promotions~1dynamic~1{function}/post","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Execute Dynamic Promotion Function","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"This method is fully dynamic both in request/response and is available for specific client customizations on the promotions endpoint.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"function","in":"path","schemaId":"schema_17","description":"Your custom function name provided by Oculos","required":true}],"pointer":"/paths/~1promotions~1dynamic~1{function}/post/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/promotions/dynamic/{function}","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[{"name":"function","in":"path","required":true,"schemaId":"schema_17"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","404"],"pointer":"/promotions/dynamic/{function}","href":"promotions/postpromotiondynamic","openApiOperationId":"postPromotionDynamic","summary":"Execute Dynamic Promotion Function"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/DynamicResponse"}},"schemaId":"components/schemas/DynamicResponse"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"404","description":"Function Not Found"}],"pointer":"/paths/~1promotions~1dynamic~1{function}/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/DynamicResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/DynamicResponse"}}},{"code":"400"},{"code":"401"},{"code":"404"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/promotions/postpromotiondynamic"}],"panels":[]}]},"httpPath":"/promotions/dynamic/{function}"},{"label":"Enable Customer Promotion","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/promotions/enablecustomerpromotionuse","routeSlug":"/openapi/promotions/enablecustomerpromotionuse","metadata":{"seo":{"title":"Enable Customer Promotion","description":"This method allows a specific promotion to be used (redeemed) by a specific customer again, if it previously has been disabled using the  disableUse  method."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"enableCustomerPromotionUse","name":"Enable Customer Promotion","isWebhook":false,"pointer":"/paths/~1promotions~1{promotionId}~1enableUse~1{customerId}/post","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Enable Customer Promotion","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This method allows a specific promotion to be used (redeemed) by a specific customer again, if it previously has been disabled using the  "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"disableUse "},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" method."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"As default, promotions are set to available/enabled for use when assigned to a customer."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"promotionId","in":"path","schemaId":"schema_17","description":"Promotion identifier. (id property found on promotion object).","required":true},{"name":"customerId","in":"path","schemaId":"schema_17","description":"Customer identifier (id property on customer).","required":true}],"pointer":"/paths/~1promotions~1{promotionId}~1enableUse~1{customerId}/post/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/promotions/{promotionId}/enableUse/{customerId}","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[{"name":"promotionId","in":"path","required":true,"schemaId":"schema_17"},{"name":"customerId","in":"path","required":true,"schemaId":"schema_17"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/promotions/{promotionId}/enableUse/{customerId}","href":"promotions/enablecustomerpromotionuse","openApiOperationId":"enableCustomerPromotionUse","summary":"Enable Customer Promotion"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos before usage."}],"pointer":"/paths/~1promotions~1{promotionId}~1enableUse~1{customerId}/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/promotions/enablecustomerpromotionuse"}],"panels":[]}]},"httpPath":"/promotions/{promotionId}/enableUse/{customerId}"},{"label":"Disable Customer Promotion","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/promotions/disablecustomerpromotionuse","routeSlug":"/openapi/promotions/disablecustomerpromotionuse","metadata":{"seo":{"title":"Disable Customer Promotion","description":"Disable the possiblity for a specific promotion to be used (redeemed) by a specific customer."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"disableCustomerPromotionUse","name":"Disable Customer Promotion","isWebhook":false,"pointer":"/paths/~1promotions~1{promotionId}~1disableUse~1{customerId}/post","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Disable Customer Promotion","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Disable the possiblity for a specific promotion to be used (redeemed) by a specific customer.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"promotionId","in":"path","schemaId":"schema_17","description":"Promotion identifier. (id property found on promotion object).","required":true},{"name":"customerId","in":"path","schemaId":"schema_17","description":"Customer identifier (id property on customer).","required":true}],"pointer":"/paths/~1promotions~1{promotionId}~1disableUse~1{customerId}/post/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/promotions/{promotionId}/disableUse/{customerId}","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[{"name":"promotionId","in":"path","required":true,"schemaId":"schema_17"},{"name":"customerId","in":"path","required":true,"schemaId":"schema_17"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/promotions/{promotionId}/disableUse/{customerId}","href":"promotions/disablecustomerpromotionuse","openApiOperationId":"disableCustomerPromotionUse","summary":"Disable Customer Promotion"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos before usage."}],"pointer":"/paths/~1promotions~1{promotionId}~1disableUse~1{customerId}/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/promotions/disablecustomerpromotionuse"}],"panels":[]}]},"httpPath":"/promotions/{promotionId}/disableUse/{customerId}"}],"content":{"contentType":"group","meta":{"name":"Promotions"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Promotions","showPageActions":true},{"nodeType":"markdoc","content":"This API provides various methods for managing promotions. \n\nClients can retrieve available promotions id or phone number, redeem promotions, and view redeemed ones."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/promotions/customerId/{customerId}","summary":"List Customer Promotions","prefix":{"name":"get","color":"get"},"badges":[],"link":"/promotions/getpromotionsbycustomerid","deprecated":false},{"title":"/promotions/mobilePhone","summary":"List Promotions by Phone Number","prefix":{"name":"get","color":"get"},"badges":[],"link":"/promotions/getpromotionsbymobilephone","deprecated":false},{"title":"/promotions/redeem","summary":"Redeem Promotion","prefix":{"name":"post","color":"post"},"badges":[],"link":"/promotions/redeempromotion","deprecated":false},{"title":"/promotions/redeem/history/customerId/{customerId}","summary":"List Redeemed Promotions","prefix":{"name":"get","color":"get"},"badges":[],"link":"/promotions/getpromotionhistory","deprecated":false},{"title":"/promotions/cart","summary":"Evaluate Cart Promotions","prefix":{"name":"post","color":"post"},"badges":[],"link":"/promotions/postpromotioncart","deprecated":false},{"title":"/promotions/campaigns","summary":"List Promotion Campaigns","prefix":{"name":"get","color":"get"},"badges":[],"link":"/promotions/getpromotionscampaigns","deprecated":false},{"title":"/promotions/definitions","summary":"List Promotion Definitions","prefix":{"name":"get","color":"get"},"badges":[],"link":"/promotions/getpromotionsdefinitions","deprecated":false},{"title":"/promotions/dynamic/{function}","summary":"Execute Dynamic Promotion Function","prefix":{"name":"post","color":"post"},"badges":[],"link":"/promotions/postpromotiondynamic","deprecated":false},{"title":"/promotions/{promotionId}/enableUse/{customerId}","summary":"Enable Customer Promotion","prefix":{"name":"post","color":"post"},"badges":[],"link":"/promotions/enablecustomerpromotionuse","deprecated":false},{"title":"/promotions/{promotionId}/disableUse/{customerId}","summary":"Disable Customer Promotion","prefix":{"name":"post","color":"post"},"badges":[],"link":"/promotions/disablecustomerpromotionuse","deprecated":false}]}]}]}]}},{"type":"group","label":"Reports","link":"/openapi/reports","routeSlug":"/openapi/reports","items":[{"label":"Get Report","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/reports/getreport","routeSlug":"/openapi/reports/getreport","metadata":{"seo":{"title":"Get Report","description":"Method that returns different types of reports based on input parameters and/or querys. Input parameters and/or querys are fully dynamic and can vary between clients."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getReport","name":"Get Report","isWebhook":false,"pointer":"/paths/~1reports~1{reportType}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Report","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Method that returns different types of reports based on input parameters and/or querys.\nInput parameters and/or querys are fully dynamic and can vary between clients. \n\nFor a complete list of parameters and example of response in your implemenation, please contact our support team.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"reportType","in":"path","schemaId":"schema_17","description":"Type (id) of report that should be returned\n","required":true}],"pointer":"/paths/~1reports~1{reportType}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/reports/{reportType}","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[{"name":"reportType","in":"path","required":true,"schemaId":"schema_17"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/reports/{reportType}","href":"reports/getreport","openApiOperationId":"getReport","summary":"Get Report"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos"}],"pointer":"/paths/~1reports~1{reportType}/get/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/reports/getreport"}],"panels":[]}]},"httpPath":"/reports/{reportType}"}],"content":{"contentType":"group","meta":{"name":"Reports"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Reports","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Endpoint that provides method(s) for returning various types of reports. Reports could be either of standard type or could be individually configured for clients."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Examples of reports:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"New customers last 24 hours"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deleted customers last 24 hours"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bonus transactions made by customer"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"+++"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Some reports that have a high volume response, may return the result in pages. This requires the client to iterate through each page to fetch the entire result."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"In reports with paging functionality, a metaData object will contain paging information:"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"{\n  \"metaData\": {\n      \"reportType\": \"customers\",\n      \"totalRecords\": 12,\n      \"totalPages\": 1,\n      \"activePage\": 1\n    }  \n}\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"{\n  \"metaData\": {\n      \"reportType\": \"customers\",\n      \"totalRecords\": 12,\n      \"totalPages\": 1,\n      \"activePage\": 1\n    }  \n}\n"},"children":[]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"totalRecords"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" = Number of records available through all pages"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"totalPages"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" = How many pages available containing data"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"activePage"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" = Which page the client is on"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To control wich page to fetch data from and how many records that should be return on each page use querystring parameters."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"page"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" = from wich page should the dataset be fetched from (default = 1)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"rowsPage"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" = how many results per page that should be returned (default = 25)"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please contact us for further information on your possiblites."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/reports/{reportType}","summary":"Get Report","prefix":{"name":"get","color":"get"},"badges":[],"link":"/reports/getreport","deprecated":false}]}]}]}]}},{"type":"group","label":"Stores","link":"/openapi/stores","routeSlug":"/openapi/stores","items":[{"label":"List Stores","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/stores/getstores","routeSlug":"/openapi/stores/getstores","metadata":{"seo":{"title":"List Stores","description":"Endpoint for getting all client stores, both physical and online."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getStores","name":"List Stores","isWebhook":false,"pointer":"/paths/~1stores/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List Stores","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Endpoint for getting all client stores, both physical and online. \n\nDefault properties are id and name. \n\nDepending on the clients data, there may be additional data available under the extendedProperties object.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/stores","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["200","400"],"pointer":"/stores","href":"stores/getstores","openApiOperationId":"getStores","summary":"List Stores"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/StoreResponse"}},"schemaId":"components/schemas/StoreResponse"},{"code":"400","description":"Unauthorized"}],"pointer":"/paths/~1stores/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/StoreResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/StoreResponse"}}},{"code":"400"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/stores/getstores"}],"panels":[]}]},"httpPath":"/stores"}],"content":{"contentType":"group","meta":{"name":"Stores"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Stores","showPageActions":true},{"nodeType":"markdoc","content":"Endpoint for Stores"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/stores","summary":"List Stores","prefix":{"name":"get","color":"get"},"badges":[],"link":"/stores/getstores","deprecated":false}]}]}]}]}},{"type":"group","label":"Transactions","link":"/openapi/transactions","routeSlug":"/openapi/transactions","items":[{"label":"List Transactions","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/transactions/gettransactions","routeSlug":"/openapi/transactions/gettransactions","metadata":{"seo":{"title":"List Transactions","description":"Returns all transactions for a member."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getTransactions","name":"List Transactions","isWebhook":false,"pointer":"/paths/~1transactions~1customerId~1{customerId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List Transactions","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Returns all transactions for a member.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"customerId","in":"path","schemaId":"schema_17","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Member identifier, depending on configuration one of the following identifers could be in use:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Mobile phone"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unique id (oipId or externalSystemId)"},"children":[]}]}]}]}],"required":true}],"pointer":"/paths/~1transactions~1customerId~1{customerId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/transactions/customerId/{customerId}","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[{"name":"customerId","in":"path","required":true,"schemaId":"schema_17"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/transactions/customerId/{customerId}","href":"transactions/gettransactions","openApiOperationId":"getTransactions","summary":"List Transactions"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TransactionResponse"}},"schemaId":"components/schemas/TransactionResponse"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos"},{"code":"404","description":"Member Not Found"}],"pointer":"/paths/~1transactions~1customerId~1{customerId}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/TransactionResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TransactionResponse"}}},{"code":"400"},{"code":"401"},{"code":"403"},{"code":"404"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/transactions/gettransactions"}],"panels":[]}]},"httpPath":"/transactions/customerId/{customerId}"},{"label":"Create Transaction","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/transactions/addtransactions","routeSlug":"/openapi/transactions/addtransactions","metadata":{"seo":{"title":"Create Transaction","description":"Endpoint used for inserting transactions into OIP."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"addTransactions","name":"Create Transaction","isWebhook":false,"pointer":"/paths/~1transactions/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create Transaction","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Endpoint used for inserting transactions into OIP."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"It is recommended to send in a list/batch of transactions instead of sending multiple single transactions."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The maximum recommended items per batch is around 400 transactions/items."},"children":[]}]}]},{"$$mdtype":"Node","type":"tag","tag":"admonition","attributes":{"type":"info","name":"Returns"},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To make a transaction be processed as a return, you have to do the following:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set the transactionType field on item level to 'RETURN'"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set the quantity value to a negative value."},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Example of transaction flagged as a return:"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"{\n\"ReceiptRequests\": [\n  {\n    \"Header\": {\n      \"StoreId\": \"001\",\n      \"ReceiptId\": \"9999258836\",\n      \"TimeStamp\": \"2023-10-13T14:50:05\",\n      \"ConsumerId\": \"9ae37ad3-8a55-4bb5-81fd-b08f00b684ed\",\n      \"GrossAmount\": 1817.8,\n      \"Vat\": 363.56\n    },\n    \"Items\": [\n      {\n        \"ReceiptId\": \"Id of receipt\",\n        \"LineNo\": 1,\n        \"Quantity\": -1,\n        \"ProductId\": \"VR1722775\",\n        \"ProductName\": \"MINI CHRISTMAS TREE WITH LED LIGHTS\",\n        \"GrossAmount\": 1817.8,\n        \"Vat\": 363.56,\n        \"NetAmount\": 1454.24,\n        \"TransactionType\": \"RETURN\"\n      }\n    ]\n  }\n]\n}\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"{\n\"ReceiptRequests\": [\n  {\n    \"Header\": {\n      \"StoreId\": \"001\",\n      \"ReceiptId\": \"9999258836\",\n      \"TimeStamp\": \"2023-10-13T14:50:05\",\n      \"ConsumerId\": \"9ae37ad3-8a55-4bb5-81fd-b08f00b684ed\",\n      \"GrossAmount\": 1817.8,\n      \"Vat\": 363.56\n    },\n    \"Items\": [\n      {\n        \"ReceiptId\": \"Id of receipt\",\n        \"LineNo\": 1,\n        \"Quantity\": -1,\n        \"ProductId\": \"VR1722775\",\n        \"ProductName\": \"MINI CHRISTMAS TREE WITH LED LIGHTS\",\n        \"GrossAmount\": 1817.8,\n        \"Vat\": 363.56,\n        \"NetAmount\": 1454.24,\n        \"TransactionType\": \"RETURN\"\n      }\n    ]\n  }\n]\n}\n"},"children":[]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_22"}},"schemaId":"schema_22","pointer":"/paths/~1transactions/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/transactions","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_22"}},"responseCodes":["200","400","401","403"],"pointer":"/transactions","href":"transactions/addtransactions","openApiOperationId":"addTransactions","summary":"Create Transaction"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"schemaId":"schema_22","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_22"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos"}],"pointer":"/paths/~1transactions/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/transactions/addtransactions"}],"panels":[]}]},"httpPath":"/transactions"}],"content":{"contentType":"group","meta":{"name":"Transactions"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Transactions","showPageActions":true},{"nodeType":"markdoc","content":"Endpoint for transactions"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/transactions/customerId/{customerId}","summary":"List Transactions","prefix":{"name":"get","color":"get"},"badges":[],"link":"/transactions/gettransactions","deprecated":false},{"title":"/transactions","summary":"Create Transaction","prefix":{"name":"post","color":"post"},"badges":[],"link":"/transactions/addtransactions","deprecated":false}]}]}]}]}},{"type":"group","label":"Triggers","link":"/openapi/triggers","routeSlug":"/openapi/triggers","items":[{"label":"Trigger automation by member id","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/triggers/triggerautomationbycustomerid","routeSlug":"/openapi/triggers/triggerautomationbycustomerid","metadata":{"seo":{"title":"Trigger automation by member id","description":"Methods available to trigger automations."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"triggerAutomationByCustomerId","name":"Trigger automation by member id","isWebhook":false,"pointer":"/paths/~1triggers~1{id}~1customer~1{customerId}/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Trigger automation by member id","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Methods available to trigger automations. \n\nThe automation that should be triggered also has to be configured in the marketing automation system.\n\nAs the payload can vary between triggers, the request is fully dynamic and should be posted as dictionary with key/value. \n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_17","description":"id of trigger","required":true},{"name":"customerId","in":"path","schemaId":"schema_17","description":"The members id","required":true}],"pointer":"/paths/~1triggers~1{id}~1customer~1{customerId}/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_23"}},"schemaId":"schema_23","pointer":"/paths/~1triggers~1{id}~1customer~1{customerId}/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/triggers/{id}/customer/{customerId}","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_17"},{"name":"customerId","in":"path","required":true,"schemaId":"schema_17"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_23"}},"responseCodes":["200","400","401","403","404"],"pointer":"/triggers/{id}/customer/{customerId}","href":"triggers/triggerautomationbycustomerid","openApiOperationId":"triggerAutomationByCustomerId","summary":"Trigger automation by member id"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"schemaId":"schema_23","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_23"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_17"}},"schemaId":"schema_17"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos"},{"code":"404","description":"Trigger not found"}],"pointer":"/paths/~1triggers~1{id}~1customer~1{customerId}/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_17","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_17"}}},{"code":"400"},{"code":"401"},{"code":"403"},{"code":"404"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/triggers/triggerautomationbycustomerid"}],"panels":[]}]},"httpPath":"/triggers/{id}/customer/{customerId}"},{"label":"Trigger automation by mobile phone number","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/triggers/triggerautomationbymobilephone","routeSlug":"/openapi/triggers/triggerautomationbymobilephone","metadata":{"seo":{"title":"Trigger automation by mobile phone number","description":"Methods available to trigger automations by a configurable identificator, for example mobile phone."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"triggerAutomationByMobilePhone","name":"Trigger automation by mobile phone number","isWebhook":false,"pointer":"/paths/~1triggers~1{id}~1customer~1mobilePhone~1{mobilePhone}/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Trigger automation by mobile phone number","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Methods available to trigger automations by a configurable identificator, for example mobile phone.\n  \nThe automation that should be triggered also has to be configured in the marketing automation system.\n\nAs the payload can vary between triggers, the request is fully dynamic and should be posted as dictionary with key/value.   \n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_17","description":"Id of trigger","required":true},{"name":"mobilePhone","in":"path","schemaId":"schema_17","description":"Members mobile phone number","required":true}],"pointer":"/paths/~1triggers~1{id}~1customer~1mobilePhone~1{mobilePhone}/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_23"}},"schemaId":"schema_23","pointer":"/paths/~1triggers~1{id}~1customer~1mobilePhone~1{mobilePhone}/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/triggers/{id}/customer/mobilePhone/{mobilePhone}","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_17"},{"name":"mobilePhone","in":"path","required":true,"schemaId":"schema_17"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_23"}},"responseCodes":["200","400","401","403","404"],"pointer":"/triggers/{id}/customer/mobilePhone/{mobilePhone}","href":"triggers/triggerautomationbymobilephone","openApiOperationId":"triggerAutomationByMobilePhone","summary":"Trigger automation by mobile phone number"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"schemaId":"schema_23","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_23"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_17"}},"schemaId":"schema_17"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos"},{"code":"404","description":"Trigger not found"}],"pointer":"/paths/~1triggers~1{id}~1customer~1mobilePhone~1{mobilePhone}/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_17","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_17"}}},{"code":"400"},{"code":"401"},{"code":"403"},{"code":"404"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/triggers/triggerautomationbymobilephone"}],"panels":[]}]},"httpPath":"/triggers/{id}/customer/mobilePhone/{mobilePhone}"}],"content":{"contentType":"group","meta":{"name":"Triggers"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Triggers","showPageActions":true},{"nodeType":"markdoc","content":"Endpoints that enables triggering automations through the API.\n\nAutomations is a feature that simplifies and speeds up repetitive tasks. It helps marketers send emails, post on social media, and manage customer data more efficiently"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/triggers/{id}/customer/{customerId}","summary":"Trigger automation by member id","prefix":{"name":"post","color":"post"},"badges":[],"link":"/triggers/triggerautomationbycustomerid","deprecated":false},{"title":"/triggers/{id}/customer/mobilePhone/{mobilePhone}","summary":"Trigger automation by mobile phone number","prefix":{"name":"post","color":"post"},"badges":[],"link":"/triggers/triggerautomationbymobilephone","deprecated":false}]}]}]}]}},{"type":"group","label":"Vipps","link":"/openapi/vipps","routeSlug":"/openapi/vipps","items":[{"label":"Trigger recruitment by SMS","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/vipps/vippsrecruitbycodeword","routeSlug":"/openapi/vipps/vippsrecruitbycodeword","metadata":{"seo":{"title":"Trigger recruitment by SMS","description":"Starts the recruitment process from a code word"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"vippsRecruitByCodeWord","name":"Trigger recruitment by SMS","isWebhook":false,"pointer":"/paths/~1vipps~1codeword~1{phone}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Trigger recruitment by SMS","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Starts the recruitment process from a code word"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"phone","in":"path","schemaId":"schema_17","description":"Customers mobile phone, only norwegian number without country code.","required":true,"example":"91234567"}],"pointer":"/paths/~1vipps~1codeword~1{phone}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/vipps/codeword/{phone}","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[{"name":"phone","in":"path","required":true,"example":"91234567","schemaId":"schema_17"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/vipps/codeword/{phone}","href":"vipps/vippsrecruitbycodeword","openApiOperationId":"vippsRecruitByCodeWord","summary":"Trigger recruitment by SMS"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos"}],"pointer":"/paths/~1vipps~1codeword~1{phone}/get/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/vipps/vippsrecruitbycodeword"}],"panels":[]}]},"httpPath":"/vipps/codeword/{phone}"},{"label":"Trigger recruitment from POS","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/vipps/vippsrecruitfrompos","routeSlug":"/openapi/vipps/vippsrecruitfrompos","metadata":{"seo":{"title":"Trigger recruitment from POS","description":"This method allows POS to trigger the Vipps recruitment process and OIP to collect store recruitment statistics."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"vippsRecruitFromPos","name":"Trigger recruitment from POS","isWebhook":false,"pointer":"/paths/~1vipps/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Trigger recruitment from POS","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"This method allows POS to trigger the Vipps recruitment process and OIP to collect store recruitment statistics.            \n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/VippsTriggerByPosRequest"}},"schemaId":"components/schemas/VippsTriggerByPosRequest","pointer":"/paths/~1vipps/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/vipps","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/VippsTriggerByPosRequest"}},"responseCodes":["200","400","401","403","409"],"pointer":"/vipps","href":"vipps/vippsrecruitfrompos","openApiOperationId":"vippsRecruitFromPos","summary":"Trigger recruitment from POS"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"schemaId":"components/schemas/VippsTriggerByPosRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/VippsTriggerByPosRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos"},{"code":"409","description":"Conflict"}],"pointer":"/paths/~1vipps/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/vipps/vippsrecruitfrompos"}],"panels":[]}]},"httpPath":"/vipps"}],"content":{"contentType":"group","meta":{"name":"Vipps"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Vipps","showPageActions":true},{"nodeType":"markdoc","content":"Endpoint for Vipps integration"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/vipps/codeword/{phone}","summary":"Trigger recruitment by SMS","prefix":{"name":"get","color":"get"},"badges":[],"link":"/vipps/vippsrecruitbycodeword","deprecated":false},{"title":"/vipps","summary":"Trigger recruitment from POS","prefix":{"name":"post","color":"post"},"badges":[],"link":"/vipps/vippsrecruitfrompos","deprecated":false}]}]}]}]}},{"type":"group","label":"Wallets","link":"/openapi/wallets","routeSlug":"/openapi/wallets","items":[{"label":"Generate wallet links","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/wallets/generatewalletlinks","routeSlug":"/openapi/wallets/generatewalletlinks","metadata":{"seo":{"title":"Generate wallet links","description":"This method allows the client to generate wallet links for Apple Wallet and Google Wallet."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"generateWalletLinks","name":"Generate wallet links","isWebhook":false,"pointer":"/paths/~1wallets/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Generate wallet links","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"This method allows the client to generate wallet links for Apple Wallet and Google Wallet.\n\nThis method allows you to retrieve pass-links for promotions and memberships by passing a customer id, which can then be mapped directly to \"Add to Wallet\" buttons in your UI.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"api_key","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"customerId","in":"path","schemaId":"schema_17","description":"The customers id","required":true}],"pointer":"/paths/~1wallets/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/wallets","servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"parameters":{"path":[{"name":"customerId","in":"path","required":true,"schemaId":"schema_17"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"api_key","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/wallets","href":"wallets/generatewalletlinks","openApiOperationId":"generateWalletLinks","summary":"Generate wallet links"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/WalletLinksReponse"}},"schemaId":"components/schemas/WalletLinksReponse"},{"code":"400","description":"Bad Request"},{"code":"401","description":"Unauthorized"},{"code":"403","description":"Forbidden - this method requires activation and configuration from Oculos"},{"code":"404","description":"Customer Not Found"}],"pointer":"/paths/~1wallets/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/WalletLinksReponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/WalletLinksReponse"}}},{"code":"400"},{"code":"401"},{"code":"403"},{"code":"404"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/wallets/generatewalletlinks"}],"panels":[]}]},"httpPath":"/wallets"}],"content":{"contentType":"group","meta":{"name":"Wallets"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Wallets","showPageActions":true},{"nodeType":"markdoc","content":"The wallets endpoint provides methods for generating authorized provisioning URLs for Apple Wallet and Google Wallet. \n\nThis allows you to retrieve pass-links for promotions and memberships by passing a customer id, which can then be mapped directly to \"Add to Wallet\" buttons in your user interface."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/wallets","summary":"Generate wallet links","prefix":{"name":"get","color":"get"},"badges":[],"link":"/wallets/generatewalletlinks","deprecated":false}]}]}]}]}}],"store":{"schemaStore":{"components/schemas/AffiliatesResponse":{"id":"components/schemas/AffiliatesResponse","kind":"json-schema","title":"AffiliatesResponse","data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"154831A5-7E2E-44D8-8F2B-FB0D33CAD941"},"name":{"type":"string","example":"Sample Affiliate"},"description":{"type":"string","example":"Affiliate agreement for Sample Affiliate"},"active":{"type":"boolean","example":true},"store":{"type":"string","nullable":true,"example":null},"storeId":{"type":"string","nullable":true,"example":null},"contractType":{"type":"string","example":"Central"},"contractTypeId":{"type":"integer","example":2},"partnerType":{"type":"string","example":"eCom"},"partnerTypeId":{"type":"integer","example":2},"organizationNo":{"type":"string","example":"0"},"validFrom":{"type":"string","format":"date-time","example":"2025-05-01T00:00:00"},"validTo":{"type":"string","format":"date-time","example":"2029-12-28T00:00:00"},"contactFirstName":{"type":"string","example":"John"},"contactLastName":{"type":"string","example":"Doe"},"contactEmail":{"type":"string","example":"sample-affiliate@test.com"},"contactPhone":{"type":"string","nullable":true,"example":null},"internalContact":{"type":"string","example":"John Doe"},"extendedProperties":{"type":"object","additionalProperties":true,"example":{}}}}}},"components/schemas/EmptyCartRequest":{"id":"components/schemas/EmptyCartRequest","kind":"json-schema","title":"EmptyCartRequest","data":{"type":"object","properties":{"cartId":{"type":"string","description":"Cart identifier","example":"934E2183-5004-45B0-8E75-A5178F1DEEF1"}}}},"components/schemas/CartRequest":{"id":"components/schemas/CartRequest","kind":"json-schema","title":"CartRequest","data":{"type":"object","required":["cartId","contactId"],"properties":{"cartId":{"type":"string","example":"934E2183-5004-45B0-8E75-A5178F1DEEF1","description":"Unique identifier of cart"},"cartUrl":{"type":"string","description":"URL to customers cart","example":"http://mywebshop.com/cart/934E2183-5004-45B0-8E75-A5178F1DEEF1"},"contactId":{"type":"string","description":"Customer identifer","example":"F68438A9-800B-457D-81D5-952FCEB63D8C"},"externalId":{"type":"string","description":"External customer identifer","example":"100001111"},"extendedProperties":{"type":"object","description":"Additional properties depending on configuration","properties":{"additionalProp1":{"type":"string"},"additionalProp2":{"type":"string"},"additionalProp3":{"type":"string"}}},"items":{"type":"array","description":"List of products/items","items":{"type":"object","properties":{"itemId":{"type":"string","description":"Unique id of item","example":"1001"},"quantity":{"type":"number","description":"Number of items","example":2},"productUrl":{"type":"string","description":"URL to product","example":"https://mywebshop.com/products/1001"},"imageUrl":{"type":"string","description":"URL to an image of the product","example":"https://mywebshop.com/products/images/1001"},"name":{"type":"string","description":"Name of product","example":"Product 1001"},"price":{"type":"number","description":"TODO","example":799.9},"salePrice":{"type":"number","description":"TODO","example":499.5},"currency":{"type":"string","default":"Currency code","example":"NOK"}}}}}}},"components/schemas/GetBonusCampaignsResponse":{"id":"components/schemas/GetBonusCampaignsResponse","kind":"json-schema","title":"GetBonusCampaignsResponse","data":{"type":"array","items":{"properties":{"id":{"type":"string","example":"5","description":"Id of campaign"},"campaignName":{"type":"string","description":"Display name of campign","example":"Double bonus on 5 for 300 (covering bark 40 liter)"},"campaignType":{"type":"string","description":"Campaign type identificator","example":"F"},"rewardType":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Type of reward. 'double' = double bonus"},"children":[]}]}]}],"example":"double"},"points":{"type":"integer","description":"Points rewarded by purchasing a product included in this campaign. Depending on rewardType, this value is not always set.","example":null},"campaignImageUrl":{"type":"string","description":"URL to an image representing the campaign","example":"https://cdn.oculos.no/images/test.png"},"validFrom":{"type":"string","description":"The campaign is valid from","example":"2022-05-29T00:00:00"},"validTo":{"type":"string","description":"The campaign is valid to","example":"2022-06-29T00:00:00"},"products":{"type":"array","description":"List of products included in campaign","items":{"properties":{"id":{"type":"string","description":"ProductId included in campaign","example":"AA-123456789"}}}}}}}},"components/schemas/BonusImportRequest":{"id":"components/schemas/BonusImportRequest","kind":"json-schema","title":"BonusImportRequest","data":{"type":"object","properties":{"externalId":{"type":"string","example":"+4712345678","description":"The external identifer, most common is the members mobile phone number."},"activity":{"type":"string","description":"The id of the activity that the customer has performed.","example":"20"},"activityDate":{"type":"string","description":"When whas the activity done.","example":"2022-07-01"},"activityValue":{"type":"integer","description":"How many points is awarded for the activity.","example":10}}}},"components/schemas/BonusImportResponse":{"id":"components/schemas/BonusImportResponse","kind":"json-schema","title":"BonusImportResponse","data":{"type":"array","items":{"properties":{"status":{"type":"string","example":"1","description":"Response status code"},"statusText":{"type":"string","description":"Response status for the bonus import in text","example":"OK"},"points":{"type":"string","description":"Campaign type identificator","example":"38"},"totaltPoints":{"type":"string","description":"Total bonus amount","example":"38"},"activityPoints":{"type":"string","description":"Points rewarded by purchasing a product included in this campaign. Depending on rewardType, this value is not always set.","example":"8"}}}}},"components/schemas/AddRewardPointsRequest":{"id":"components/schemas/AddRewardPointsRequest","kind":"json-schema","title":"AddRewardPointsRequest","data":{"type":"object","required":["points","description"],"properties":{"points":{"type":"number","example":1000,"description":"Number of points to add"},"description":{"type":"string","description":"Description of points added","example":"Extra bonus points due to delayed shipment"}}}},"components/schemas/LoyaltyActivityRequest":{"id":"components/schemas/LoyaltyActivityRequest","kind":"json-schema","title":"LoyaltyActivityRequest","data":{"type":"object","description":"An empty payload","properties":{}}},"components/schemas/transferClipsRequest":{"id":"components/schemas/transferClipsRequest","kind":"json-schema","title":"transferClipsRequest","data":{"type":"object","required":["fromCustomerId","toCustomerId","loyaltycardId","clipCount"],"properties":{"fromCustomerId":{"type":"string","example":"15BE85AB-CD61-4A23-8C22-0981AD35DBD1S2010","description":"The id of the customer that gives away the clips."},"toCustomerId":{"type":"string","example":"2A9ACDD0-9113-4EF4-8EA9-FD343E040EE9","description":"The customer that should receive clips. Target identifier can be either id property or mobile phone."},"loyaltycardId":{"type":"string","example":"952841C1-4385-40B3-8B30-A65AAC66108E","description":"From which loyalty card should the clips be transfered from."},"clipCount":{"type":"integer","example":1,"description":"Number of clips to give."},"extendedProperties":{"type":"object","description":"Additional properties depending on configuration","properties":{"additionalProp1":{"type":"string"},"additionalProp2":{"type":"string"},"additionalProp3":{"type":"string"}}}}}},"components/schemas/BonusRulesResponse":{"id":"components/schemas/BonusRulesResponse","kind":"json-schema","title":"BonusRulesResponse","data":{"type":"array","items":{"properties":{"bonusRuleId":{"type":"string","example":"2","description":"Id of bonus rule"},"name":{"type":"string","description":"Name of rule","example":"Registrering"},"bonusRuleType":{"type":"string","description":"Type of rule, for example a bonus rule that is triggered by customer registration","example":"REGISTER"},"value":{"type":"string","description":"Value of bonus rule","example":"30"},"validFrom":{"type":"string","description":"Start date for when the rule is active","example":"2022-01-01T00:00:00"},"validTo":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"End date for when the rule is set to inactive. null = no end date otherwise same format as validFrom"},"children":[]}]}]}],"example":null},"created":{"type":"string","description":"Timestamp for when the rule was created","example":"2021-01-01T00:00:00"}}}}},"components/schemas/GetConsentsReponse":{"id":"components/schemas/GetConsentsReponse","kind":"json-schema","title":"GetConsentsReponse","data":{"type":"array","items":{"properties":{"name":{"type":"string","example":"Medlemsvilkår","description":"Display name of consent"},"id":{"type":"string","description":"Id of consent, use this id when setting consents to true/false","example":"acceptsTerms"},"metaData":{"type":"object"}}}}},"components/schemas/PromotionResponse":{"id":"components/schemas/PromotionResponse","kind":"json-schema","title":"PromotionResponse","data":{"properties":{"id":{"type":"string","example":"2457B03E-9925-45E9-B551-25F10D7BD4F2","description":"Generated unique promotion id"},"type":{"type":"string","description":"Type of promotion","example":"Promotion"},"name":{"type":"string","example":"Welcome coupon","description":"Name of promotion"},"available":{"type":"boolean","example":true,"description":"Boolean that shows the promotions availabilty status"},"description":{"type":"string","example":"This is a coupon that gives the customer 10% discount on any product"},"terms":{"type":"string","example":"This promotion is valid for all products in the store","description":"Terms and conditions of the promotion"},"urlLink":{"type":"string","example":"Link to the promotion"},"urlImage":{"type":"string","example":"https://cdn.oculos.no/img01.png","description":"Link to promotion image"},"validFrom":{"type":"string","example":"2024-04-03T07:38:32.495Z"},"validTo":{"type":"string","example":"2024-04-03T07:38:32.495Z"},"validTimeFrom":{"type":"string","example":"08:00:00","description":"Time of day the promotion becomes valid. Note: This is only a description field that can be used to display information, the actual validity is determined by validFrom and validTo. Default value is 00:00:00"},"validTimeTo":{"type":"string","example":"20:00:00","description":"Time of day the promotion becomes invalid. Note: This is only a description field that can be used to display information, the actual validity is determined by validFrom and validTo. Default value is 00:00:00"},"unlimitedRedemption":{"type":"boolean","example":false,"description":"Can the promotion be redeemed unlimited times"},"redemptionLimit":{"type":"integer","example":5,"description":"How many times can the promotion be redeemed?"},"redemptionCount":{"type":"integer","example":1,"description":"How many times has the promotion been redeem until now"},"sortOrder":{"type":"integer","example":1,"description":"Sort order of the promotion. The sort order is defined in the Trigg application"},"productsIncluded":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":123,"description":"Id of product"},"type":{"type":"string","example":"description"}}}},"productsExcluded":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":123,"description":"Id of product"},"type":{"type":"string","example":"description"}}}},"storesIncluded":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"S-001","description":"Id of product"}}}},"affiliate":{"type":"object","description":"Affiliate information","properties":{"id":{"type":"string","example":"154831A5-7E2E-44D8-8F2B-FB0D33CAD941","description":"Id of affiliate"},"name":{"type":"string","example":"Sample Affiliate","description":"Name of affiliate"}}},"redemptionChannels":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","example":"POS","description":"Channel identifier. Can be ECOM, POS or ALL"},"valueType":{"type":"string","example":"PERCENT","description":"PERCENT, AMOUNT or CODE"},"value":{"type":"string","example":10,"description":"The value of the promotion"},"message":{"type":"string","example":"Only applies to members","description":"Can contain a small message/instruction for coupon usage"}}}},"redemptionHistory":{"type":"array","items":{"type":"object","properties":{"storeId":{"type":"string","example":"S-1001","description":"Id of product"},"receiptId":{"type":"string","example":"120C4CF0-1923-4737-8096-A6E8A89F9574","description":"Unique receiptId"},"redeemDateTime":{"type":"string","example":"2024-04-03T07:38:32.495Z"}}}}}}},"components/schemas/RedeemPromotionRequest":{"id":"components/schemas/RedeemPromotionRequest","kind":"json-schema","title":"RedeemPromotionRequest","data":{"type":"object","required":["id","storeId","memberId"],"properties":{"id":{"type":"string","example":"71E8AC01-152D-4B2E-956A-3656CD3396AE","description":"Unique identifier of promotion"},"storeId":{"type":"string","description":"Id of store that makes the redeem","example":"STORE-001"},"cashRegisterId":{"type":"string","description":"Id of cash register in store that makes the redeem","example":"POS-001"},"cashierId":{"type":"string","description":"Id of casher/employee that makes the redeem","example":"123"},"customerId":{"type":"string","description":"Id of customer to validate the promotion against. Depending on configuration in OIP, this can be a internalId, mobile phone, externalId etc.","example":"3477B4C3-5E2E-4007-9C26-41E60FECB016"},"receiptId":{"type":"string","description":"Id of reciept that the promotion i applied to. Should be the same Id as the receipt sent to OIP after the purchase.","example":"RECEIPT_001"},"extendedProperties":{"type":"object","description":"Additional properties depending on configuration","properties":{"additionalProp1":{"type":"string"},"additionalProp2":{"type":"string"},"additionalProp3":{"type":"string"}}}}}},"components/schemas/PromotionHistoryResponse":{"id":"components/schemas/PromotionHistoryResponse","kind":"json-schema","title":"PromotionHistoryResponse","data":{"type":"array","items":{"type":"object","properties":{"promotionId":{"type":"string","example":"798C55D1-E56F-4B38-BF32-F40B4CA51633","description":"Unique id of promotion"},"promotionDefinitionId":{"type":"string","example":"0E9112C7-3C26-478D-95C7-880F485F89BC","description":"Unique id of promotion definition"},"description":{"type":"string","description":"Short description of promotion","example":"Welcome promotion"},"storeId":{"type":"string","example":"10100","description":"The store where the promotion was redeemed"},"transactionId":{"type":"string","example":"WEB4003655","description":"The transaction id for the redemption"},"redeemedAt":{"type":"string","format":"date-time","example":"2026-05-27T20:44:02.603","description":"The date and time when the promotion was redeemed"}}}}},"components/schemas/PromotionsByCartRequest":{"id":"components/schemas/PromotionsByCartRequest","kind":"json-schema","title":"PromotionsByCartRequest","data":{"type":"object","required":["customerId","articles"],"properties":{"customerId":{"type":"string","example":"15BE85AB-CD61-4A23-8C22-0981AD35DBD1S2010","description":"customer id"},"storeId":{"type":"string","description":"Id of store that sends the cart","example":"STORE001"},"receiptId":{"type":"string","description":"Unique id of receipt","example":"08580DEE-C3B8-4808-8A9A-1CE9F8096B52"},"articles":{"type":"array","items":{"type":"object","description":"List of articles in cart","properties":{"articleId":{"type":"string"},"price":{"type":"number"},"quantity":{"type":"number"}}}}}}},"components/schemas/DynamicResponse":{"id":"components/schemas/DynamicResponse","kind":"json-schema","title":"DynamicResponse","data":{"type":"object","properties":{"field1":{"type":"string","example":"This is a string"},"field2":{"type":"number","example":123},"field3":{"type":"string","example":"Another string"}}}},"components/schemas/PromotionCampaignResponse":{"id":"components/schemas/PromotionCampaignResponse","kind":"json-schema","title":"PromotionCampaignResponse","data":{"type":"array","description":"List of promotion campaigns","items":{"type":"object","properties":{"id":{"type":"string","example":"5A623177-9E15-4568-AC7F-851D36DB70A1","description":"Id of the promotion campaign"},"name":{"type":"string","example":"Velkomstkupong 10%","description":"Name of the promotion campaign"},"description":{"type":"string","example":"Velkomstkupong 10%","description":"Description of the promotion campaign"},"redemptionChannel":{"type":"string","example":"ALL","description":"Redemption channel of the promotion campaign"},"type":{"type":"string","example":"Promotion","description":"Type of the promotion campaign"},"imageUrl":{"type":"string","example":null,"description":"Image URL of the promotion campaign"},"linkUrl":{"type":"string","example":null,"description":"Link URL of the promotion campaign"},"validFrom":{"type":"string","format":"date-time","example":"2025-03-01T00:00:00","description":"Start date and time of the promotion campaign"},"validTo":{"type":"string","format":"date-time","example":null,"description":"End date and time of the promotion campaign"}}}}},"components/schemas/PromotionDefintionsResponse":{"id":"components/schemas/PromotionDefintionsResponse","kind":"json-schema","title":"PromotionDefintionsResponse","data":{"type":"object","properties":{"id":{"type":"string","example":"8F96A471-05F4-4A9B-8156-97BD35F6F29D"},"active":{"type":"boolean","example":true},"name":{"type":"string","example":"Voucher kr 100,-"},"description":{"type":"string","example":"This is your welcome offer. Use it to get a discount on your next purchase."},"linkUrl":{"type":"string","example":"https://cdn.oculos.no/8F96A471-05F4-4A9B-8156-97BD35F6F29D"},"imageUrl":{"type":"string","example":"https://cdn.oculos.no/8F96A471-05F4-4A9B-8156-97BD35F6F29D.png"},"type":{"type":"string","example":"Promotion"},"subType":{"type":"string","example":null},"validFrom":{"type":"string","format":"date-time","example":"2025-03-01T00:00:00"},"validTo":{"type":"string","format":"date-time","example":null},"redemptionLimit":{"type":"integer","example":1},"unlimitedRedemption":{"type":"boolean","example":false},"redemptionChannels":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","example":"eCom"},"valueType":{"type":"string","example":"amount"},"value":{"type":"string","example":"100"},"message":{"type":"string","example":""}}}},"productsIncluded":{"type":"array","items":{"type":"string"},"example":[]},"productsExcluded":{"type":"array","items":{"type":"string"},"example":[]},"storesIncluded":{"type":"array","items":{"type":"string"},"example":[]},"tiersIncluded":{"type":"array","items":{"type":"string"},"example":[]},"clientId":{"type":"string","example":null},"created":{"type":"string","format":"date-time","example":"2025-03-06T13:11:25.233"},"createdBy":{"type":"string","example":"no-reply@oculos.no"},"updated":{"type":"string","format":"date-time","example":"2025-03-06T13:11:25.233"},"updatedBy":{"type":"string","example":"no-reply@oculos.no"}}}},"components/schemas/GenericImportRequest":{"id":"components/schemas/GenericImportRequest","kind":"json-schema","title":"GenericImportRequest","data":{"type":"object","properties":{"members":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"John Doe"},"age":{"type":"integer","example":30},"email":{"type":"string","example":"john.doe@example.com"},"address":{"type":"string","example":"Street 1"},"city":{"type":"string","example":"Oslo"},"zip":{"type":"string","example":10},"metaData":{"type":"array","items":{"type":"object","properties":{"isVip":{"type":"boolean","example":true}}}}}}}}}},"components/schemas/GetStampcardResponse":{"id":"components/schemas/GetStampcardResponse","kind":"json-schema","title":"GetStampcardResponse","data":{"type":"array","description":"List of a customers stamp cards","items":{"type":"object","properties":{"id":{"type":"integer","example":"4","description":"Id of stamp card."},"namn":{"type":"string","example":"Black coffee","description":"Name of stamp card"},"total":{"type":"number","example":6,"description":"Total number of clips/stamps needed"},"count":{"type":"number","example":3,"description":"Current clip/stamp count"},"imageUrl":{"type":"string","example":"cdn.oculos.no/coffee_clip3.png","description":"Image for stamp card. Requires additional setup."},"sortOrder":{"type":"integer","example":1,"description":"Sort order of the promotion. The sort order is defined in the Trigg application"},"extendedProperties":{"type":"object","description":"Additional properties depending on configuration","properties":{"additionalProp1":{"type":"object"},"additionalProp2":{"type":"object"},"additionalProp3":{"type":"object"}}}}}}},"components/schemas/LoyaltyResponse":{"id":"components/schemas/LoyaltyResponse","kind":"json-schema","title":"LoyaltyResponse","data":{"properties":{"points":{"type":"number","example":500,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Current point balance on customer. This property also contains points that may be pending."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"pointsActive"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" returns the current available balance."},"children":[]}]}]}]},"pointsActive":{"type":"number","description":"Totalt points active","example":300},"pointsPending":{"type":"number","example":200,"description":"Points that a user has earned but are not yet available for use due to pending validation or processing"},"pointsExpired":{"type":"number","example":100,"description":"Number of loyalty points that a user had but have since expired and are no longer available for use."},"pointsTotal":{"type":"number","example":600,"description":"Total points earned through history"},"tier":{"type":"string","example":"Gold","description":"The loyalty tier the customer is currently in, based on their points balance and the tier thresholds defined in the loyalty program. Tiers are typically used to provide different levels of rewards and benefits to customers based on their engagement and loyalty."},"loyaltyCards":{"$ref":"#/components/schemas/GetStampcardResponse"}}}},"components/schemas/CustomerResponse":{"id":"components/schemas/CustomerResponse","kind":"json-schema","title":"CustomerResponse","data":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"2457B03E-9925-45E9-B551-25F10D7BD4F2","description":"Generated unique customer id"},"externalId":{"type":"string","description":"Secondary/external customer id"},"mobilePhone":{"type":"string","example":"+4712345678"},"email":{"type":"string","example":"test@test.com"},"firstName":{"type":"string"},"lastName":{"type":"string"},"address":{"type":"string","example":"Kongens gate 21"},"zip":{"type":"string","example":1010},"city":{"type":"string","example":"Oslo"},"country":{"type":"string","example":"NO","description":"Country code in 2 letters ISO 3166 standard"},"birthDate":{"type":"string","example":"2007-01-01T00:00:00"},"gender":{"type":"string","example":"Female","description":"Default valid values are Female, Male or Unknown. Can be customized."},"favoriteStores":{"type":"array","items":{"type":"string","example":"S100"}},"interests":{"type":"array","items":{"type":"string","example":"Sports"}},"loyalty":{"type":"object","$ref":"#/components/schemas/LoyaltyResponse"},"promotions":{"type":"array","items":{"$ref":"#/components/schemas/PromotionResponse"}},"consents":{"type":"object","properties":{"acceptsTerms":{"type":"boolean"},"acceptsEmail":{"type":"boolean"},"acceptsSms":{"type":"boolean"},"extendedConsents":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"value":{"type":"boolean"},"name":{"type":"string"},"description":{"type":"string"},"consentDate":{"type":"string"}}}}}},"extendedProperties":{"type":"object","properties":{"additionalProp1":{"type":"string"},"additionalProp2":{"type":"string"},"additionalProp3":{"type":"string"}}}}},"metaData":{"type":"object","properties":{"CreatedAt":{"type":"string","example":"2023-01-01 15:15:00"},"UpdatedAt":{"type":"string","example":"2023-01-05 15:15:00"}}}}}},"components/schemas/CustomerUpdateRequest":{"id":"components/schemas/CustomerUpdateRequest","kind":"json-schema","title":"CustomerUpdateRequest","data":{"type":"object","properties":{"data":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"2457B03E-9925-45E9-B551-25F10D7BD4F2"},"mobilePhone":{"type":"string","example":"+4712345678","description":"Contacts mobile phone"},"externalId":{"type":"string","description":"Secondary/external member id"},"email":{"type":"string","example":"test@test.com"},"firstName":{"type":"string"},"lastName":{"type":"string"},"address":{"type":"string","example":"Kongens gate 21"},"zip":{"type":"string","example":1010},"city":{"type":"string","example":"Oslo"},"country":{"type":"string","example":"NO","description":"Country code in 2 letters ISO 3166 standard"},"birthDate":{"type":"string","example":"2007-01-01T00:00:00"},"gender":{"type":"string","example":"Female","description":"Default valid values are Female, Male or Unknown. Can be customized."},"favoriteStores":{"type":"array","items":{"type":"string","example":"S100"}},"interests":{"type":"array","items":{"type":"string","example":"Sports"}},"consents":{"type":"object","properties":{"acceptsTerms":{"type":"boolean"},"acceptsEmail":{"type":"boolean"},"acceptsSms":{"type":"boolean"},"extendedConsents":{"type":"array","description":"Additional consents depending on configuration","items":{"type":"object","properties":{"id":{"type":"string","example":"acceptsDigital"},"value":{"type":"boolean","example":true}}}}}},"extendedProperties":{"type":"object","description":"Additional properties depending on configuration","properties":{"additionalProp1":{"type":"string"},"additionalProp2":{"type":"string"},"additionalProp3":{"type":"string"}}}}},"source":{"type":"object","required":["storeId","sourceName"],"properties":{"storeId":{"type":"string","example":"S2010","description":"Specifies from which store the request is from"},"cashRegisterId":{"type":"string","example":"POS-123","description":"Specifies from which cash register the request is from"},"cashierId":{"type":"string","example":"ID-321","description":"Specifies from which cashier the request is from"},"sourceName":{"type":"string"},"extendedSourceFields":{"type":"object","properties":{"additionalProp1":{"type":"string"},"additionalProp2":{"type":"string"},"additionalProp3":{"type":"string"}}}}}}}},"components/schemas/MinimalCustomerUpdateRequest":{"id":"components/schemas/MinimalCustomerUpdateRequest","kind":"json-schema","title":"MinimalCustomerUpdateRequest","data":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"2457B03E-9925-45E9-B551-25F10D7BD4F2"}}},"source":{"type":"object","properties":{"storeId":{"type":"string"},"sourceName":{"type":"string"}}}}}},"components/schemas/CustomerRequest":{"id":"components/schemas/CustomerRequest","kind":"json-schema","title":"CustomerRequest","data":{"type":"object","properties":{"data":{"type":"object","required":["mobilePhone"],"properties":{"mobilePhone":{"type":"string","example":"+4712345678","description":"Customers mobile phone"},"externalId":{"type":"string","description":"Secondary/external customer id"},"email":{"type":"string","example":"test@test.com"},"firstName":{"type":"string"},"lastName":{"type":"string"},"address":{"type":"string","example":"Kongens gate 21"},"zip":{"type":"string","example":1010},"city":{"type":"string","example":"Oslo"},"country":{"type":"string","example":"NO","description":"Country code in 2 letters ISO 3166 standard"},"birthDate":{"type":"string","example":"2007-01-01T00:00:00"},"gender":{"type":"string","example":"Female","description":"Default valid values are Female, Male or Unknown. Can be customized."},"favoriteStores":{"type":"array","items":{"type":"string","example":"S100"}},"interests":{"type":"array","items":{"type":"string","example":"Sports"}},"consents":{"type":"object","properties":{"acceptsTerms":{"type":"boolean"},"acceptsEmail":{"type":"boolean"},"acceptsSms":{"type":"boolean"},"extendedConsents":{"type":"array","description":"Additional consents depending on configuration","items":{"type":"object","properties":{"id":{"type":"string","example":"acceptsDigital"},"value":{"type":"boolean","example":true}}}}}},"extendedProperties":{"type":"object","description":"Additional properties depending on configuration","properties":{"additionalProp1":{"type":"string"},"additionalProp2":{"type":"string"},"additionalProp3":{"type":"string"}}}}},"source":{"type":"object","required":["storeId","sourceName"],"properties":{"storeId":{"type":"string","example":"S2010","description":"Specifies from which store the request is from"},"cashRegisterId":{"type":"string","example":"POS-123","description":"Specifies from which cash register the request is from"},"cashierId":{"type":"string","example":"ID-321","description":"Specifies from which cashier the request is from"},"sourceName":{"type":"string"},"extendedSourceFields":{"type":"object","properties":{"additionalProp1":{"type":"string"},"additionalProp2":{"type":"string"},"additionalProp3":{"type":"string"}}}}}}}},"components/schemas/MinimalCustomerRequest":{"id":"components/schemas/MinimalCustomerRequest","kind":"json-schema","title":"MinimalCustomerRequest","data":{"type":"object","properties":{"data":{"type":"object","properties":{"mobilePhone":{"type":"string","example":"+4712345678"}}},"source":{"type":"object","required":["storeId","sourceName"],"properties":{"storeId":{"type":"string","example":"S2010","description":"Specifies from which store the request is from"},"sourceName":{"type":"string"},"extendedSourceFields":{"type":"object","properties":{"additionalProp1":{"type":"string"},"additionalProp2":{"type":"string"},"additionalProp3":{"type":"string"}}}}}}}},"components/schemas/MinimalCustomerUpdateRequestByExternalId":{"id":"components/schemas/MinimalCustomerUpdateRequestByExternalId","kind":"json-schema","title":"MinimalCustomerUpdateRequestByExternalId","data":{"type":"object","properties":{"data":{"type":"object","properties":{"externalId":{"type":"string","example":"2457B03E-9925-45E9-B551-25F10D7BD4F2"}}},"source":{"type":"object","properties":{"storeId":{"type":"string"},"sourceName":{"type":"string"}}}}}},"components/schemas/CreateProspectRequest":{"id":"components/schemas/CreateProspectRequest","kind":"json-schema","title":"CreateProspectRequest","data":{"type":"object","properties":{"data":{"type":"object","properties":{"email":{"type":"string","example":"test@example.com"},"mobilePhone":{"type":"string","example":"+47121212"}}},"source":{"type":"object","properties":{"name":{"type":"string","example":"Newsletter"},"storeId":{"type":"string","example":"ST-001"}}}}}},"components/schemas/CustomerProspectResponse":{"id":"components/schemas/CustomerProspectResponse","kind":"json-schema","title":"CustomerProspectResponse","data":{"type":"object","properties":{"externalId":{"type":"string","format":"uuid","description":"The external identifier for the customer prospect."}},"required":["externalId"]}},"components/schemas/CustomerQuarantineResponse":{"id":"components/schemas/CustomerQuarantineResponse","kind":"json-schema","title":"CustomerQuarantineResponse","data":{"type":"object","properties":{"isQuarantined":{"type":"boolean","description":"Indicates whether the customer is currently in quarantine.","example":true},"quarantineExpiration":{"type":["string","null"],"format":"date-time","description":"The timestamp when the quarantine expires. Null if the customer is not in quarantine.","example":"2026-06-04T15:39:39.667"}}}},"components/schemas/DiscoverMemberResponse":{"id":"components/schemas/DiscoverMemberResponse","kind":"json-schema","title":"DiscoverMemberResponse","data":{"type":"object","properties":{"firstName":{"type":"string","example":"firstName"},"lastName":{"type":"string","example":"lastName"},"address":{"type":"string","example":"Kongens gate 20"},"zip":{"type":"string","example":"0010"},"city":{"type":"string","example":"Oslo"},"gender":{"type":"string","example":"Male"},"birthDate":{"type":"string","example":"1955-12-16T00:00:00"},"extendedProperties":{"type":"object","properties":{"additionalProp1":{"type":"string"},"additionalProp2":{"type":"string"},"additionalProp3":{"type":"string"}}}}}},"components/schemas/MemberAddCardRequest":{"id":"components/schemas/MemberAddCardRequest","kind":"json-schema","title":"MemberAddCardRequest","data":{"type":"object","required":["memberId","token"],"properties":{"memberId":{"type":"string","example":"15BE85AB-CD61-4A23-8C22-0981AD35DBD1S2010","description":"The members Id"},"token":{"type":"string","description":"Card token to add to members list of payment cards","example":"2A9ACDD0-9113-4EF4-8EA9-FD343E040EE9"}}}},"components/schemas/MemberCardListResponse":{"id":"components/schemas/MemberCardListResponse","kind":"json-schema","title":"MemberCardListResponse","data":{"type":"object","properties":{"data":{"type":"array","items":{"properties":{"id":{"type":"string","example":"2457B03E-9925-45E9-B551-25F10D7BD4F2","description":"Generated unique member id"},"cardId":{"type":"string","example":"223b6c7f-0961-4efb-9a99-6e20f00a7897","description":""},"token":{"type":"string","example":"999999999999999999","description":""},"cardName":{"type":"string","example":"Visa","description":"Type of card. Depending on source of registration, this value can be empty"},"cardData":{"type":"string","example":"05/2025","description":"Expiration date. Depending on source of registration, this value can be empty"},"maskedCardNo":{"type":"string","example":"","description":"Masked card number. Depending on source of registration, this value can be empty"},"displayCardName":{"type":"string","example":"DNB Visa","description":"Card name given by customer"},"displayCardData":{"type":"string","example":"05/2025","description":"Expiration date given by customer"}}}},"metaData":{"type":"object","properties":{"CreatedAt":{"type":"string","example":"2023-01-01 15:15:00"},"UpdatedAt":{"type":"string","example":"2023-01-05 15:15:00"}}}}}},"components/schemas/SignatureRequest":{"id":"components/schemas/SignatureRequest","kind":"json-schema","title":"SignatureRequest","data":{"type":"object","required":["source","provider","memberId"],"properties":{"source":{"type":"string","example":"ECOM","description":"String that identifies the client by name that makes the request"},"provider":{"type":"string","description":"Which provider should be used (default is Verifone)","example":"Verifone"},"data":{"type":"object","required":["firstName","lastName","email","mobilePhone"],"properties":{"firstName":{"type":"string","example":"John"},"lastName":{"type":"string","example":"Doe"},"email":{"type":"string","example":"test@test.com"},"mobilePhone":{"type":"string","example":"+4712345678"}}}}}},"components/schemas/MessagingSendSmsRequest":{"id":"components/schemas/MessagingSendSmsRequest","kind":"json-schema","title":"MessagingSendSmsRequest","data":{"type":"object","properties":{"phoneNumber":{"type":"string","example":"+4712345678","description":"The receivers phone number. Must contain country code prefix."},"message":{"type":"string","example":"This is a text message","description":"The message you want to send"},"sender":{"type":"string","example":"Oculos","description":"The name of sender"}}}},"components/schemas/VehicleResponse":{"id":"components/schemas/VehicleResponse","kind":"json-schema","title":"VehicleResponse","data":{"type":"array","description":"List of customers vehicles","items":{"type":"object","properties":{"id":{"type":"string","example":"B4B8DB75-517F-464F-8E0A-E30E969BDA8B","description":"Id of vehicle"},"registrationNumber":{"type":"string","example":"AB12345","description":"Registration number of the vehicle"},"vin":{"type":"string","example":"TMBJC9NY3MF017111","description":"Vehicle Identification Number"},"vehicleGroup":{"type":"string","example":"PERSONBIL","description":"Group of the vehicle"},"brand":{"type":"string","example":"SKODA","description":"Brand of the vehicle"},"lastInspectionDate":{"type":"string","format":"date","example":"2023-04-29","description":"Date of the last inspection"},"nextInspectionDate":{"type":"string","format":"date","example":"2025-04-29","description":"Date of the next inspection"},"lastOdometerStand":{"type":"number","example":null,"description":"Last recorded odometer stand"},"lastRegistrationDate":{"type":"string","format":"date","example":"2024-03-27","description":"Date of the last registration"},"firstRegistrationDate":{"type":"string","format":"date","example":"2021-04-29","description":"Date of the first registration"},"extendedProperties":{"type":"object","description":"Additional properties depending on configuration","properties":{"additionalProp1":{"type":"object"},"additionalProp2":{"type":"object"},"additionalProp3":{"type":"object"}}}}}}},"components/schemas/PostVehicleRequest":{"id":"components/schemas/PostVehicleRequest","kind":"json-schema","title":"PostVehicleRequest","data":{"type":"object","properties":{"registrationNumber":{"type":"string","maxLength":10,"description":"The registration number of the vehicle."},"vin":{"type":"string","maxLength":20,"description":"The Vehicle Identification Number (VIN)."},"modelYear":{"type":"integer","format":"int32","description":"The model year of the vehicle."},"brandCode":{"type":"integer","format":"int32","description":"The code representing the brand of the vehicle."},"brandName":{"type":"string","maxLength":30,"description":"The name of the brand."},"modelName":{"type":"string","maxLength":30,"description":"The name of the model."},"lastRegistrationDate":{"type":"string","maxLength":30,"description":"The date of the last registration."},"nextInspectionDate":{"type":"string","maxLength":30,"description":"The date of the next inspection."},"fuelCode":{"type":"integer","format":"int32","description":"The code representing the fuel type."},"fuelName":{"type":"string","maxLength":30,"description":"The name of the fuel type."},"colorCode":{"type":"integer","format":"int32","description":"The code representing the color of the vehicle."},"colorName":{"type":"string","maxLength":30,"description":"The name of the color."},"dealerId":{"type":"string","maxLength":30,"description":"The ID of the dealer."},"extendedProperties":{"type":"object","additionalProperties":true,"description":"A dictionary of extended properties."}},"required":["registrationNumber"]}},"components/schemas/PutVehicleRequest":{"id":"components/schemas/PutVehicleRequest","kind":"json-schema","title":"PutVehicleRequest","data":{"type":"object","required":["registrationNumber"],"properties":{"registrationNumber":{"type":"string","maxLength":10,"description":"The registration number of the vehicle."},"vin":{"type":"string","description":"The Vehicle Identification Number (VIN)."},"brand":{"type":"string","description":"The brand of the vehicle."},"extendedProperties":{"type":"object","additionalProperties":true,"description":"A dictionary of extended properties."}}}},"components/schemas/AchivementUpdateRequest":{"id":"components/schemas/AchivementUpdateRequest","kind":"json-schema","title":"AchivementUpdateRequest","data":{"type":"object","required":["id","customerId","storeId"],"properties":{"id":{"type":"string","description":"The id of the loyalty card.","example":"2457B03E-9925-45E9-B551-25F10D7BD4F2"},"customerId":{"type":"string","example":"D2CC3001-AE10-4FD2-85DD-E4F4CEAD3714","description":"The customers unique id. \n"},"storeId":{"type":"string","example":"STORE-001","description":"The store id"},"adjustmentAmount":{"type":"integer","example":1,"description":"Number of clips/stamps to add to the customers loyalty card. \n\nDefault value are 1, but can be set higher or to a negative value to remove clips/stamps.\n"},"extendedProperties":{"type":"object","description":"Additional properties depending on configuration","properties":{"additionalProp1":{"type":"object"},"additionalProp2":{"type":"object"},"additionalProp3":{"type":"object"}}}}}},"components/schemas/StampcardCampaignsResponse":{"id":"components/schemas/StampcardCampaignsResponse","kind":"json-schema","title":"StampcardCampaignsResponse","data":{"type":"array","description":"List of products / line items","items":{"type":"object","properties":{"stampCardId":{"type":"string","example":"4","description":"Id of stamp card."},"stampCard":{"type":"string","example":"Black coffee","description":"Name of stamp card"},"stampCardType":{"type":"string","example":"Coffee","description":"Type/category of stamp card"},"productId":{"type":"string","example":"7049987090935","description":"Product id that qualifies for a clip/stamp"},"extendedProperties":{"type":"object","description":"Additional properties depending on configuration","properties":{"additionalProp1":{"type":"object"},"additionalProp2":{"type":"object"},"additionalProp3":{"type":"object"}}}}}}},"components/schemas/StoreResponse":{"id":"components/schemas/StoreResponse","kind":"json-schema","title":"StoreResponse","data":{"type":"array","items":{"properties":{"id":{"type":"string","example":"STORE-001","description":"StoreId"},"name":{"type":"string","description":"Our main store"},"extendedProperties":{"type":"object","properties":{"externalId":{"type":"string","example":"10001"},"address":{"type":"string","example":"Kongens gate 21"},"zip":{"type":"string","example":"0153"},"city":{"type":"string","example":"Oslo"}}}}}}},"components/schemas/TransactionResponse":{"id":"components/schemas/TransactionResponse","kind":"json-schema","title":"TransactionResponse","data":{"type":"array","items":{"properties":{"receiptId":{"type":"string","example":"122014","description":"Unique id of receipt/transaction"},"receiptDate":{"type":"string","example":"2023-10-03T19:00:53","description":"Date of purchase"},"storeId":{"type":"string","example":"332","description":"Id of store"},"storeName":{"type":"string","example":"Our main store","description":"Name of store"},"grossAmount":{"type":"number","example":979.3,"description":"Total amount of transaction"},"vat":{"type":"number","example":195.86,"description":"Total VAT amount of transaction"},"netAmount":{"type":"number","example":783.44,"description":"Totalt amount of transction without VAT"},"discount":{"type":"number","example":0,"description":"Totalt discount given on transaction"},"rows":{"type":"array","description":"List of products / line items","items":{"type":"object","properties":{"lineNo":{"type":"string","example":"1","description":"Items line number in transaction"},"productId":{"type":"string","example":"7049987090935","description":"Product id"},"productName":{"type":"string","example":"Black jacket","description":"Name of product"},"productGroupLevel1Name":{"type":"string","example":"Clothes","description":"Upper level product category"},"productGroupLevel2Name":{"type":"string","example":"Jackets","description":"Second level product category"},"quantity":{"type":"number","example":1,"description":"Number of products purchased"},"grossAmount":{"type":"number","example":979.3,"description":"Totalt amount of line"},"vat":{"type":"number","example":195.86,"description":"Totalt amount of VAT of line"},"netAmount":{"type":"number","example":783.44,"description":"Totalt amount of line without VAT"},"discount":{"type":"number","example":0,"description":"Totalt amount of discount given on line"},"points":{"type":"number","example":98,"description":"TNumber of points earned on this line item. 0 if no points are earned. Requires that earning of bonus points are enabled in Trigg application."},"transactionType":{"type":"string","example":"PURCHASE","description":"Indicates which type of transaction. PURCHASE or RETURN"}}}}}}}},"components/schemas/CustomTransactionRequest":{"id":"components/schemas/CustomTransactionRequest","kind":"json-schema","title":"CustomTransactionRequest","data":{"type":"object","properties":{"ReceiptRequests":{"type":"array","items":{"type":"object","properties":{"Header":{"type":"object","properties":{"StoreId":{"type":"string","example":"001","description":"Id of store where the transaction was made"},"EcrId":{"type":"string","example":"1","default":"Id of cash register where the transaction was made"},"ReceiptId":{"type":"string","example":"9999258836","description":"Id of the reciept"},"TimeStamp":{"type":"string","example":"2023-10-13T14:50:05","description":"Timestamp of the transaction in UTC time format"},"ConsumerId":{"type":"string","example":"9ae37ad3-8a55-4bb5-81fd-b08f00b684ed","description":"Depending on configuration, this could be a unique id or the customers phone number."},"GrossAmount":{"type":"number","example":1817.8,"description":"The total amount of the transaction"},"Vat":{"type":"number","example":363.56,"description":"The totalt VAT amount of the transaction"},"NetAmount":{"type":"number","example":1454.24,"description":"The total amount of the transaction without VAT"},"Discount":{"type":"number","example":0,"default":"The total amount of discount given on the transaction"},"Currency":{"type":"number","example":"NOK","description":"The currency used. Use currency code as described in https://www.iban.com/currency-codes"},"PaymentString":{"type":"string","example":"Any type of string","description":"Can contain a string with payment data sent from POS. Max length 4000 chars"},"Ext1":{"type":"string","example":"","description":"Extra field available for customizations"},"Ext2":{"type":"string","example":"","description":"Extra field available for customizations"},"Ext3":{"type":"string","example":"","description":"Extra field available for customizations"},"Ext4":{"type":"string","example":"","description":"Extra field available for customizations"},"Ext5":{"type":"string","example":"","description":"Extra field available for customizations"}}},"Items":{"type":"array","items":{"type":"object","properties":{"ReceiptId":{"type":"string","example":"Id of receipt"},"LineNo":{"type":"string","example":1,"description":"Line number in transaction for item(s)"},"Quantity":{"type":"number","example":1,"description":"Number of products purchased"},"ProductGroupLevel1Id":{"type":"string","example":45,"description":"Id of top level product category"},"ProductGroupLevel1Name":{"type":"string","example":"CHRISTMAS","description":"Name of top level product category"},"ProductGroupLevel2Id":{"type":"string","example":4545,"description":"Id of second level product category where available"},"ProductGroupLevel2Name":{"type":"string","example":"DECORACTIONS","description":"Name of second level product category where available"},"ProductGroupLevel3Id":{"type":"string","example":454545,"description":"Id of third level product category where available"},"ProductGroupLevel3Name":{"type":"string","example":"MINI TREES","description":"Name of third level product category where available"},"ProductId":{"type":"string","example":"VR1722775","description":"Id of product"},"ProductName":{"type":"string","example":"MINI CHRISTMAS TREE WITH LED LIGHTS","description":"Name of product"},"SupplierId":{"type":"string","example":"9000","description":"Id of supplier"},"SupplierName":{"type":"string","example":"The christmas company","default":"Name of supplier"},"GrossAmount":{"type":"number","example":1817.8,"description":"Total amount of item(s)"},"Vat":{"type":"number","example":363.56,"description":"The total VAT amount of item(s)"},"NetAmount":{"type":"number","example":1454.24,"description":"The totalt amount item(s) without VAT"},"Discount":{"type":"number","example":0,"description":"Totalt discount given on item(s)"},"Cost":{"type":"number","example":0,"description":"The total cost of products where available"},"CampaignId":{"type":"string","example":"EF5C352A-D8D8-431E-A8D6-22928F405F20","description":"Reference to campaign where available"},"TransactionType":{"type":"string","example":"PURCHASE","description":"Type of transaction (PURCHASE or RETURN)"},"Ext1":{"type":"string","example":"","description":"Extra field available for customizations"},"Ext2":{"type":"string","example":"","description":"Extra field available for customizations"},"Ext3":{"type":"string","example":"","description":"Extra field available for customizations"},"Ext4":{"type":"string","example":"","description":"Extra field available for customizations"},"Ext5":{"type":"string","example":"","description":"Extra field available for customizations"},"Ext6":{"type":"string","example":"","description":"Extra field available for customizations"},"Ext7":{"type":"string","example":"","description":"Extra field available for customizations"},"Ext8":{"type":"string","example":"","description":"Extra field available for customizations"},"Ext9":{"type":"string","example":"","description":"Extra field available for customizations"},"Ext10":{"type":"string","example":"","description":"Extra field available for customizations"}}}}}}}}}},"components/schemas/MinimumTransactionRequest":{"id":"components/schemas/MinimumTransactionRequest","kind":"json-schema","title":"MinimumTransactionRequest","data":{"type":"object","properties":{"ReceiptRequests":{"type":"array","items":{"type":"object","properties":{"Header":{"type":"object","properties":{"StoreId":{"type":"string","example":"001","description":"Id of store where the transaction was made"},"ReceiptId":{"type":"string","example":"9999258836","description":"Id of the reciept"},"TimeStamp":{"type":"string","example":"2023-10-13T14:50:05","description":"Timestamp of the transaction"},"ConsumerId":{"type":"string","example":"9ae37ad3-8a55-4bb5-81fd-b08f00b684ed","description":"Depending on configuration, this could be a unique id or the customers phone number."},"GrossAmount":{"type":"number","example":1817.8,"description":"The total amount of the transaction"},"Vat":{"type":"number","example":363.56,"description":"The totalt VAT amount of the transaction"}}},"Items":{"type":"array","items":{"type":"object","properties":{"ReceiptId":{"type":"string","example":"Id of receipt"},"LineNo":{"type":"string","example":1,"description":"Line number in transaction for item(s)"},"Quantity":{"type":"number","example":1,"description":"Number of products purchased"},"ProductId":{"type":"string","example":"VR1722775","description":"Id of product"},"ProductName":{"type":"string","example":"MINI CHRISTMAS THREE WITH LED LIGHTS","description":"Name of product"},"GrossAmount":{"type":"number","example":1817.8,"description":"Total amount of item(s)"},"Vat":{"type":"number","example":363.56,"description":"The total VAT amount of item(s)"},"NetAmount":{"type":"number","example":1454.24,"description":"The totalt amount item(s) without VAT"},"TransactionType":{"type":"string","example":"PURCHASE","description":"Type of transaction (PURCHASE or RETURN)"}}}}}}}}}},"components/schemas/VippsTriggerByPosRequest":{"id":"components/schemas/VippsTriggerByPosRequest","kind":"json-schema","title":"VippsTriggerByPosRequest","data":{"type":"object","properties":{"mobilePhone":{"type":"string","example":"91345678"},"storeId":{"type":"string","example":"STORE-001"},"sourceName":{"type":"string","example":"POS"}}}},"components/schemas/WalletLinksReponse":{"id":"components/schemas/WalletLinksReponse","kind":"json-schema","title":"WalletLinksReponse","data":{"type":"object","properties":{"promotions":{"type":"array","items":{"type":"object","properties":{"promotionId":{"type":"string","format":"uuid","example":"A7B1B490-85A9-45A5-A6DE-69064B943E08"},"promotionType":{"type":"string","example":"PROMOTION"},"validTo":{"type":"string","format":"date-time","example":"2025-12-20T22:59:59"},"lastActivated":{"type":"string","format":"date-time","nullable":true,"example":"2026-02-27T14:33:22.333"},"passDownloadUrl":{"type":"string","format":"uri","example":"https://test-retail-as.triggloyalty.com/pass?t=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0ZW5hbnRZCI6IjQwMDEzMCIsImN1c3RvbWVySWQiOiJFMUI1OTc4RC1CNzQ2LTQ1RkUtOTFCRC1EMzlDQzdEMjBFMzEiLCJwcm9ncmFtSWQiOiIwZmU2NGY3ZC0yMjBmLTRhZDQtODViZi0xMzg1Njg5YjAzMjAiLCJqdGkiOiI5YzRjYWFlNS1kNDc0LTQzZDctOGU3Yi04MjA3NjVkN2YzMTQiLCJwcm9tb3Rpb25JZCI6IkE3QjFCNDkwLTg1QTktNDVBNS1BNkRFLTY5MDY0Qjk0M0UwOCIsInR5cGUiOiJQUk9NT1RJT04iLCJlbnRpdHlJZCI6IkE3QjFCNDkwLTg1QTktNDVBNS1BNkRFLTY5MDY0Qjk0M0UwOCIsImV4cCI6MTc2NjI2Nzk5OSwiaXNzIjoiVHJpZ2cgSW50ZWdyYXRpb25zIiwiYXVkIjoiU3RlbGwgSW50ZWdyYXRpb24ifQ.ZOtVQd7xzwFCI-6BOhuUJLmAPb--3AuRMhidVaH5gMM"}}}},"memberships":{"type":"array","items":{"type":"object","properties":{"membershipId":{"type":"string","format":"uuid","example":"B8C2C501-96BA-56B6-B7EF-70175C054F19"},"membershipType":{"type":"string","example":"MEMBERSHIP"},"passDownloadUrl":{"type":"string","format":"uri","example":"https://test-retail-as.triggloyalty.com/pass?t=..."}}}}}}},"schema_17":{"kind":"json-schema","data":{"type":"string"},"id":"schema_17"},"schema_18":{"kind":"json-schema","data":{"oneOf":[{"$ref":"#/components/schemas/CustomerRequest"},{"$ref":"#/components/schemas/MinimalCustomerRequest"}]},"id":"schema_18"},"schema_19":{"kind":"json-schema","data":{"oneOf":[{"$ref":"#/components/schemas/CustomerUpdateRequest"},{"$ref":"#/components/schemas/MinimalCustomerUpdateRequest"}]},"id":"schema_19"},"schema_20":{"kind":"json-schema","data":{"oneOf":[{"$ref":"#/components/schemas/CustomerUpdateRequest"},{"$ref":"#/components/schemas/MinimalCustomerUpdateRequestByExternalId"}]},"id":"schema_20"},"schema_21":{"kind":"json-schema","data":{"type":"array","items":{"$ref":"#/components/schemas/PromotionResponse"}},"id":"schema_21"},"schema_22":{"kind":"json-schema","data":{"oneOf":[{"$ref":"#/components/schemas/CustomTransactionRequest"},{"$ref":"#/components/schemas/MinimumTransactionRequest"}]},"id":"schema_22"},"schema_23":{"kind":"json-schema","data":{"type":"object","properties":{"data":{"type":"string","example":"test data"}}},"id":"schema_23"}},"exampleStore":{},"securitySchemeStore":{"main_auth":{"id":"main_auth","type":"oauth2","flows":{"implicit":{"authorizationUrl":"http://example.com/api/oauth/dialog","scopes":{"read:users":"read users info","write:users":"modify or remove users"}}}},"api_key":{"id":"api_key","type":"apiKey","in":"header","paramName":"x-api-key"}},"servers":[{"url":"https://api.oculos.no/v4","description":"Production"},{"url":"https://api.staging.oculos.no/v4","description":"Staging"}],"logo":{"imageUrl":"https://oc-oip-api-v4-msc.azurewebsites.net/trigg-logo.svg","href":"https://triggloyalty.com/"}},"options":{"htmlTemplate":"./docs/index.html","theme":{"sidebar":{"backgroundColor":"#E7F1F7","textColor":"black"},"colors":{"primary":{"main":"#32329f"}}},"generateCodeSamples":{"languages":[{"lang":"curl"},{"lang":"Node.js"},{"lang":"JavaScript"},{"lang":"PHP"},{"lang":"Python"}]},"hideSidebar":true,"mockServer":{"off":true},"disableRouter":true,"downloadUrls":[{"url":"/_bundle/@v4/openapi.json?download"},{"url":"/_bundle/@v4/openapi.yaml?download"}],"excludeFromSearch":false,"specType":"openapi","markdocOptions":{"tags":{},"nodes":{},"components":{}},"metadata":{"title":"Trigg Integrations API","description":"This is the documentation for the current release of the Trigg Integrations API.\n\nCurrent release: 2026-09-15 (v.4.3.4)\n{% admonition type=\"info\" name=\"Moved documentation\" %} You are now viewing our new and improved API documentation.  </p> If you were redirected here from <a href=\"https://dev.oip.oculos.no\">https://dev.oip.oculos.no</a>, please update your bookmarks to this new URL.  {% /admonition %}\n# Overview\nWelcome to the Trigg Integrations API documentation, a resource for better understanding of our integration platform. \n\nThis documentation is designed to be accessible and informative for both technical and sales professionals, ensuring that you can fully explore the capabilities and benefits of our API.\n\nFor technical experts, this documentation provides in-depth insights into the API endpoints, data structures, and integration possibilities. You'll find detailed explanations, code examples, and best practices to help you integrate our API into your applications and systems.\n\nFor sales persons and other non-technical stakeholders, this documentation offers a overview of the API's features, use cases, and potential business advantages. \n\n\nAs the configuration of Trigg allows for a flexible request/reponse, only the standard data structures are displayed in this documentation.\n\nIf you have a customized configuration and need examples, please contact our support team or your sales person.\n\n\nThe API has two base URL's, one for production and one for testing.\n\n<b>Production:</b> <a href=\"https://api.oculos.no/v4\">https://api.oculos.no/v4</a>\n\n<b>Staging:</b> <a href=\"https://api.staging.oculos.no/v4\">https://api.staging.oculos.no/v4</a>\n\nWe are excited to announce that our API now has a sandbox environment available!  This allows you to test and integrate our features in a safe and controlled setting. \n\n\nTo get your sandbox key, please contact us at <a href=\"mailto:hello@triggloyalty.com\">hello@triggloyalty.com</a>.\n# Authentication\nOur API is designed to be secure and efficient, and it requires an API key to authenticate your requests. In this short documentation, we'll guide you on how to use our API with the x-api-key header to ensure successful integration.\n\n<h3>Step 1: Obtain Your API Key</h3>\nBefore you can start using our API, you'll need to obtain an API key. This key acts as your access pass and is typically provided to you by your contact person. If you haven't received your API key, please reach out to our support team or your sales person.\n<h3>Step 2: Include the x-api-key Header</h3>\nTo make authenticated requests to our API, you must include the API key in the header of your HTTP requests. Specifically, you should add the \"x-api-key\" header with your API key as its value. \n  \n  `x-api-key : <API KEY>`\n\n<h3>Step 3 [OPTIONAL]: White list your IP address(es) for your production environment </h3>\nAlthough this step is optional, we strongly encourage you to send us an list of your IP addresses that are in use in your production environment.\n\n\nThis lets us configure Trigg to only allow access to your API account from those IP's.\n\n# Error Messages\nThe Trigg API returns a standarized detailed error message where it's possible. The structure of the error message looks like this:\n\n  ```\n  {\n    \"code\" : \"409\",\n    \"message\" : \"Conflict\",\n    \"detailedErrorMessage\" : {\n\n    }\n  }\n  ```\n\n  The `detailedErrorMessage` is fully dynamic and can contain a simple string aswell as a list of errors'. \n\n# Terms Of Use\nBy accessing or using our API (the \"Service\"), you agree to comply with these Terms of Use. Please read them carefully, as they govern your usage of our API.\n\n<h3>API Usage</h3>\n\nYou are granted a non-exclusive, non-transferable, limited license to access and use our API in accordance with these terms. You may only use the API for its intended purpose and in compliance with our guidelines and documentation.\n\n<h3>API Key</h3>\n\nAccess to the API requires an API key. Keep your API key secure and do not share it with unauthorized parties. You are responsible for all actions performed using your API key. Ensure that the API key is not visible in any way in your application.\n\n<h3>Prohibited Actions</h3>\n\nYou may not use the API to engage in any illegal, harmful, or abusive activities. You may not decompile, reverse engineer, or attempt to gain unauthorized access to the API or our systems. You may not use the API in a way that could harm or interfere with our services, infrastructure, or other users.\n\n<h3>Data Privacy</h3>\n\nWhen using our API, you may have access to user data. Ensure you handle such data in compliance with applicable data protection laws and our privacy policy.\n\n\nBy using our API, you acknowledge that you have read, understood, and agreed to these Terms of Use. Failure to comply with these terms may result in the suspension or termination of your API access. \n<h3>Functionality in preview</h3>\nMethods marked with Preview in this API documentation are subject to change. \n\nThese methods are provided for early access to new features but may have limited support, and their behavior, parameters, or responses can be modified or deprecated without prior notice. \n\nUse these methods with caution in production environments, as changes may impact integration stability. \nIt is recommended to regularly check the documentation for updates when utilizing preview features.\n\n\nWe reserve the right to update these terms, so it is recommended to review them periodically for any changes.\n\n# Rate Limits\nTrigg API does not have any rate limits, but some external systems integrated with Trigg may have. \n\nExceeding these limits may result in temporary access restrictions.\n\nWe strongly recommend implementing a back-off strategy to handle rate limit exceeded responses. This strategy helps you avoid overloading our/external servers and ensures a smoother user experience.\n\n\nIf you are receving one of the following errors it's an indication of an issue with an external system.\n\n  ```\n  {\n    \"code\" : \"429\",\n    \"message\" : \"Too Many Requests\",\n    \"detailedErrorMessage\" : {\n    }\n  }\n  ```\n\n  ```\n  {\n    \"code\" : \"502\",\n    \"message\" : \"Bad Gateway\",\n    \"detailedErrorMessage\" : {\n      \"gateway\" : \"Connection to backend system failed. System: [system_name]\",\n      \"gatewayMessage\" : \"Detailed error message here\"\n    }\n  }\n  ```\n\n\n# Tutorials\nComing soon.\n# Webhooks\nA webhook is a way for two different software applications to communicate with each other in real-time. \nIt's like a notification system that triggers actions automatically when certain events occur.    \n\nOculos can configure webhooks on request, please contact our support team for more information.\n# Change Log\n<h3>September 2026</h3>\n<h4>2026-09-15</h4>\n\n* Bugfixes across the API.\n* Performance optimizations across the API.\n<h3>June 2026</h3>\n<h4>2026-06-17</h4>\n\n* Added new endpoint for checking if a customer is quarantined (https://dev.triggloyalty.com/openapi/customers/quarantine?mobilePhone={mobilePhone})\n* Improved endpoint for listing historical promotions, the endpoint not only returns the promotions but also the promotion definition, store information and more. (https://dev.triggloyalty.com/openapi/promotions/redeemed/history/customerId/{customerId})\n* Standardized endpoint summaries across the API to align with RESTful naming conventions.\n<h3>March 2026</h3>\n<h4>2026-03-16</h4>\n\n* New Wallet endpoints available that generates authorized provisioning URLs for Apple Wallet and Google Wallet. This integration allows you to retrieve pass-links for promotions and memberships by passing a customer id, which can then be mapped directly to \"Add to Wallet\" buttons in your UI.\n\n* Added new integration against Agillic marketing automation platform.\n\n* Promotion definitions is out of preview\n* New endpoint added that allows to search customer by email [PREVIEW]  (https://dev.triggloyalty.com/openapi/customers/getcustomerbyemail)\n* Minor bugfixes in API and documentation\n\n<h3>March 2025</h3>\n<h4>2025-03-03</h4>\n\n* Added support for multi branding. This means that you can now run multiple brands on one account. \n* Added 422 quarantine status for the create customers method. This status is used when a customer is quarantined for a period of time.\n* Enable/disable promotions endpoints are now out of preview.\n* The property 'promotionDefinitionId' is now available on the promotion object. This property contains the id of the promotion definition that the promotion is based on.\n* New endpoint for listing all promotion definitions. [PREVIEW] (https://dev.triggloyalty.com/openapi/promotions/getpromotionsdefinitions)\n* New endpoint for listing of all active promotions thare are available to customers. [PREVIEW] (https://dev.triggloyalty.com/openapi/promotions/getpromotionscampaigns)\n* Added a module endpoint. This endpoint collects minor endpoints that are not directly related to the main endpoints.\n\nAvailable modules:\n\n  * /modules/vehicles - endpoint for fetching and adding vehicles [PREVIEW] (https://dev.triggloyalty.com/openapi/modules/getvehiclesbycustomeridd)\n\n\n<h3>November 2024</h3>\n<h4>2024-11-19</h4>\n\n* Added endpoints for enabling/disabling of promotions (in preview)\n* Added endpoint for transfering clips on loyalty cards between two existing customers (in preview)\n* Minor bugfixes\n* Minor bugfixes in documentation\n\n<h3>June 2024</h3>\n<h4>2024-06-18</h4>\n\n* Added endpoint for deleting a customer by external id\n* Minor bugfixes in documentation\n\n<h3>May 2024</h3>\n<h4>2024-05-22</h4>\n  \n* Added an endpoint for returning all transactions resulting in a bonus reward (https://dev.triggloyalty.com/openapi/loyalty/getbonustransactions)\n* Added a list of promotions on the customer object when applicable. Please note that this list only will contain active promotions.\n* Added information to the documentation on how to mark a transaction as a return (https://dev.triggloyalty.com/openapi/transactions/addtransactions)\n* Minor bugfixes\n* Improved performance\n\n<h4>2024-05-14</h4>\nAdded new methods\n\n* Get customer by externalId\n* Update customer by externalId\n* Minor bugfixes\n* Improved performance \n\n\n<h3>April 2024</h3>\n<h4>2024-04-17</h4>\nIntroduced dynamic methods on the customers and promotions endpoints\n<h3>March 2024</h3>\n<h4>2024-03-19</h4>\nRelease of v4\n"}},"baseSlug":"/openapi","routesMapping":{}}