{"items":[{"type":"link","label":"Zoined Partner & Retail Analytics Portal API","link":"/","routeSlug":"/","content":{"contentType":"overview","meta":{"name":"Zoined Partner & Retail Analytics Portal API"},"children":[{"nodeType":"container","panels":[{"title":"Download OpenAPI description","titleTranslationKey":"download.description.title","children":[{"kind":"download","label":"index.json","url":"/_bundle/index.json?download"},{"kind":"download","label":"index.yaml","url":"/_bundle/index.yaml?download"}]},{"title":"Overview","titleTranslationKey":"info.title","children":[]},{"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":"/_mock/","description":"Mock server","isMockServer":true},{"url":"https://app.zoined.com","description":"Zoined Retail Analytics Portal"},{"url":"https://partners.zoined.com","description":"Zoined Partner API"}],"mode":"default"}]}],"children":[{"nodeType":"overview-section-wrapper","children":[{"nodeType":"header","level":1,"label":"Zoined Partner & Retail Analytics Portal API","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 documentation contains two Zoined APIs for partner integrations and access to the Zoined Analytics Portal."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Zone — Zoined Partner API"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Zoined Partner API allows partners to manage their customers via RESTful API."},"children":[]}]}]},{"$$mdtype":"Node","type":"hr","attributes":{},"children":[]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"SSO API — Zoined Retail Analytics Portal"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Zoined Retail Analytics Portal provides API for implementing Single Sign-On (SSO) via"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"session transfer url. This allows logged in end users of customers or partners system to start"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"using Zoined Analytics Portal without separately logging in. This is accomplished"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"by sending Zoined information about the end user with untamperable link."},"children":[]}]}]}]}],"sectionId":"/"}],"sectionId":"/"}]}]}},{"type":"separator","label":"Zone - Zoined Partner API","content":null},{"type":"group","label":"Zone API Overview","link":"/partner-overview","routeSlug":"/partner-overview","items":[],"content":{"contentType":"group","meta":{"name":"partner-overview"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Zone API Overview","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":"Zoined Partner API allows partners to manage their customers via RESTful API."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This document contains instructions on how to access the Zoined Partner API. This document"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"contains two parts: introduction and reference. Introduction walks you through the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"general structure of the API and and how to use it. Reference contains detailed"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"documentation for each API end point including code examples for multiple programming"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"languages, and live in-browser testing tool for the API end points."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If you have any questions related to Zoined Partner API, don't hesitate to contact"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"mailto:support@zoined.com"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Zoined support"},"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":"See it live at "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://partners.zoined.com/"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"https://partners.zoined.com/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authentication:"},"children":[]}]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You'll receive API token from Zoined which grants you access to Zone. Token needs to be added to all HTTP requests made against our API. It should be added as HTTP Headers with following format:"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"Authorization: Token token=\"your-token-here\"\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"Authorization: Token token=\"your-token-here\"\n"},"children":[]}]}]}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/partner-overview"}],"panels":[]}]}},{"type":"group","label":"Maintenance","link":"/partner-maintenance","routeSlug":"/partner-maintenance","items":[{"label":"Check connectivity","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/partner-maintenance/partnercheckconnectivity","routeSlug":"/partner-maintenance/partnercheckconnectivity","metadata":{"seo":{"title":"Check connectivity","description":"This endpoint can be used to verify that you are able to access our API."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"partnerCheckConnectivity","name":"Check connectivity","isWebhook":false,"pointer":"/paths/~1api/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Check connectivity","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 endpoint can be used to verify that you are able to access our API."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"https://partners.zoined.com/api"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"partnerToken","scopes":[],"type":"apiKey","in":"header","paramName":"Authorization","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the Partner API token in this exact form:"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"Authorization: Token token=\"your-token-here\"\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"Authorization: Token token=\"your-token-here\"\n"},"children":[]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api","servers":[{"url":"/_mock/","description":"Mock server","isMockServer":true},{"url":"https://partners.zoined.com"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"partnerToken","type":"apiKey","name":"Authorization","in":"header"}],"scopes":[]}],"responseCodes":["200"],"pointer":"/api","href":"/partner-maintenance/partnercheckconnectivity","openApiOperationId":"partnerCheckConnectivity","summary":"Check connectivity"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/","description":"Mock server","isMockServer":true},{"url":"https://partners.zoined.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Request has been processed successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_0","exampleIds":["paths/~1api/get/responses/200/content/application~1json/example"]}},"schemaId":"schema_0","exampleIds":["paths/~1api/get/responses/200/content/application~1json/example"]}],"pointer":"/paths/~1api/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_0","exampleIds":["paths/~1api/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_0","exampleIds":["paths/~1api/get/responses/200/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/partner-maintenance/partnercheckconnectivity"}],"panels":[]}]},"httpPath":"/api"},{"label":"Retrieving invoicing information","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/partner-maintenance/partnergetinvoicinginformation","routeSlug":"/partner-maintenance/partnergetinvoicinginformation","metadata":{"seo":{"title":"Retrieving invoicing information","description":"Provides monthly invoicing report for last 12 months. Report lists total and per customer cash register, store, and camera counts per month."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"partnerGetInvoicingInformation","name":"Retrieving invoicing information","isWebhook":false,"pointer":"/paths/~1api~1invoicing~1{environment}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Retrieving invoicing information","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":"Provides monthly invoicing report for last 12 months. Report lists total and per customer cash register, store, and camera counts per month."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"https://partners.zoined.com/api/invoicing/{environment}"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"partnerToken","scopes":[],"type":"apiKey","in":"header","paramName":"Authorization","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the Partner API token in this exact form:"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"Authorization: Token token=\"your-token-here\"\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"Authorization: Token token=\"your-token-here\"\n"},"children":[]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"environment","in":"path","schemaId":"schema_1","description":"Environment to retrieve information for","required":true,"example":"production"}],"pointer":"/paths/~1api~1invoicing~1{environment}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/invoicing/{environment}","servers":[{"url":"/_mock/","description":"Mock server","isMockServer":true},{"url":"https://partners.zoined.com"}],"parameters":{"path":[{"name":"environment","in":"path","required":true,"example":"production","schemaId":"schema_1"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"partnerToken","type":"apiKey","name":"Authorization","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","404","500"],"pointer":"/api/invoicing/{environment}","href":"/partner-maintenance/partnergetinvoicinginformation","openApiOperationId":"partnerGetInvoicingInformation","summary":"Retrieving invoicing information"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/","description":"Mock server","isMockServer":true},{"url":"https://partners.zoined.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Request has been processed successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/InvoicingResponse","exampleIds":["paths/~1api~1invoicing~1{environment}/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/InvoicingResponse","exampleIds":["paths/~1api~1invoicing~1{environment}/get/responses/200/content/application~1json/example"]},{"code":"400","description":"When request has validation errors."},{"code":"401","description":"When authentication fails."},{"code":"404","description":"No partner customers exist in system."},{"code":"500","description":"When internal service error has occurred."}],"pointer":"/paths/~1api~1invoicing~1{environment}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/InvoicingResponse","exampleIds":["paths/~1api~1invoicing~1{environment}/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/InvoicingResponse","exampleIds":["paths/~1api~1invoicing~1{environment}/get/responses/200/content/application~1json/example"]}}},{"code":"400"},{"code":"401"},{"code":"404"},{"code":"500"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/partner-maintenance/partnergetinvoicinginformation"}],"panels":[]}]},"httpPath":"/api/invoicing/{environment}"}],"content":{"contentType":"group","meta":{"name":"partner-maintenance"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Maintenance","showPageActions":true}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api","summary":"Check connectivity","prefix":{"name":"get","color":"get"},"badges":[],"link":"/partner-maintenance/partnercheckconnectivity","deprecated":false},{"title":"/api/invoicing/{environment}","summary":"Retrieving invoicing information","prefix":{"name":"get","color":"get"},"badges":[],"link":"/partner-maintenance/partnergetinvoicinginformation","deprecated":false}]}]}]}]}},{"type":"group","label":"Customer","link":"/partner-customers","routeSlug":"/partner-customers","items":[{"label":"List customers","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/partner-customers/partnerlistcustomers","routeSlug":"/partner-customers/partnerlistcustomers","metadata":{"seo":{"title":"List customers","description":"Lists all your customers."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"partnerListCustomers","name":"List customers","isWebhook":false,"pointer":"/paths/~1api~1customers/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List customers","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":"Lists all your customers."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"https://partners.zoined.com/api/customers"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"partnerToken","scopes":[],"type":"apiKey","in":"header","paramName":"Authorization","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the Partner API token in this exact form:"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"Authorization: Token token=\"your-token-here\"\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"Authorization: Token token=\"your-token-here\"\n"},"children":[]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/customers","servers":[{"url":"/_mock/","description":"Mock server","isMockServer":true},{"url":"https://partners.zoined.com"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"partnerToken","type":"apiKey","name":"Authorization","in":"header"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/api/customers","href":"/partner-customers/partnerlistcustomers","openApiOperationId":"partnerListCustomers","summary":"List customers"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/","description":"Mock server","isMockServer":true},{"url":"https://partners.zoined.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Request has been processed successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_2"}},"schemaId":"schema_2"},{"code":"401","description":"When authentication fails."},{"code":"404","description":"No partner customers exist in system."},{"code":"500","description":"When internal service error has occurred."}],"pointer":"/paths/~1api~1customers/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_2","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_2"}}},{"code":"401"},{"code":"404"},{"code":"500"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/partner-customers/partnerlistcustomers"}],"panels":[]}]},"httpPath":"/api/customers"},{"label":"Create customer","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/partner-customers/partnercreatecustomer","routeSlug":"/partner-customers/partnercreatecustomer","metadata":{"seo":{"title":"Create customer","description":"This API endpoint allows you to create new customer. On success you'll receive JSONwith key for the newly created customer. Please note that it will take some time toinitialize the customer in our systems. Customer's status will be shown ascreating while setup is in progress. Once status changes to ok the customer isfully operational."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"partnerCreateCustomer","name":"Create customer","isWebhook":false,"pointer":"/paths/~1api~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":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This API endpoint allows you to create new customer. On success you'll receive JSON"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"with key for the newly created customer. Please note that it will take some time to"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"initialize the customer in our systems. Customer's status will be shown as"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"creating"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" while setup is in progress. Once status changes to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ok"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" the customer is"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"fully operational."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key can also be left out, in which case we'll create key based on company name."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If you are using ZAPI to connect customers into Zoined, you should leave out"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"dataSource"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" block in the request. In addition to key, you'll also receive"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"customers ZAPI token in the response in field "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"token"},"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":"If you are using database fetch, you'll need to provide connection credentials in"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"dataSource"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" block. On setups where multiple companies are stored in the same"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"database, you can also optionally specify "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"filters"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" block for limiting the amount"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"of data that gets imported."},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"{\n  \"dataSource\": {\n    \"filters\": {\n      \"companyId\": \"123\"\n    }\n  }\n}\n","language":"json"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"{\n  \"dataSource\": {\n    \"filters\": {\n      \"companyId\": \"123\"\n    }\n  }\n}\n"},"children":[]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"https://partners.zoined.com/api/customers"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"partnerToken","scopes":[],"type":"apiKey","in":"header","paramName":"Authorization","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the Partner API token in this exact form:"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"Authorization: Token token=\"your-token-here\"\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"Authorization: Token token=\"your-token-here\"\n"},"children":[]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"exampleIds":["paths/~1api~1customers/post/requestBody/content/application~1json/example"]}},"exampleIds":["paths/~1api~1customers/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1api~1customers/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/customers","servers":[{"url":"/_mock/","description":"Mock server","isMockServer":true},{"url":"https://partners.zoined.com"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"partnerToken","type":"apiKey","name":"Authorization","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"exampleIds":["paths/~1api~1customers/post/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","401","500"],"pointer":"/api/customers","href":"/partner-customers/partnercreatecustomer","openApiOperationId":"partnerCreateCustomer","summary":"Create customer"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/","description":"Mock server","isMockServer":true},{"url":"https://partners.zoined.com"}],"exampleIds":["paths/~1api~1customers/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"exampleIds":["paths/~1api~1customers/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Customer creation has been accepted.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CreateCustomerResponse","exampleIds":["paths/~1api~1customers/post/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/CreateCustomerResponse","exampleIds":["paths/~1api~1customers/post/responses/200/content/application~1json/example"]},{"code":"400","description":"When request has validation errors."},{"code":"401","description":"When authentication fails."},{"code":"500","description":"When internal service error has occurred."}],"pointer":"/paths/~1api~1customers/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/CreateCustomerResponse","exampleIds":["paths/~1api~1customers/post/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CreateCustomerResponse","exampleIds":["paths/~1api~1customers/post/responses/200/content/application~1json/example"]}}},{"code":"400"},{"code":"401"},{"code":"500"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/partner-customers/partnercreatecustomer"}],"panels":[]}]},"httpPath":"/api/customers"},{"label":"List single customer","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/partner-customers/partnergetcustomer","routeSlug":"/partner-customers/partnergetcustomer","metadata":{"seo":{"title":"List single customer","description":"List single customer matching provided identifier."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"partnerGetCustomer","name":"List single customer","isWebhook":false,"pointer":"/paths/~1api~1customers~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List single customer","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":"List single customer matching provided identifier."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"https://partners.zoined.com/api/customers/{id}"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"partnerToken","scopes":[],"type":"apiKey","in":"header","paramName":"Authorization","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the Partner API token in this exact form:"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"Authorization: Token token=\"your-token-here\"\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"Authorization: Token token=\"your-token-here\"\n"},"children":[]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_1","description":"id of customer","required":true,"example":"dm_company"}],"pointer":"/paths/~1api~1customers~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/customers/{id}","servers":[{"url":"/_mock/","description":"Mock server","isMockServer":true},{"url":"https://partners.zoined.com"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"example":"dm_company","schemaId":"schema_1"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"partnerToken","type":"apiKey","name":"Authorization","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","404","500"],"pointer":"/api/customers/{id}","href":"/partner-customers/partnergetcustomer","openApiOperationId":"partnerGetCustomer","summary":"List single customer"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/","description":"Mock server","isMockServer":true},{"url":"https://partners.zoined.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Request has been processed successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CustomerResponse"}},"schemaId":"components/schemas/CustomerResponse"},{"code":"400","description":"When request has validation errors."},{"code":"401","description":"When authentication fails."},{"code":"404","description":"No such customer exists in system."},{"code":"500","description":"When internal service error has occurred."}],"pointer":"/paths/~1api~1customers~1{id}/get/responses"}],"panels":[{"children":[{"kind":"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":"500"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/partner-customers/partnergetcustomer"}],"panels":[]}]},"httpPath":"/api/customers/{id}"},{"label":"Edit customer","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/partner-customers/partnerupdatecustomer","routeSlug":"/partner-customers/partnerupdatecustomer","metadata":{"seo":{"title":"Edit customer","description":"Change name, disabled state or data source configuration for customer."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"partnerUpdateCustomer","name":"Edit customer","isWebhook":false,"pointer":"/paths/~1api~1customers~1{id}/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Edit customer","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":"Change name, disabled state or data source configuration for customer."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PATCH"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"https://partners.zoined.com/api/customers/{id}"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"partnerToken","scopes":[],"type":"apiKey","in":"header","paramName":"Authorization","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the Partner API token in this exact form:"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"Authorization: Token token=\"your-token-here\"\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"Authorization: Token token=\"your-token-here\"\n"},"children":[]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_1","description":"id of customer","required":true,"example":"dm_company"}],"pointer":"/paths/~1api~1customers~1{id}/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CustomerUpdateRequest"}},"schemaId":"components/schemas/CustomerUpdateRequest","pointer":"/paths/~1api~1customers~1{id}/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/api/customers/{id}","servers":[{"url":"/_mock/","description":"Mock server","isMockServer":true},{"url":"https://partners.zoined.com"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"example":"dm_company","schemaId":"schema_1"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"partnerToken","type":"apiKey","name":"Authorization","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/CustomerUpdateRequest"}},"responseCodes":["200","400","401","404","500"],"pointer":"/api/customers/{id}","href":"/partner-customers/partnerupdatecustomer","openApiOperationId":"partnerUpdateCustomer","summary":"Edit customer"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/","description":"Mock server","isMockServer":true},{"url":"https://partners.zoined.com"}],"schemaId":"components/schemas/CustomerUpdateRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CustomerUpdateRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Customer was updated successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CustomerResponse"}},"schemaId":"components/schemas/CustomerResponse"},{"code":"400","description":"When request has validation errors."},{"code":"401","description":"When authentication fails."},{"code":"404","description":"No such customer exists in system."},{"code":"500","description":"When internal service error has occurred."}],"pointer":"/paths/~1api~1customers~1{id}/patch/responses"}],"panels":[{"children":[{"kind":"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":"500"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/partner-customers/partnerupdatecustomer"}],"panels":[]}]},"httpPath":"/api/customers/{id}"},{"label":"Delete customer","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/partner-customers/partnerdeletecustomer","routeSlug":"/partner-customers/partnerdeletecustomer","metadata":{"seo":{"title":"Delete customer","description":"Completely remove customer. This can only be done for customers who are not in theproduction state."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"partnerDeleteCustomer","name":"Delete customer","isWebhook":false,"pointer":"/paths/~1api~1customers~1{id}/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":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Completely remove customer. This can only be done for customers who are not in the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"production state."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DELETE"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"https://partners.zoined.com/api/customers/{id}"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"partnerToken","scopes":[],"type":"apiKey","in":"header","paramName":"Authorization","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the Partner API token in this exact form:"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"Authorization: Token token=\"your-token-here\"\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"Authorization: Token token=\"your-token-here\"\n"},"children":[]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_1","description":"id of customer","required":true,"example":"dm_company"}],"pointer":"/paths/~1api~1customers~1{id}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/api/customers/{id}","servers":[{"url":"/_mock/","description":"Mock server","isMockServer":true},{"url":"https://partners.zoined.com"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"example":"dm_company","schemaId":"schema_1"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"partnerToken","type":"apiKey","name":"Authorization","in":"header"}],"scopes":[]}],"responseCodes":["204","400","401","404","500"],"pointer":"/api/customers/{id}","href":"/partner-customers/partnerdeletecustomer","openApiOperationId":"partnerDeleteCustomer","summary":"Delete customer"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/","description":"Mock server","isMockServer":true},{"url":"https://partners.zoined.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"When customer has been deleted successfully."},{"code":"400","description":"When request has validation errors."},{"code":"401","description":"When authentication fails."},{"code":"404","description":"No such customer exists in system."},{"code":"500","description":"When internal service error has occurred."}],"pointer":"/paths/~1api~1customers~1{id}/delete/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/partner-customers/partnerdeletecustomer"}],"panels":[]}]},"httpPath":"/api/customers/{id}"},{"label":"Promote customer into production state","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/partner-customers/partnerpromotecustomer","routeSlug":"/partner-customers/partnerpromotecustomer","metadata":{"seo":{"title":"Promote customer into production state","description":"Promotes customer into production. Production customers have monitoring enabled,and their data can no longer be deleted via the API."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"partnerPromoteCustomer","name":"Promote customer into production state","isWebhook":false,"pointer":"/paths/~1api~1customers~1{id}~1promote/post","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Promote customer into production state","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":"Promotes customer into production. Production customers have monitoring enabled,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"and their data can no longer be deleted via the API."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"https://partners.zoined.com/api/customers/{id}/promote"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"partnerToken","scopes":[],"type":"apiKey","in":"header","paramName":"Authorization","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the Partner API token in this exact form:"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"Authorization: Token token=\"your-token-here\"\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"Authorization: Token token=\"your-token-here\"\n"},"children":[]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_1","description":"id of customer","required":true,"example":"dm_company"}],"pointer":"/paths/~1api~1customers~1{id}~1promote/post/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/customers/{id}/promote","servers":[{"url":"/_mock/","description":"Mock server","isMockServer":true},{"url":"https://partners.zoined.com"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"example":"dm_company","schemaId":"schema_1"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"partnerToken","type":"apiKey","name":"Authorization","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","404","500"],"pointer":"/api/customers/{id}/promote","href":"/partner-customers/partnerpromotecustomer","openApiOperationId":"partnerPromoteCustomer","summary":"Promote customer into production state"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/","description":"Mock server","isMockServer":true},{"url":"https://partners.zoined.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Customer was promoted successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CustomerResponse"}},"schemaId":"components/schemas/CustomerResponse"},{"code":"400","description":"When request has validation errors."},{"code":"401","description":"When authentication fails."},{"code":"404","description":"No such customer exists in system."},{"code":"500","description":"When internal service error has occurred."}],"pointer":"/paths/~1api~1customers~1{id}~1promote/post/responses"}],"panels":[{"children":[{"kind":"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":"500"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/partner-customers/partnerpromotecustomer"}],"panels":[]}]},"httpPath":"/api/customers/{id}/promote"},{"label":"Truncate data","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/partner-customers/partnertruncatecustomerdata","routeSlug":"/partner-customers/partnertruncatecustomerdata","metadata":{"seo":{"title":"Truncate data","description":"Removes all stored data from the customer. This is useful when setting up the customerintegration, if there are any issues with loading the data. Data can only be truncatedwhen customer is still in sandbox mode. After user has been switched to production, datacan no longer be truncated with this API."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"partnerTruncateCustomerData","name":"Truncate data","isWebhook":false,"pointer":"/paths/~1api~1customers~1{id}~1data/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Truncate data","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":"Removes all stored data from the customer. This is useful when setting up the customer"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"integration, if there are any issues with loading the data. Data can only be truncated"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"when customer is still in sandbox mode. After user has been switched to production, data"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"can no longer be truncated with this API."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DELETE"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"https://partners.zoined.com/api/customers/{id}/data"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"partnerToken","scopes":[],"type":"apiKey","in":"header","paramName":"Authorization","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the Partner API token in this exact form:"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"Authorization: Token token=\"your-token-here\"\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"Authorization: Token token=\"your-token-here\"\n"},"children":[]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_1","description":"id of customer","required":true,"example":"dm_company"}],"pointer":"/paths/~1api~1customers~1{id}~1data/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/api/customers/{id}/data","servers":[{"url":"/_mock/","description":"Mock server","isMockServer":true},{"url":"https://partners.zoined.com"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"example":"dm_company","schemaId":"schema_1"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"partnerToken","type":"apiKey","name":"Authorization","in":"header"}],"scopes":[]}],"responseCodes":["204","400","401","500"],"pointer":"/api/customers/{id}/data","href":"/partner-customers/partnertruncatecustomerdata","openApiOperationId":"partnerTruncateCustomerData","summary":"Truncate data"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/","description":"Mock server","isMockServer":true},{"url":"https://partners.zoined.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"When opration completed successfully."},{"code":"400","description":"When request has validation errors."},{"code":"401","description":"When authentication fails."},{"code":"500","description":"When internal service error has occurred."}],"pointer":"/paths/~1api~1customers~1{id}~1data/delete/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/partner-customers/partnertruncatecustomerdata"}],"panels":[]}]},"httpPath":"/api/customers/{id}/data"},{"label":"Invite users","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/partner-customers/partnerinvitecustomeruser","routeSlug":"/partner-customers/partnerinvitecustomeruser","metadata":{"seo":{"title":"Invite users","description":"Invite new users to specified customer."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"partnerInviteCustomerUser","name":"Invite users","isWebhook":false,"pointer":"/paths/~1api~1customers~1{id}~1users/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Invite users","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":"Invite new users to specified customer."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"https://partners.zoined.com/api/customers/{id}/users"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"partnerToken","scopes":[],"type":"apiKey","in":"header","paramName":"Authorization","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the Partner API token in this exact form:"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"Authorization: Token token=\"your-token-here\"\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"Authorization: Token token=\"your-token-here\"\n"},"children":[]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_1","description":"id of customer","required":true,"example":"dm_company"}],"pointer":"/paths/~1api~1customers~1{id}~1users/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/UserInviteRequest"}},"schemaId":"components/schemas/UserInviteRequest","pointer":"/paths/~1api~1customers~1{id}~1users/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/customers/{id}/users","servers":[{"url":"/_mock/","description":"Mock server","isMockServer":true},{"url":"https://partners.zoined.com"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"example":"dm_company","schemaId":"schema_1"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"partnerToken","type":"apiKey","name":"Authorization","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/UserInviteRequest"}},"responseCodes":["204","400","401","500"],"pointer":"/api/customers/{id}/users","href":"/partner-customers/partnerinvitecustomeruser","openApiOperationId":"partnerInviteCustomerUser","summary":"Invite users"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/","description":"Mock server","isMockServer":true},{"url":"https://partners.zoined.com"}],"schemaId":"components/schemas/UserInviteRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/UserInviteRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"When user has been invited successfully."},{"code":"400","description":"When request has validation errors."},{"code":"401","description":"When authentication fails."},{"code":"500","description":"When internal service error has occurred."}],"pointer":"/paths/~1api~1customers~1{id}~1users/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/partner-customers/partnerinvitecustomeruser"}],"panels":[]}]},"httpPath":"/api/customers/{id}/users"},{"label":"Remove users","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/partner-customers/partnerremovecustomeruser","routeSlug":"/partner-customers/partnerremovecustomeruser","metadata":{"seo":{"title":"Remove users","description":"Remove specific user access from all roles for specified customer."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"partnerRemoveCustomerUser","name":"Remove users","isWebhook":false,"pointer":"/paths/~1api~1customers~1{id}~1users~1{user}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Remove users","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":"Remove specific user access from all roles for specified customer."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DELETE"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"https://partners.zoined.com/api/customers/{id}/users/{user}"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"partnerToken","scopes":[],"type":"apiKey","in":"header","paramName":"Authorization","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the Partner API token in this exact form:"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"Authorization: Token token=\"your-token-here\"\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"Authorization: Token token=\"your-token-here\"\n"},"children":[]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_1","description":"id of customer","required":true,"example":"dm_company"},{"name":"user","in":"path","schemaId":"schema_1","description":"email (user account id) of user to be removed","required":true,"example":"foo@example.com"}],"pointer":"/paths/~1api~1customers~1{id}~1users~1{user}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/api/customers/{id}/users/{user}","servers":[{"url":"/_mock/","description":"Mock server","isMockServer":true},{"url":"https://partners.zoined.com"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"example":"dm_company","schemaId":"schema_1"},{"name":"user","in":"path","required":true,"example":"foo@example.com","schemaId":"schema_1"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"partnerToken","type":"apiKey","name":"Authorization","in":"header"}],"scopes":[]}],"responseCodes":["204","400","401","500"],"pointer":"/api/customers/{id}/users/{user}","href":"/partner-customers/partnerremovecustomeruser","openApiOperationId":"partnerRemoveCustomerUser","summary":"Remove users"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/","description":"Mock server","isMockServer":true},{"url":"https://partners.zoined.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"When user roles have been removed successfully."},{"code":"400","description":"When request has validation errors."},{"code":"401","description":"When authentication fails."},{"code":"500","description":"When internal service error has occurred."}],"pointer":"/paths/~1api~1customers~1{id}~1users~1{user}/delete/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/partner-customers/partnerremovecustomeruser"}],"panels":[]}]},"httpPath":"/api/customers/{id}/users/{user}"}],"content":{"contentType":"group","meta":{"name":"partner-customers"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Customer","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":"These end points allow you to manage your customers."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Depending whether you are connecting Zoined via database poll or ZAPI, there are some differences in the data associated with each customers."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ZAPI:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" If you are connecting via ZAPI, the returned customer information"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"contains a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"token"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field with the API token needed to access ZAPI for that customer."},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"{\n  \"key\": \"Demo company\",\n  ...\n  \"token\": \"abcdefghijklmn\"\n}\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"{\n  \"key\": \"Demo company\",\n  ...\n  \"token\": \"abcdefghijklmn\"\n}\n"},"children":[]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Database poll:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" If you are connecting via database fetch, you need to"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"define additional data source configuration when creating the customer. We'll also return dataSource block which will return the the data source configuration for the customer with password masked."},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"{\n  \"dataSource\": {\n    \"host\": \"db-host\",\n    \"port\": 3306,\n    \"database\": \"database_name\",\n    \"username\": \"db-username\",\n    \"password\": \"db-XXXXXXXXXX\",\n    \"filters\": {\n      \"companyId\": \"123\"\n    }\n  }\n}\n","language":"json"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"{\n  \"dataSource\": {\n    \"host\": \"db-host\",\n    \"port\": 3306,\n    \"database\": \"database_name\",\n    \"username\": \"db-username\",\n    \"password\": \"db-XXXXXXXXXX\",\n    \"filters\": {\n      \"companyId\": \"123\"\n    }\n  }\n}\n"},"children":[]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/customers","summary":"List customers","prefix":{"name":"get","color":"get"},"badges":[],"link":"/partner-customers/partnerlistcustomers","deprecated":false},{"title":"/api/customers","summary":"Create customer","prefix":{"name":"post","color":"post"},"badges":[],"link":"/partner-customers/partnercreatecustomer","deprecated":false},{"title":"/api/customers/{id}","summary":"List single customer","prefix":{"name":"get","color":"get"},"badges":[],"link":"/partner-customers/partnergetcustomer","deprecated":false},{"title":"/api/customers/{id}","summary":"Edit customer","prefix":{"name":"patch","color":"patch"},"badges":[],"link":"/partner-customers/partnerupdatecustomer","deprecated":false},{"title":"/api/customers/{id}","summary":"Delete customer","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/partner-customers/partnerdeletecustomer","deprecated":false},{"title":"/api/customers/{id}/promote","summary":"Promote customer into production state","prefix":{"name":"post","color":"post"},"badges":[],"link":"/partner-customers/partnerpromotecustomer","deprecated":false},{"title":"/api/customers/{id}/data","summary":"Truncate data","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/partner-customers/partnertruncatecustomerdata","deprecated":false},{"title":"/api/customers/{id}/users","summary":"Invite users","prefix":{"name":"post","color":"post"},"badges":[],"link":"/partner-customers/partnerinvitecustomeruser","deprecated":false},{"title":"/api/customers/{id}/users/{user}","summary":"Remove users","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/partner-customers/partnerremovecustomeruser","deprecated":false}]}]}]}]}},{"type":"group","label":"Messaging","link":"/partner-messaging","routeSlug":"/partner-messaging","items":[{"label":"Set new message","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/partner-messaging/partnersetmessage","routeSlug":"/partner-messaging/partnersetmessage","metadata":{"seo":{"title":"Set new message","description":"Adds new message to system as either broadcast or alternatively for specific customers. Replaces any existing message of that type."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"partnerSetMessage","name":"Set new message","isWebhook":false,"pointer":"/paths/~1api~1messaging/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Set new message","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":"Adds new message to system as either broadcast or alternatively for specific customers. Replaces any existing message of that type."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"https://partners.zoined.com/api/messaging"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"partnerToken","scopes":[],"type":"apiKey","in":"header","paramName":"Authorization","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the Partner API token in this exact form:"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"Authorization: Token token=\"your-token-here\"\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"Authorization: Token token=\"your-token-here\"\n"},"children":[]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"customer","in":"query","schemaId":"schema_3","description":"Optional customer IDs to apply the operation to specific partner companies only.","example":["company_a"]}],"pointer":"/paths/~1api~1messaging/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/SetMessageRequest"}},"schemaId":"components/schemas/SetMessageRequest","pointer":"/paths/~1api~1messaging/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/messaging","servers":[{"url":"/_mock/","description":"Mock server","isMockServer":true},{"url":"https://partners.zoined.com"}],"parameters":{"path":[],"query":[{"name":"customer","in":"query","required":false,"example":["company_a"],"schemaId":"schema_3","style":"form","explode":true}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"partnerToken","type":"apiKey","name":"Authorization","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/SetMessageRequest"}},"responseCodes":["204","400","401","500"],"pointer":"/api/messaging","href":"/partner-messaging/partnersetmessage","openApiOperationId":"partnerSetMessage","summary":"Set new message"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/","description":"Mock server","isMockServer":true},{"url":"https://partners.zoined.com"}],"schemaId":"components/schemas/SetMessageRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/SetMessageRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"When message has been deleted successfully."},{"code":"400","description":"When request has validation errors."},{"code":"401","description":"When authentication fails."},{"code":"500","description":"When internal service error has occurred."}],"pointer":"/paths/~1api~1messaging/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/partner-messaging/partnersetmessage"}],"panels":[]}]},"httpPath":"/api/messaging"},{"label":"Delete message","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/partner-messaging/partnerdeletemessage","routeSlug":"/partner-messaging/partnerdeletemessage","metadata":{"seo":{"title":"Delete message","description":"Remove either current broadcast message from system or alternatively messages for specific companies."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"partnerDeleteMessage","name":"Delete message","isWebhook":false,"pointer":"/paths/~1api~1messaging/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete message","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":"Remove either current broadcast message from system or alternatively messages for specific companies."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DELETE"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"https://partners.zoined.com/api/messaging"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"partnerToken","scopes":[],"type":"apiKey","in":"header","paramName":"Authorization","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the Partner API token in this exact form:"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"Authorization: Token token=\"your-token-here\"\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"Authorization: Token token=\"your-token-here\"\n"},"children":[]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"customer","in":"query","schemaId":"schema_3","description":"Optional customer IDs to apply the operation to specific partner companies only.","example":["company_a"]}],"pointer":"/paths/~1api~1messaging/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/api/messaging","servers":[{"url":"/_mock/","description":"Mock server","isMockServer":true},{"url":"https://partners.zoined.com"}],"parameters":{"path":[],"query":[{"name":"customer","in":"query","required":false,"example":["company_a"],"schemaId":"schema_3","style":"form","explode":true}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"partnerToken","type":"apiKey","name":"Authorization","in":"header"}],"scopes":[]}],"responseCodes":["204","400","401","500"],"pointer":"/api/messaging","href":"/partner-messaging/partnerdeletemessage","openApiOperationId":"partnerDeleteMessage","summary":"Delete message"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/","description":"Mock server","isMockServer":true},{"url":"https://partners.zoined.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"When message has been deleted successfully."},{"code":"400","description":"When request has validation errors."},{"code":"401","description":"When authentication fails."},{"code":"500","description":"When internal service error has occurred."}],"pointer":"/paths/~1api~1messaging/delete/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/partner-messaging/partnerdeletemessage"}],"panels":[]}]},"httpPath":"/api/messaging"},{"label":"Get message statistics","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/partner-messaging/partnergetmessagestatistics","routeSlug":"/partner-messaging/partnergetmessagestatistics","metadata":{"seo":{"title":"Get message statistics","description":"Returns information about either current broadcast message or customer specific message view statistics."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"partnerGetMessageStatistics","name":"Get message statistics","isWebhook":false,"pointer":"/paths/~1api~1messaging/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get message statistics","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":"Returns information about either current broadcast message or customer specific message view statistics."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"https://partners.zoined.com/api/messaging"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"partnerToken","scopes":[],"type":"apiKey","in":"header","paramName":"Authorization","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the Partner API token in this exact form:"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"Authorization: Token token=\"your-token-here\"\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"Authorization: Token token=\"your-token-here\"\n"},"children":[]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"customer","in":"query","schemaId":"schema_3","description":"Optional customer IDs to apply the operation to specific partner companies only.","example":["company_a"]}],"pointer":"/paths/~1api~1messaging/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/messaging","servers":[{"url":"/_mock/","description":"Mock server","isMockServer":true},{"url":"https://partners.zoined.com"}],"parameters":{"path":[],"query":[{"name":"customer","in":"query","required":false,"example":["company_a"],"schemaId":"schema_3","style":"form","explode":true}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"partnerToken","type":"apiKey","name":"Authorization","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","404","500"],"pointer":"/api/messaging","href":"/partner-messaging/partnergetmessagestatistics","openApiOperationId":"partnerGetMessageStatistics","summary":"Get message statistics"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/","description":"Mock server","isMockServer":true},{"url":"https://partners.zoined.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"When request has been processed successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MessageStatus"}},"schemaId":"components/schemas/MessageStatus"},{"code":"400","description":"When request has validation errors."},{"code":"401","description":"When authentication fails."},{"code":"404","description":"No message exists in system."},{"code":"500","description":"When internal service error has occurred."}],"pointer":"/paths/~1api~1messaging/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/MessageStatus","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MessageStatus"}}},{"code":"400"},{"code":"401"},{"code":"404"},{"code":"500"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/partner-messaging/partnergetmessagestatistics"}],"panels":[]}]},"httpPath":"/api/messaging"}],"content":{"contentType":"group","meta":{"name":"partner-messaging"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Messaging","showPageActions":true},{"nodeType":"markdoc","content":"These end points allow you to broadcast portal messages to either all of your customers\nor only given customers and get view statistics afterwards. Only single message at\na time is supported for both all companies (broadcast) and a single company."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/messaging","summary":"Set new message","prefix":{"name":"post","color":"post"},"badges":[],"link":"/partner-messaging/partnersetmessage","deprecated":false},{"title":"/api/messaging","summary":"Delete message","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/partner-messaging/partnerdeletemessage","deprecated":false},{"title":"/api/messaging","summary":"Get message statistics","prefix":{"name":"get","color":"get"},"badges":[],"link":"/partner-messaging/partnergetmessagestatistics","deprecated":false}]}]}]}]}},{"type":"separator","label":"Zoined Retail Analytics Portal API","content":null},{"type":"group","label":"SSO-API Overview","link":"/portal-overview","routeSlug":"/portal-overview","items":[],"content":{"contentType":"group","meta":{"name":"portal-overview"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"SSO-API Overview","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":"Zoined Retail Analytics Portal provides API for implementing Single Sign-On (SSO) via"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"session transfer url. This allows logged in end users of customers or partners system to start"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"using Zoined Analytics Portal without separately logging in. This is accomplished"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"by sending Zoined information about the end user with untamperable link."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"#schema/SessionTransfer"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"SessionTransfer schema"},"children":[]}]}]}]}]}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/portal-overview"}],"panels":[]}]}},{"type":"group","label":"Session transfer","link":"/portal-session-transfer","routeSlug":"/portal-session-transfer","items":[{"label":"Session transfer via URL","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/portal-session-transfer/portalsessiontransferviaurl","routeSlug":"/portal-session-transfer/portalsessiontransferviaurl","metadata":{"seo":{"title":"Session transfer via URL","description":"Allows user to login with generated URL."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"portalSessionTransferViaUrl","name":"Session transfer via URL","isWebhook":false,"pointer":"/paths/~1sso~1session_transfer~1{customer_id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Session transfer via URL","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":"Allows user to login with generated URL."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"https://app.zoined.com/sso/session_transfer/{customer_id}?payload={payload}&digest={digest}"},"children":[]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"customer_id","in":"path","schemaId":"schema_1","description":"Identifier for the customer account to login to","required":true,"example":"mycompany"}],"pointer":"/paths/~1sso~1session_transfer~1{customer_id}/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"payload","in":"query","schemaId":"schema_1","description":"Base64 encoded JSON message containing user data.","required":true,"example":"foo"},{"name":"digest","in":"query","schemaId":"schema_1","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"SHA-512 digest calculated from unencoded payload + secret key."},"children":[]}]}]}],"required":true,"example":"bar"}],"pointer":"/paths/~1sso~1session_transfer~1{customer_id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/sso/session_transfer/{customer_id}","servers":[{"url":"/_mock/","description":"Mock server","isMockServer":true},{"url":"https://app.zoined.com"}],"parameters":{"path":[{"name":"customer_id","in":"path","required":true,"example":"mycompany","schemaId":"schema_1"}],"query":[{"name":"payload","in":"query","required":true,"example":"foo","schemaId":"schema_1"},{"name":"digest","in":"query","required":true,"example":"bar","schemaId":"schema_1"}],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["302","422"],"pointer":"/sso/session_transfer/{customer_id}","href":"/portal-session-transfer/portalsessiontransferviaurl","openApiOperationId":"portalSessionTransferViaUrl","summary":"Session transfer via URL"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/","description":"Mock server","isMockServer":true},{"url":"https://app.zoined.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"302","description":"On success user is redirected to dashboard or target path specified in payload."},{"code":"422"}],"pointer":"/paths/~1sso~1session_transfer~1{customer_id}/get/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/portal-session-transfer/portalsessiontransferviaurl"}],"panels":[]}]},"httpPath":"/sso/session_transfer/{customer_id}"},{"label":"Session transfer via POST request","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/portal-session-transfer/portalsessiontransferviapost","routeSlug":"/portal-session-transfer/portalsessiontransferviapost","metadata":{"seo":{"title":"Session transfer via POST request","description":"Login user via SSO POST request."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"portalSessionTransferViaPost","name":"Session transfer via POST request","isWebhook":false,"pointer":"/paths/~1sso~1session_transfer~1{customer_id}/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Session transfer via POST request","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":"Login user via SSO POST request."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"https://app.zoined.com/sso/session_transfer/{customer_id}"},"children":[]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"customer_id","in":"path","schemaId":"schema_1","description":"Identifier for the customer account to login to","required":true,"example":"mycompany"}],"pointer":"/paths/~1sso~1session_transfer~1{customer_id}/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_4","exampleIds":["paths/~1sso~1session_transfer~1{customer_id}/post/requestBody/content/application~1json/example"]}},"schemaId":"schema_4","exampleIds":["paths/~1sso~1session_transfer~1{customer_id}/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1sso~1session_transfer~1{customer_id}/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/sso/session_transfer/{customer_id}","servers":[{"url":"/_mock/","description":"Mock server","isMockServer":true},{"url":"https://app.zoined.com"}],"parameters":{"path":[{"name":"customer_id","in":"path","required":true,"example":"mycompany","schemaId":"schema_1"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_4","exampleIds":["paths/~1sso~1session_transfer~1{customer_id}/post/requestBody/content/application~1json/example"]}},"responseCodes":["302","422"],"pointer":"/sso/session_transfer/{customer_id}","href":"/portal-session-transfer/portalsessiontransferviapost","openApiOperationId":"portalSessionTransferViaPost","summary":"Session transfer via POST request"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/","description":"Mock server","isMockServer":true},{"url":"https://app.zoined.com"}],"schemaId":"schema_4","exampleIds":["paths/~1sso~1session_transfer~1{customer_id}/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_4","exampleIds":["paths/~1sso~1session_transfer~1{customer_id}/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"302","description":"On success user is redirected to dashboard or target path specified in payload."},{"code":"422"}],"pointer":"/paths/~1sso~1session_transfer~1{customer_id}/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/portal-session-transfer/portalsessiontransferviapost"}],"panels":[]}]},"httpPath":"/sso/session_transfer/{customer_id}"}],"content":{"contentType":"group","meta":{"name":"portal-session-transfer"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Session transfer","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":"Session transfer allows you to transfer logged in end user from the system you control"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"into Zoined as logged in user. This is accomplished by creating JSON message with the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"information about the user and then signing it with cryptographic digest to ensure"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"that message comes from your system and is not tampered with. Payload JSON message"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"structure can be seen above."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"After payload JSON is created, digest is calculated from the payload and shared secret"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"which have been provided to you by Zoined, or retrieved via partner API."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Calculation in pseudocode is shown below:"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"sha512hex(concatenate(payload, '#', secret))\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"sha512hex(concatenate(payload, '#', secret))\n"},"children":[]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"There are two ways to implement session transfer to Zoined. First you can create"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"link based on the instructions, and just redirect user to this link. This is easy"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"to implement, but drawback is that this request will be stored in users browser"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"history. Same link cannot be used to log back in due embedded timestamp, but link"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"contains users name, role, and access restrictons, although encoded with Base64."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Second approach is to make POST request with payload and digest sent as"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST parameters. This won't get stored to browser history, but is bit more complicated"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"to implement. Server will need to provide payload and digest to web page in your service,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"and after that browser needs to do form submit. This can be accomplished e.g. by"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"retrieving data from server via AJAX, filling data to hidden form, and then submitting"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"it via Javascript."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note that sending server's time needs to be reasonable synchronized with the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"global time, as we are using timestamps from server for checking the time based link"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"validity. Payloads with timestamp older than 5 minutes will be discarded. Please also"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"note that shared secret must never be transferred to browser, or otherwise it can"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"be used for unauthorized access. Forming of payload, and calculation of digest needs"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"to happen strictly on server side."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/sso/session_transfer/{customer_id}","summary":"Session transfer via URL","prefix":{"name":"get","color":"get"},"badges":[],"link":"/portal-session-transfer/portalsessiontransferviaurl","deprecated":false},{"title":"/sso/session_transfer/{customer_id}","summary":"Session transfer via POST request","prefix":{"name":"post","color":"post"},"badges":[],"link":"/portal-session-transfer/portalsessiontransferviapost","deprecated":false}]}]}]}]}},{"type":"group","label":"Data Structures","link":"/portal-data-structures","routeSlug":"/portal-data-structures","items":[{"type":"link","label":"SessionTransfer","link":"/portal-data-structures/sessiontransfer","routeSlug":"/portal-data-structures/sessiontransfer","httpVerb":"schema","content":{"contentType":"item","itemVariant":"schema","meta":{"name":"SessionTransfer"},"seo":{"title":"SessionTransfer"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"SessionTransfer","showPageActions":true}],"panels":[]},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"tag","tag":"schemaDefinition","attributes":{"showWriteOnly":true,"schemaRef":"#/components/schemas/SessionTransfer"},"children":[]}]}]}},{"type":"link","label":"RestrictedDimensions","link":"/portal-data-structures/restricteddimensions","routeSlug":"/portal-data-structures/restricteddimensions","httpVerb":"schema","content":{"contentType":"item","itemVariant":"schema","meta":{"name":"RestrictedDimensions"},"seo":{"title":"RestrictedDimensions"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"RestrictedDimensions","showPageActions":true}],"panels":[]},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"tag","tag":"schemaDefinition","attributes":{"showWriteOnly":true,"schemaRef":"#/components/schemas/RestrictedDimensions"},"children":[]}]}]}},{"type":"link","label":"UserRestrictions","link":"/portal-data-structures/userrestrictions","routeSlug":"/portal-data-structures/userrestrictions","httpVerb":"schema","content":{"contentType":"item","itemVariant":"schema","meta":{"name":"UserRestrictions"},"seo":{"title":"UserRestrictions"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"UserRestrictions","showPageActions":true}],"panels":[]},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"tag","tag":"schemaDefinition","attributes":{"showWriteOnly":true,"schemaRef":"#/components/schemas/UserRestrictions"},"children":[]}]}]}},{"type":"link","label":"SessionTransferUserData","link":"/portal-data-structures/sessiontransferuserdata","routeSlug":"/portal-data-structures/sessiontransferuserdata","httpVerb":"schema","content":{"contentType":"item","itemVariant":"schema","meta":{"name":"SessionTransferUserData"},"seo":{"title":"SessionTransferUserData"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"SessionTransferUserData","showPageActions":true}],"panels":[]},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"tag","tag":"schemaDefinition","attributes":{"showWriteOnly":true,"schemaRef":"#/components/schemas/SessionTransferUserData"},"children":[]}]}]}}],"content":{"contentType":"group","meta":{"name":"portal-data-structures"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Data Structures","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":"Data structures used for SSO session transfer. The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SessionTransfer"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" object"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"describes the decoded JSON that is Base64-encoded into the SSO "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"payload"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" parameter."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Schemas","titleTranslationKey":"schemas","items":[{"title":"SessionTransfer","link":"/portal-data-structures/sessiontransfer","deprecated":false},{"title":"RestrictedDimensions","link":"/portal-data-structures/restricteddimensions","deprecated":false},{"title":"UserRestrictions","link":"/portal-data-structures/userrestrictions","deprecated":false},{"title":"SessionTransferUserData","link":"/portal-data-structures/sessiontransferuserdata","deprecated":false}]}]}]}]}}],"store":{"schemaStore":{"components/schemas/SessionTransfer":{"id":"components/schemas/SessionTransfer","kind":"json-schema","title":"SessionTransfer","data":{"x-tags":["portal-data-structures"],"type":"object","description":"Decoded JSON structure that is Base64 encoded into the SSO payload.","required":["timestamp"],"properties":{"timestamp":{"type":"string","format":"date-time","description":"Current time in ISO 8601 format","example":"2017-01-01T00:00:00Z"},"target_path":{"type":"string","description":"Optional path in Zoined Portal where to redirect after sign in","example":"/analytics/assortment_adhoc"},"user":{"$ref":"#/components/schemas/SessionTransferUserData"}}}},"components/schemas/RestrictedDimensions":{"id":"components/schemas/RestrictedDimensions","kind":"json-schema","title":"RestrictedDimensions","data":{"x-tags":["portal-data-structures"],"type":"object","properties":{"store":{"type":"array","items":{"type":"string"},"description":"Array of store id's user can access. Empty array or nonexisting entry means no restrictions","example":["store1","store2"]}}}},"components/schemas/UserRestrictions":{"id":"components/schemas/UserRestrictions","kind":"json-schema","title":"UserRestrictions","data":{"x-tags":["portal-data-structures"],"type":"object","properties":{"dimensions":{"$ref":"#/components/schemas/RestrictedDimensions"},"metrics":{"type":"array","items":{"type":"string"},"description":"Array of metric id's user can access. Empty array or nonexisting entry means no restrictions"}}}},"components/schemas/SessionTransferUserData":{"id":"components/schemas/SessionTransferUserData","kind":"json-schema","title":"SessionTransferUserData","data":{"x-tags":["portal-data-structures"],"type":"object","required":["first_name","last_name","email"],"properties":{"first_name":{"type":"string","description":"User's first name","example":"John"},"last_name":{"type":"string","description":"User's last name","example":"Smith"},"email":{"type":"string","format":"email","description":"User's email","example":"john.smith@email.email"},"language":{"type":"string","description":"User's language. Empty or nonexisting entry means company default language.","example":"en"},"role":{"type":"string","enum":["user","admin"],"description":"User's role in company","example":"user"},"teams":{"type":"array","items":{"type":"string"},"description":"Array of team identifiers"},"restrictions":{"$ref":"#/components/schemas/UserRestrictions"}}}},"components/schemas/DataSourceConfigurationBase":{"id":"components/schemas/DataSourceConfigurationBase","kind":"json-schema","title":"DataSourceConfigurationBase","data":{"type":"object","required":["host","port","database","username"],"properties":{"host":{"type":"string","description":"Database host","example":"db-host"},"port":{"type":"number","description":"Database port","example":3306},"database":{"type":"string","description":"Database name","example":"database_name"},"username":{"type":"string","description":"Database username","example":"db-username"}}}},"components/schemas/DataSourceConfiguration":{"id":"components/schemas/DataSourceConfiguration","kind":"json-schema","title":"DataSourceConfiguration","data":{"allOf":[{"$ref":"#/components/schemas/DataSourceConfigurationBase"},{"type":"object","required":["password"],"properties":{"password":{"type":"string","description":"Database password","example":"db-password"}}}]}},"components/schemas/DataSourceConfigurationResponse":{"id":"components/schemas/DataSourceConfigurationResponse","kind":"json-schema","title":"DataSourceConfigurationResponse","data":{"allOf":[{"$ref":"#/components/schemas/DataSourceConfigurationBase"},{"type":"object","required":["password"],"properties":{"password":{"type":"string","description":"First three letters from the database password","example":"db-XXXXXXXX"}}}]}},"components/schemas/DataUpdated":{"id":"components/schemas/DataUpdated","kind":"json-schema","title":"DataUpdated","data":{"type":"object","properties":{"visitors":{"type":"string","format":"date-time","example":"2016-03-22T13:02:36.000+02:00"}}}},"components/schemas/CustomerResponse":{"id":"components/schemas/CustomerResponse","kind":"json-schema","title":"CustomerResponse","data":{"type":"object","properties":{"key":{"type":"string","description":"Company's key","example":"dm_company"},"name":{"type":"string","description":"Company name","example":"Demo company"},"createdAt":{"type":"string","description":"12-10T12:12:30Z (string) - Customer creation time stamp","example":"2019"},"disabled":{"type":"boolean","description":"Customers's processing state. Disabled customers don't poll for new data","example":false},"production":{"type":"boolean","description":"Whether customer is in production mode","example":true},"customerType":{"type":"string","description":"Customer Type","example":"other"},"token":{"type":"string","description":"ZAPI access token for customer if applicable","example":"abcdefghijklmn"},"status":{"type":"string","description":"Status for the customer","example":"ok"},"licenses":{"type":"array","items":{"type":"string"},"description":"Customer product licenses","example":["standard"]},"dataUpdated":{"$ref":"#/components/schemas/DataUpdated"},"dataSource":{"$ref":"#/components/schemas/DataSourceConfigurationResponse"},"ssoSecret":{"type":"string","description":"SSO token if defined","example":"asdajksdajdsjsdadjsasodaj"}}}},"components/schemas/CustomerUpdateRequest":{"id":"components/schemas/CustomerUpdateRequest","kind":"json-schema","title":"CustomerUpdateRequest","data":{"type":"object","properties":{"name":{"type":"string","description":"Customer's name","example":"New name"},"disabled":{"type":"boolean","description":"Customer's processing state. Disabled customers don't poll for new data and customer users have no portal access nor receive emails.","example":false},"dataSource":{"$ref":"#/components/schemas/DataSourceConfiguration"},"licenses":{"type":"array","items":{"type":"string"},"description":"Array of customer product licenses","example":["limited"]}}}},"components/schemas/AdminUser":{"id":"components/schemas/AdminUser","kind":"json-schema","title":"AdminUser","data":{"type":"object","properties":{"firstName":{"type":"string","example":"My"},"lastName":{"type":"string","example":"Name"},"email":{"type":"string","format":"email","example":"my.name@nonexisting.addr"}}}},"components/schemas/CreateCustomerRequest":{"id":"components/schemas/CreateCustomerRequest","kind":"json-schema","title":"CreateCustomerRequest","data":{"type":"object","properties":{"name":{"type":"string","example":"Demo company"},"key":{"type":"string","description":"Optional customer key. If omitted, a key is created based on company name.","example":"dm_company"},"environment":{"type":"string","example":"production"},"locale":{"type":"string","example":"en"},"country":{"type":"string","example":"FI"},"currency":{"type":"string","example":"EUR"},"dateOffset":{"type":"number","example":0},"dataSource":{"$ref":"#/components/schemas/DataSourceConfiguration"},"adminUser":{"$ref":"#/components/schemas/AdminUser"},"licenses":{"type":"array","items":{"type":"string"},"example":["limited"]}}}},"components/schemas/CreateCustomerResponse":{"id":"components/schemas/CreateCustomerResponse","kind":"json-schema","title":"CreateCustomerResponse","data":{"type":"object","properties":{"key":{"type":"string","example":"dm_company"},"token":{"type":"string","description":"Returned for customers connected through ZAPI.","example":"abcdefghijklmn"}}}},"components/schemas/UserInviteRequest":{"id":"components/schemas/UserInviteRequest","kind":"json-schema","title":"UserInviteRequest","data":{"type":"object","required":["email","firstName","lastName"],"properties":{"email":{"type":"string","format":"email","description":"Email address for the user","example":"john.smith@nonexisting.domain"},"firstName":{"type":"string","description":"First name of the user","example":"John"},"lastName":{"type":"string","description":"Last name of the user","example":"Smith"},"role":{"type":"string","enum":["user","admin"],"description":"Role of the user. Either user or admin.","example":"user"}}}},"components/schemas/SetMessageRequest":{"id":"components/schemas/SetMessageRequest","kind":"json-schema","title":"SetMessageRequest","data":{"type":"object","required":["title","message"],"properties":{"title":{"type":"string","description":"Message title. Only very basic formatting html allowed.","example":"Important message"},"message":{"type":"string","description":"Message content. Only very basic formatting html allowed.","example":"Message content here"},"start_date":{"type":"string","format":"date","description":"Date when to start showing the message","example":"2020-01-01"},"end_date":{"type":"string","format":"date","description":"Date when to stop showing the message.","example":"2020-01-31"},"role":{"type":"string","enum":["user","admin"],"description":"Required role for users message is to be shown. Either user or admin.","example":"user"}}}},"components/schemas/MessageStatus":{"id":"components/schemas/MessageStatus","kind":"json-schema","title":"MessageStatus","data":{"type":"object","required":["title","message","total_views","customer_views"],"properties":{"title":{"type":"string","description":"Message title. Only very basic formatting html allowed.","example":"Important message"},"message":{"type":"string","description":"Message content. Only very basic formatting html allowed.","example":"Message content here"},"start_date":{"type":"string","format":"date","description":"Date when to start showing the message","example":"2020-01-01"},"end_date":{"type":"string","format":"date","description":"Date when to stop showing the message.","example":"2020-01-31"},"role":{"type":"string","enum":["user","admin"],"description":"Required role for users message is to be shown. Either user or admin.","example":"user"},"total_views":{"type":"number","description":"Total number of views for all partner companies.","example":120},"customer_views":{"type":"object","description":"Total views per customer."}}}},"components/schemas/InvoicingCount":{"id":"components/schemas/InvoicingCount","kind":"json-schema","title":"InvoicingCount","data":{"type":"object","properties":{"cameras":{"type":"integer","example":19},"registers":{"type":"integer","example":12},"stores":{"type":"integer","example":3}}}},"components/schemas/InvoicingCustomerCount":{"id":"components/schemas/InvoicingCustomerCount","kind":"json-schema","title":"InvoicingCustomerCount","data":{"type":"object","properties":{"customer":{"type":"string","example":"dm_company"},"cameras":{"type":"integer","example":14},"registers":{"type":"integer","example":10},"stores":{"type":"integer","example":2}}}},"components/schemas/InvoicingPeriod":{"id":"components/schemas/InvoicingPeriod","kind":"json-schema","title":"InvoicingPeriod","data":{"type":"object","properties":{"customers":{"type":"array","items":{"$ref":"#/components/schemas/InvoicingCustomerCount"}},"date":{"type":"string","description":"Month in YYYY-MM format.","example":"2016-01"},"total":{"$ref":"#/components/schemas/InvoicingCount"}}}},"components/schemas/InvoicingResponse":{"id":"components/schemas/InvoicingResponse","kind":"json-schema","title":"InvoicingResponse","data":{"type":"object","properties":{"customers":{"type":"array","items":{"type":"string"},"example":["dm_company","dm_company2"]},"data":{"type":"array","items":{"$ref":"#/components/schemas/InvoicingPeriod"}}}}},"schema_0":{"kind":"json-schema","data":{"type":"object","properties":{"message":{"type":"string","example":"Hello Demo Partner. You have successfully connected to Zoined Partner API."}}},"id":"schema_0"},"schema_1":{"kind":"json-schema","data":{"type":"string"},"id":"schema_1"},"schema_2":{"kind":"json-schema","data":{"type":"array","items":{"$ref":"#/components/schemas/CustomerResponse"}},"id":"schema_2"},"schema_3":{"kind":"json-schema","data":{"type":"array","items":{"type":"string"}},"id":"schema_3"},"schema_4":{"kind":"json-schema","data":{"type":"object","required":["payload","digest"],"properties":{"payload":{"type":"string","description":"Base64 encoded JSON message containing user data.","example":"payload-content"},"digest":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"SHA-512 digest calculated from unencoded payload + secret key."},"children":[]}]}]}],"example":"digest-value"}}},"id":"schema_4"}},"exampleStore":{"paths/~1api/get/responses/200/content/application~1json/example":{"value":{"message":"Hello Demo Partner. You have successfully connected to Zoined Partner API."},"id":"paths/~1api/get/responses/200/content/application~1json/example"},"paths/~1api~1invoicing~1{environment}/get/responses/200/content/application~1json/example":{"value":{"customers":["dm_company","dm_company2"],"data":[{"customers":[{"customer":"dm_company","cameras":14,"registers":10,"stores":2},{"customer":"dm_company2","cameras":5,"registers":2,"stores":1}],"date":"2016-01","total":{"cameras":19,"registers":12,"stores":3}}]},"id":"paths/~1api~1invoicing~1{environment}/get/responses/200/content/application~1json/example"},"paths/~1api~1customers/post/requestBody/content/application~1json/example":{"value":{"name":"Demo company","key":"dm_company","environment":"production","locale":"en","country":"FI","currency":"EUR","dateOffset":0,"dataSource":{"host":"db-host","port":3306,"database":"database_name","username":"db-username","password":"db-password"},"adminUser":{"firstName":"My","lastName":"Name","email":"my.name@nonexisting.addr"},"licenses":["limited"]},"id":"paths/~1api~1customers/post/requestBody/content/application~1json/example"},"paths/~1api~1customers/post/responses/200/content/application~1json/example":{"value":{"key":"dm_company"},"id":"paths/~1api~1customers/post/responses/200/content/application~1json/example"},"paths/~1sso~1session_transfer~1{customer_id}/post/requestBody/content/application~1json/example":{"value":{"payload":"payload-content","digest":"digest-value"},"id":"paths/~1sso~1session_transfer~1{customer_id}/post/requestBody/content/application~1json/example"}},"securitySchemeStore":{"partnerToken":{"id":"partnerToken","type":"apiKey","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the Partner API token in this exact form:"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"Authorization: Token token=\"your-token-here\"\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"Authorization: Token token=\"your-token-here\"\n"},"children":[]}]}],"in":"header","paramName":"Authorization"}},"servers":[{"url":"/_mock/","isMockServer":true,"description":"Mock server"},{"url":"https://app.zoined.com","description":"Zoined Retail Analytics Portal"},{"url":"https://partners.zoined.com","description":"Zoined Partner API"}],"specType":"openapi"},"options":{"layout":"three-panel","hideReplay":true,"schemasExpansionLevel":0,"jsonSamplesExpandLevel":2,"mockServer":{"url":"/_mock/","position":"first","description":"Mock server"},"disableRouter":true,"downloadUrls":[{"url":"/_bundle/index.json?download"},{"url":"/_bundle/index.yaml?download"}],"excludeFromSearch":false,"replayFeatures":{"graphql":false},"specType":"openapi","markdocOptions":{"tags":{},"nodes":{},"components":{}},"metadata":{"title":"Zoined Partner & Retail Analytics Portal API","description":"This documentation contains two Zoined APIs for partner integrations and access to the Zoined Analytics Portal.\n\n**Zone — Zoined Partner API**\n\nZoined Partner API allows partners to manage their customers via RESTful API.\n\n---\n**SSO API — Zoined Retail Analytics Portal**\n\nZoined Retail Analytics Portal provides API for implementing Single Sign-On (SSO) via\nsession transfer url. This allows logged in end users of customers or partners system to start\nusing Zoined Analytics Portal without separately logging in. This is accomplished\nby sending Zoined information about the end user with untamperable link.\n"}},"baseSlug":"/","routesMapping":{}}