Channel Partners API

Burger King's Partners API v1 — the Channel Partners API for third-party food ordering marketplaces integrating into the Restaurant Brands International (RBI) fulfillment platform. Covers loyalty identification, store and menu retrieval, the order lifecycle (price, commit, fire, place), and order/menu/store webhooks. OpenAPI 3.1.0, bearer JWT auth.

OpenAPI Specification

channel-openapi.yml Raw ↑
openapi: 3.1.0
info:
  version: 1.0.0
  title: Burger King's Partners API
  description: "## Overview\n\nThe Channel Partners API are provided for third party food ordering marketplaces\nintegrating into the Restaurant Brand International (RBI) fulfillment platform.\n\n## Authentication\n### Webhooks\n\nWebhook requests are signed using `hex` encoded HMAC signatures.\n\nAn HMAC signature is derived for validation using three components:\n\n- the secret shared between the service and the consumer\n- the body of the request\n- the hash function or algorithm (SHA-256)\n\nUsing these three pieces of information, compute an HMAC signature using the secret as the key and\nthe body of the request as the message and encode the signature to a hexadecimal string for comparison.\n\nCompare the signature generated using the above information to the signature received in the `x-signature` header,\nif the two signatures match, the request is valid.\n"
  x-logo:
    altText: RBI logo
    url: 
      data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzkiIGhlaWdodD0iODEiIHZpZXdCb3g9IjAgMCA3OSA4MSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzcwOV8yMzczNykiPgo8cGF0aCBkPSJNNzMuMzgzMiA3NS4xMzQ4QzczLjM4MzIgNzMuNjA2MyA3NC41NjgzIDcyLjMyNjQgNzYuMTkxNiA3Mi4zMjY0Qzc3LjgxNDkgNzIuMzI2NCA3OSA3My42MDYzIDc5IDc1LjEzNDhDNzkgNzYuNzc4MSA3Ny44MTYyIDc3Ljk2MTkgNzYuMTkxNiA3Ny45NjE5Qzc0LjU2NjkgNzcuOTYxOSA3My4zODMyIDc2Ljc1ODEgNzMuMzgzMiA3NS4xMzQ4Wk03OC4zODgxIDc1LjEzNDhDNzguMzg4MSA3My43MjEyIDc3LjI4MDUgNzIuODk5NiA3Ni4xOTE2IDcyLjg5OTZDNzUuMTAyNyA3Mi44OTk2IDczLjk5NTEgNzMuNzIxMiA3My45OTUxIDc1LjEzNDhDNzMuOTk1MSA3Ni41NDgzIDc1LjEwMjcgNzcuMzg4NyA3Ni4xOTE2IDc3LjM4ODdDNzcuMjgwNSA3Ny4zODg3IDc4LjM4ODEgNzYuNjA1OCA3OC4zODgxIDc1LjEzNDhaTTc1LjIxNjMgNzYuMzM4NlY3My45NTFDNzUuMjE2MyA3My43OTg3IDc1LjM0OTkgNzMuNjQ1MSA3NS41MDM1IDczLjY0NTFINzYuMzA1MUM3Ni45MzU4IDczLjY0NTEgNzcuMzc1MyA3NC4wMjcyIDc3LjM3NTMgNzQuNTQyOUM3Ny4zNzUzIDc0Ljk4MjUgNzcuMTI2OCA3NS4zNjQ2IDc2LjU1MzcgNzUuNDU5NEw3Ny4xODQzIDc2LjE2NjJDNzcuMjQxNyA3Ni4yMjM3IDc3LjI4MDUgNzYuMjk5OCA3Ny4yODA1IDc2LjM1NzNDNzcuMjgwNSA3Ni41Mjk2IDc3LjE2NTYgNzYuNjQ0NSA3Ni45OTQ2IDc2LjY0NDVDNzYuODc5NyA3Ni42NDQ1IDc2LjgwMzUgNzYuNTg3MSA3Ni43NDYgNzYuNTEwOUw3NS45MDU3IDc1LjUxNjlINzUuODA5NVY3Ni4zMzg2Qzc1LjgwOTUgNzYuNDkwOSA3NS42NzU5IDc2LjYyNDUgNzUuNTAzNSA3Ni42MjQ1Qzc1LjM1MTIgNzYuNjI0NSA3NS4yMTYzIDc2LjQ5MDkgNzUuMjE2MyA3Ni4zMzg2Wk03Ni4yMjkgNzQuOTgyNUM3Ni41NzI0IDc0Ljk4MjUgNzYuNzYzNCA3NC44MTAxIDc2Ljc2MzQgNzQuNTgxN0M3Ni43NjM0IDc0LjMzMzEgNzYuNTkxMSA3NC4xOTk1IDc2LjI4NjQgNzQuMTk5NUg3NS44MDk1Vjc0Ljk4MjVINzYuMjMwM0g3Ni4yMjlaIiBmaWxsPSIjRDYyMzAwIi8+CjxwYXRoIGQ9Ik03MC43MDU3IDY3LjExNDRDNzIuMDU3OCA2Ny4xMTQ0IDcyLjY2NDQgNjcuNzY3NyA3Mi42NjQ0IDY4LjkxMDFDNzIuNjY0NCA3MC45MTU1IDcwLjgyMiA3My43MTQ2IDY3LjE4MzkgNzUuNzY2OEM2MS4xMjA4IDc5LjE5NTEgNTAuNzE5NiA4MC4xNzQ0IDM2LjMzMTUgODAuMTc0NEMyMS45NDM1IDgwLjE3NDQgMTEuNTQyMiA3OS4xOTUxIDUuNDc5MTggNzUuNzY2OEMxLjg0MTA5IDczLjcxNDYgLTAuMDAxMzQyNzcgNzAuOTE2OCAtMC4wMDEzNDI3NyA2OC45MTAxQy0wLjAwMTM0Mjc3IDY3Ljc2NzcgMC42MDUyMjkgNjcuMTE0NCAxLjk1NzMyIDY3LjExNDRINzAuNzA1N1oiIGZpbGw9IiNGRjg3MzIiLz4KPHBhdGggZD0iTTcuNjQ4OTUgNjAuNjMxOFY1Ni45MjQzQzcuNjQ4OTUgNTYuNTk4MyA3Ljc4OTIzIDU2LjM2NDQgOC4xMTUyMyA1Ni4zNjQ0QzguNTM0NzUgNTYuMzY0NCA4LjY1MDk5IDU2LjgwOCA4Ljc2ODU3IDU3LjAxNzhDOS40OTEzNyA1OC40NjM0IDEwLjcwNDUgNjEuNDI1NCAxMi4xNTAxIDYzLjAxMTRDMTMuMTI5NSA2NC4wODQyIDE0LjM0MjYgNjQuNzYwMyAxNS42MjUyIDY0Ljc2MDNDMTcuNzkzNyA2NC43NjAzIDE5LjYxMzQgNjIuODcxMSAxOS42MTM0IDYwLjg0MjlDMTkuNjEzNCA1OS41ODMgMTkuMDc3NiA1OC42NTA0IDE4LjA1MTUgNTcuNTMyMkMxNi43NDYyIDU2LjEwOTMgMTUuMjA3IDU0LjI0NDEgMTQuNjQ3MiA1My4zODFDMTQuNDM3NSA1My4wNTUgMTQuNDEzNCA1Mi44NDUzIDE0LjQxMzQgNTIuNzUxN0MxNC40MTM0IDUyLjQ5NTIgMTQuNTUzNyA1Mi4zMDgyIDE0LjgzMyA1Mi4wNTE2QzE1LjQ4NjMgNTEuNDQ1MSAxNy4wOTQ5IDQ5LjkzIDE3Ljk4MDcgNDguNTUzOEMxOC42NTY4IDQ3LjUwNSAxOC45MzczIDQ2LjU0ODQgMTguOTM3MyA0NS43NTQ4QzE4LjkzNzMgNDMuNzI1MyAxNy4wOTQ5IDQyLjE0MDcgMTUuMDg5NSA0Mi4xNDA3QzEzLjgwNjkgNDIuMTQwNyAxMi41OTM3IDQyLjg2MzUgMTEuNzc4NyA0NC4xOTI5QzEwLjY4MzEgNDUuOTY1OSA5LjU2MzUyIDQ4LjQ2MDMgOC42MzA5NSA0OS4zOTI5QzguMzk3MTQgNDkuNjI2NyA4LjI4MDkgNDkuNjcyMSA4LjA5NTE5IDQ5LjY3MjFDNy43OTE5IDQ5LjY3MjEgNy42NTE2MiA0OS40NjIzIDcuNjUxNjIgNDkuMTM2M1Y0Ni4yNjc4QzcuNjUxNjIgNDMuOTgxOCA2LjI5OTUyIDQyLjE0MDcgMy44NTA1MiA0Mi4xNDA3QzEuNDAxNTIgNDIuMTQwNyAwLjA0Njc1MjkgNDMuOTgxOCAwLjA0Njc1MjkgNDYuMjY2NVY2MC42MzE4QzAuMDQ2NzUyOSA2Mi45MTc4IDEuMzc2MTMgNjQuNzU4OSAzLjg0Nzg1IDY0Ljc1ODlDNi4zMTk1NiA2NC43NTg5IDcuNjQ4OTUgNjIuOTE2NSA3LjY0ODk1IDYwLjYzMThaIiBmaWxsPSIjRDYyMzAwIi8+CjxwYXRoIGQ9Ik03MC40OTYgNDMuOTU3OEM2OS4wNzMxIDQyLjkwOSA2Ni45Mjg3IDQyLjEzOTQgNjMuODk1OCA0Mi4xMzk0QzU4LjQ2MjEgNDIuMTM5NCA1My4xNjg2IDQ1LjU2NzcgNTMuMTY4NiA1My41NDI3QzUzLjE2ODYgNjEuNTE3NiA1OC40NjIxIDY0LjczNjIgNjMuNjg2MSA2NC43MzYyQzY5LjE2NjYgNjQuNzM2MiA3Mi42NDAzIDYxLjM1NDYgNzIuNjQwMyA1Ni40MTEyQzcyLjY0MDMgNTMuMjg2MiA3MC42ODE3IDUxLjExNzcgNjYuNzQwMyA1MS4xMTc3SDY1LjU5OEM2My41NDU4IDUxLjExNzcgNjEuOTU5OSA1Mi4wNzQzIDYxLjk1OTkgNTQuMTczM0M2MS45NTk5IDU2LjA4NTIgNjMuNjg2MSA1Ni45OTUxIDY0Ljk2ODcgNTYuOTk1MUM2Ni4wNjQyIDU2Ljk5NTEgNjYuNTA3OCA1Ny4xODIxIDY2LjUwNzggNTcuNjcxMUM2Ni41MDc4IDU4LjI3NzcgNjUuOTI1MyA1OC42NzQ1IDY0LjUwMjQgNTguNjc0NUM2MS44Njc3IDU4LjY3NDUgNjAuMDcyIDU2Ljg3ODggNjAuMDcyIDUzLjU0NEM2MC4wNzIgNDkuODM2NCA2Mi41MjEgNDguNDgzIDY0LjQwODkgNDguNDgzQzY2LjcxNzYgNDguNDgzIDY3LjA5MDMgNDkuNjQ5NCA2OC43MDAzIDQ5LjY0OTRDNzAuNTY1NCA0OS42NDk0IDcxLjgyNTMgNDguMTMzIDcxLjgyNTMgNDYuNTkzOEM3MS44MjUzIDQ1LjQ1MTUgNzEuMzEyMyA0NC41NjQzIDcwLjQ5NiA0My45NTkxVjQzLjk1NzhaIiBmaWxsPSIjRDYyMzAwIi8+CjxwYXRoIGQ9Ik01MS4zNTAyIDQ2LjA4MDhWNjAuNjA5MUM1MS4zNTAyIDYyLjkxNzggNDkuOTk4MSA2NC43NjAzIDQ3LjU0OTEgNjQuNzYwM0M0Ni4xMjYyIDY0Ljc2MDMgNDQuNzk2OCA2NC4yMDA0IDQzLjU2MSA2MS43OTgyTDQwLjMxOTcgNTUuNTI1NEM0MC4wODU5IDU1LjA4MTggMzkuOTIyOSA1NC45NjU2IDM5LjY5MDQgNTQuOTY1NkMzOS4zNjQ0IDU0Ljk2NTYgMzkuMjAwMSA1NS4xOTk0IDM5LjIwMDEgNTUuNzM1MkwzOS4yMjI4IDYwLjgxODlDMzkuMjIyOCA2My4wMTEzIDM3Ljk2MjkgNjQuNzYwMyAzNS42MDg3IDY0Ljc2MDNDMzMuMjU0NiA2NC43NjAzIDMyLjAxNzQgNjMuMDExMyAzMi4wMTc0IDYwLjgxODlWNDYuMjkwNUMzMi4wMTc0IDQzLjk4MTggMzMuMzY5NSA0Mi4xMzk0IDM1LjgxODUgNDIuMTM5NEMzNy4yODgyIDQyLjEzOTQgMzguNTcwOCA0Mi42OTkyIDM5LjgwNjYgNDUuMTAxNEw0My4wNDc5IDUxLjM3NDJDNDMuMjgxNyA1MS44MTc4IDQzLjQ0NDcgNTEuOTM0MSA0My42NzcyIDUxLjkzNDFDNDQuMDAzMiA1MS45MzQxIDQ0LjE2NzUgNTEuNzAwMyA0NC4xNjc1IDUxLjE2NDVMNDQuMTQ0OCA0Ni4wODA4QzQ0LjE0NDggNDMuODg4MyA0NS40MDQ3IDQyLjEzOTQgNDcuNzU4OSA0Mi4xMzk0QzUwLjExMyA0Mi4xMzk0IDUxLjM1MDIgNDMuODg4MyA1MS4zNTAyIDQ2LjA4MDhaIiBmaWxsPSIjRDYyMzAwIi8+CjxwYXRoIGQ9Ik0yOS4zMTMyIDQ2LjU0NzFDMjkuMzEzMiA0NC4wOTgxIDI3Ljg5MDMgNDIuMTM5NCAyNS4yNzgzIDQyLjEzOTRDMjIuNjY2MyA0Mi4xMzk0IDIxLjI0MzQgNDQuMDk4MSAyMS4yNDM0IDQ2LjU0NzFWNjAuMzUyNkMyMS4yNDM0IDYyLjgwMTYgMjIuNjY2MyA2NC43NjAzIDI1LjI3ODMgNjQuNzYwM0MyNy44OTAzIDY0Ljc2MDMgMjkuMzEzMiA2Mi44MDE2IDI5LjMxMzIgNjAuMzUyNlY0Ni41NDcxWiIgZmlsbD0iI0Q2MjMwMCIvPgo8cGF0aCBkPSJNMzUuNzQ5IDM2LjcyODNDMzUuMzUyMiAzNi4yMzggMzQuMzcyOSAzNC45Nzk0IDM0LjE4NzIgMzQuMzI2MUMzNC4xMTc3IDM0LjA5MjMgMzQuMTQwNCAzMy45MjkzIDM0LjM1MDIgMzMuNzQzNkMzNS4wNzMgMzMuMDY3NSAzNS45MTIgMzIuMDE3NCAzNS45MTIgMzAuMTUyMkMzNS45MTIgMjYuOTU3NyAzMy40NjMgMjUuMzQ3OCAzMC41MDIzIDI1LjM0NzhIMjcuODY3NkMyNi4wMjUyIDI1LjM0NzggMjUuMTM5MyAyNi40MjA2IDI1LjEzOTMgMjcuODY2MlYzOC4yNjc1QzI1LjEzOTMgMzkuNjY2MyAyNS45NTU3IDQwLjc4NiAyNy40NDgxIDQwLjc4NkMyOC45NDA0IDQwLjc4NiAyOS43NTY4IDM5LjY2NjMgMjkuNzU2OCAzOC4yNjc1VjM1Ljk1ODhDMjkuNzU2OCAzNS42MDg3IDI5Ljg5NzEgMzUuMzUyMiAzMC4yNjk4IDM1LjM1MjJDMzAuNTk1OCAzNS4zNTIyIDMwLjczNjEgMzUuNjMxNCAzMC44MDU2IDM1Ljk1ODhDMzEuMDE1MyAzNi45ODQ5IDMxLjMxODYgMzguNTkzNSAzMS45NDc5IDM5LjQwOThDMzIuNzQwMiA0MC40NTg2IDMzLjQ4NzEgNDAuNzg2IDM0LjIzMzkgNDAuNzg2QzM1LjQ0NzEgNDAuNzg2IDM2LjQ5NTkgMzkuODI5MyAzNi40OTU5IDM4LjY0MDJDMzYuNDk1OSAzNy44NDggMzYuMTY5OSAzNy4yNjQxIDM1Ljc0OSAzNi43MjgzWk00LjY4NjkxIDM0LjIzMjZINS4zNDAyNEM2LjM4OTA1IDM0LjIzMjYgNi42OTIzMyAzNS4wMDIyIDYuNjkyMzMgMzUuNzAyMkM2LjY5MjMzIDM2LjQwMjMgNi4zODkwNSAzNy4xNzE5IDUuMzQwMjQgMzcuMTcxOUg0LjY4NjkxQzQuMjkwMSAzNy4xNzE5IDQuMTA0MzggMzYuOTM4MSA0LjEwNDM4IDM2LjYzNjJWMzQuNzcxQzQuMTA0MzggMzQuNDY3NyA0LjI5MTQzIDM0LjIzNTMgNC42ODY5MSAzNC4yMzUzVjM0LjIzMjZaTTQuNjg2OTEgMzEuNDgwM0M0LjI5MDEgMzEuNDgwMyA0LjEwNDM4IDMxLjI0NjUgNC4xMDQzOCAzMC45NDQ1VjI5LjM1ODZDNC4xMDQzOCAyOS4wNTUzIDQuMjkxNDMgMjguODIyOSA0LjY4NjkxIDI4LjgyMjlINS4yMjI2N0M2LjE1NTI0IDI4LjgyMjkgNi40MzU4MSAyOS40OTg5IDYuNDM1ODEgMzAuMTUyMkM2LjQzNTgxIDMwLjgwNTYgNi4xNTY1NyAzMS40ODE2IDUuMjIyNjcgMzEuNDgxNkg0LjY4NjkxVjMxLjQ4MDNaTTIuNzI4MjQgNDAuNjY4NEg2LjAxNjI5QzkuMTE3MjkgNDAuNjY4NCAxMS4wMDY1IDM4LjU5MzUgMTEuMDA2NSAzNi4wMDQyQzExLjAwNjUgMzMuOTk4OCA5Ljc3MDYyIDMzLjA4ODkgOS40OTAwNSAzMi44NTY0QzkuMzczODEgMzIuNzYyOSA5LjI1NjI0IDMyLjY2OTQgOS4yNTYyNCAzMi41NzcyQzkuMjU2MjQgMzIuNDYxIDkuMzAzIDMyLjQxNDIgOS40NDMyOSAzMi4yNzM5QzkuOTU2MzMgMzEuNzYwOSAxMC40NDY3IDMwLjg3NTEgMTAuNDQ2NyAyOS42MzkyQzEwLjQ0NjcgMjYuODQwMSA4LjQ0MTI0IDI1LjM0NzggNS41MDMyNCAyNS4zNDc4SDIuNzI4MjRDMC44ODU4MDkgMjUuMzQ3OCAwIDI2LjQyMDYgMCAyNy44NjYyVjM4LjE0OTlDMCAzOS41OTU1IDAuODg1ODA5IDQwLjY2ODQgMi43MjgyNCA0MC42Njg0Wk0zMC40MDg4IDMyLjI0OTlIMjkuODQ5QzI5LjQ1MjIgMzIuMjQ5OSAyOS4yNjY0IDMyLjAxNjEgMjkuMjY2NCAzMS43MTQxVjI5LjcwODdDMjkuMjY2NCAyOS40MDU0IDI5LjQ1MzUgMjkuMjE4MyAyOS44NDkgMjkuMjE4M0gzMC40MDg4QzMxLjU1MTEgMjkuMjE4MyAzMS45MDEyIDI5Ljk4NzkgMzEuOTAxMiAzMC43MTA3QzMxLjkwMTIgMzEuMzg2OCAzMS41NTExIDMyLjI0OTkgMzAuNDA4OCAzMi4yNDk5Wk01NS4yNDQ4IDM2LjEyMDRDNTUuMjQ0OCAzNi40MjM3IDU1LjQzMTkgMzYuNjU2MiA1NS44Mjc0IDM2LjY1NjJINTguMDg5M0M1OS4zMDI0IDM2LjY1NjIgNjAuMjU3NyAzNy4zNzkgNjAuMjU3NyAzOC42NjE2QzYwLjI1NzcgMzkuOTQ0MiA1OS4zMDExIDQwLjY2NzEgNTguMDg5MyA0MC42NjcxSDUzLjYzNDlDNTEuNzkyNCA0MC42NjcxIDUwLjkwNjYgMzkuNTk0MiA1MC45MDY2IDM4LjE0ODZWMjcuODY0OUM1MC45MDY2IDI2LjQxOTMgNTEuNzkyNCAyNS4zNDY0IDUzLjYzNDkgMjUuMzQ2NEg1OC4wODkzQzU5LjMwMjQgMjUuMzQ2NCA2MC4yNTc3IDI2LjA2OTIgNjAuMjU3NyAyNy4zNTE5QzYwLjI1NzcgMjguNjM0NSA1OS4zMDExIDI5LjM1NzMgNTguMDg5MyAyOS4zNTczSDU1LjgyNzRDNTUuNDMwNSAyOS4zNTczIDU1LjI0NDggMjkuNTkxMSA1NS4yNDQ4IDI5Ljg5MzFWMzAuNTY5MUM1NS4yNDQ4IDMwLjg3MjQgNTUuNDMxOSAzMS4xMDQ5IDU1LjgyNzQgMzEuMTA0OUg1Ny40MzZDNTguNTU1NiAzMS4xMDQ5IDU5LjQ0MTQgMzEuNzgwOSA1OS40NDE0IDMyLjk3QzU5LjQ0MTQgMzQuMTU5MSA1OC41NTU2IDM0LjgzNTEgNTcuNDM2IDM0LjgzNTFINTUuODI3NEM1NS40MzA1IDM0LjgzNTEgNTUuMjQ0OCAzNS4wNjkgNTUuMjQ0OCAzNS4zNzA5VjM2LjExNzhWMzYuMTIwNFpNNjYuNTc4NiAzMi4yNDk5SDY2LjAxODhDNjUuNjIyIDMyLjI0OTkgNjUuNDM2MyAzMi4wMTYxIDY1LjQzNjMgMzEuNzE0MVYyOS43MDg3QzY1LjQzNjMgMjkuNDA1NCA2NS42MjM0IDI5LjIxODMgNjYuMDE4OCAyOS4yMTgzSDY2LjU3ODZDNjcuNzIxIDI5LjIxODMgNjguMDcxIDI5Ljk4NzkgNjguMDcxIDMwLjcxMDdDNjguMDcxIDMxLjM4NjggNjcuNzIxIDMyLjI0OTkgNjYuNTc4NiAzMi4yNDk5Wk00OC4yNzE5IDI2LjM0OThDNDcuNzEyMSAyNS45MDYyIDQ2LjE3MyAyNS4yMDc1IDQzLjg2NDMgMjUuMjA3NUM0MC4yNTAyIDI1LjIwNzUgMzYuNzI4MyAyNy41ODU3IDM2LjcyODMgMzMuMDkwMkMzNi43MjgzIDM4LjU5NDggNDAuMjUwMiA0MC44MDg3IDQzLjcyNCA0MC44MDg3QzQ3LjM4NDggNDAuODA4NyA0OS42OTM1IDM4LjQ3NzIgNDkuNjkzNSAzNC45NzgxQzQ5LjY5MzUgMzIuODA5NyA0OC4zODgyIDMxLjMxNzMgNDUuNzc2MiAzMS4zMTczSDQ1LjAyOTNDNDMuNjUzMiAzMS4zMTczIDQyLjU4MDMgMzEuOTcwNiA0Mi41ODAzIDMzLjQzOUM0Mi41ODAzIDM0Ljc0NDMgNDMuNzIyNiAzNS4zNzQ5IDQ0LjY3OTIgMzUuMzc0OUM0NS4yODU4IDM1LjM3NDkgNDUuNjM1OSAzNS42NTQyIDQ1LjYzNTkgMzYuMDc1QzQ1LjYzNTkgMzYuNjM0OCA0NS4xNDU1IDM3LjAwNzYgNDQuMjU5NyAzNy4wMDc2QzQyLjQ0MTMgMzcuMDA3NiA0MS4zMjE3IDM1LjYwODcgNDEuMzIxNyAzMy4wOTAyQzQxLjMyMTcgMzAuNTcxOCA0Mi45NTQ0IDI5LjU5MjQgNDQuMjEzIDI5LjU5MjRDNDUuNzUyMSAyOS41OTI0IDQ2LjAwODYgMzAuMTc1IDQ3LjA4MTUgMzAuMTc1QzQ4LjMxNzMgMzAuMTc1IDQ5LjE1NjQgMjkuMTQ4OSA0OS4xNTY0IDI4LjA3NkM0OS4xNTY0IDI3LjI4MzcgNDguODA2MyAyNi43NzA3IDQ4LjI3MDYgMjYuMzQ5OEg0OC4yNzE5Wk02MS4zMDc5IDM4LjI2NjJDNjEuMzA3OSAzOS42NjUgNjIuMTI0MiA0MC43ODQ2IDYzLjYxNjYgNDAuNzg0NkM2NS4xMDkgNDAuNzg0NiA2NS45MjUzIDM5LjY2NSA2NS45MjUzIDM4LjI2NjJWMzUuOTU3NEM2NS45MjUzIDM1LjYwNzQgNjYuMDY1NiAzNS4zNTA5IDY2LjQzODQgMzUuMzUwOUM2Ni43NjQ0IDM1LjM1MDkgNjYuOTA0NiAzNS42MzAxIDY2Ljk3NDEgMzUuOTU3NEM2Ny4xNjEyIDM2Ljk4MzUgNjcuNDg3MiAzOC41OTIxIDY4LjExNjQgMzkuNDA4NUM2OC45MDg3IDQwLjQ1NzMgNjkuNjU1NiA0MC43ODQ2IDcwLjQwMjUgNDAuNzg0NkM3MS42MTU2IDQwLjc4NDYgNzIuNjY0NCAzOS44MjggNzIuNjY0NCAzOC42Mzg5QzcyLjY2NDQgMzcuODQ2NiA3Mi4zMzg0IDM3LjI2MjggNzEuOTE3NSAzNi43MjdDNzEuNTIwNyAzNi4yMzY3IDcwLjU0MTQgMzQuOTc4MSA3MC4zNTU3IDM0LjMyNDhDNzAuMjg2MiAzNC4wOTEgNzAuMzA4OSAzMy45MjggNzAuNTE4NyAzMy43NDIyQzcxLjI0MTUgMzMuMDY2MiA3Mi4wODA1IDMyLjAxNjEgNzIuMDgwNSAzMC4xNTA5QzcyLjA4MDUgMjYuOTU2NCA2OS42MzE1IDI1LjM0NjQgNjYuNjcwOCAyNS4zNDY0SDY0LjAzNjFDNjIuMTkzNyAyNS4zNDY0IDYxLjMwNzkgMjYuNDE5MyA2MS4zMDc5IDI3Ljg2NDlWMzguMjY2MlpNMTcuODYzMSA0MC43ODQ2QzE0LjA4NDggNDAuNzg0NiAxMi4xMDM0IDM4LjUyMjcgMTIuMTAzNCAzNS42NzgyVjI3LjgxOTVDMTIuMTAzNCAyNi40MjA2IDEyLjkxOTcgMjUuMzAxIDE0LjQxMjEgMjUuMzAxQzE1LjkwNDUgMjUuMzAxIDE2Ljc0MzUgMjYuNDIwNiAxNi43NDM1IDI3LjgxOTVWMzUuNDIxN0MxNi43NDM1IDM1Ljk4MTUgMTcuMDIyOCAzNi42MzQ4IDE3Ljg2MzEgMzYuNjM0OEMxOC43MDM1IDM2LjYzNDggMTkuMDI5NSAzNS45ODE1IDE5LjAyOTUgMzUuNDIxN1YyNy44MTk1QzE5LjAyOTUgMjYuNDIwNiAxOS44NDU5IDI1LjMwMSAyMS4zMzgyIDI1LjMwMUMyMi44MzA2IDI1LjMwMSAyMy42NDcgMjYuNDIwNiAyMy42NDcgMjcuODE5NVYzNS42NzgyQzIzLjY0NyAzOC41MjI3IDIxLjY0MTUgNDAuNzg0NiAxNy44NjMxIDQwLjc4NDZaIiBmaWxsPSIjRDYyMzAwIi8+CjxwYXRoIGQ9Ik03MC43MDU3IDIyLjU5NjhIMS45NTg2N0MwLjYwNjU3MiAyMi41OTY4IDAgMjEuODk2NyAwIDIwLjYzODFDMCAxMy4xNzYyIDExLjIxNjIgMCAzNi4zMzI5IDBDNjEuNDQ5NSAwIDcyLjY2NTcgMTMuMTc2MiA3Mi42NjU3IDIwLjYzODFDNzIuNjY1NyAyMS44OTgxIDcyLjA1OTEgMjIuNTk2OCA3MC43MDcxIDIyLjU5NjhINzAuNzA1N1oiIGZpbGw9IiNGRjg3MzIiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF83MDlfMjM3MzciPgo8cmVjdCB3aWR0aD0iNzkiIGhlaWdodD0iODAuMTc0NCIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K
servers:
- url: https://sandbox-bk-partners.rbictg.com/api/v1
  description: Sandbox server (uses test data)
- url: https://bk-partners.rbictg.com/api/v1
  description: Production server
components:
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http
  schemas:
    Identifier:
      title: Identifier
      description: An OTP code (6 digit code) or a static Offer code (4 digit code)
      example: '1234'
      pattern: ^(\d{6}|\d{4})$
      type: string
    IdentifierType:
      title: Identifier Type
      description: Determines the type of identifier being sent
      type: string
      example: OTP
      enum:
      - OTP
      - OFFER_CODE
    StoreId:
      title: StoreId
      description: Unique Store ID
      example: '42'
      pattern: ^\d+$
      type: string
    ServiceMode:
      title: Service Mode
      description: "How a customer would like their order served.\n\nNote that not all service modes will be available at all restaurants.\n"
      type: string
      example: TAKEOUT
      enum:
      - CURBSIDE
      - DELIVERY
      - DRIVE_THRU
      - EAT_IN
      - TABLE_SERVICE
      - TAKEOUT
    Operator:
      title: Operator
      description: The cashier id submitting the transaction.
      example: ninja123
      type: string
    Terminal:
      title: Terminal
      description: The terminal name.
      example: window-2
      type: string
    TransactionId:
      title: Transaction Id
      description: The Partner specific order lookup id.
      example: ORD-000002
      type: string
    IdentifyRequestDetails:
      title: Identify Request Details
      type: object
      properties:
        operator:
          $ref: '#/components/schemas/Operator'
        terminal:
          $ref: '#/components/schemas/Terminal'
        transactionId:
          $ref: '#/components/schemas/TransactionId'
    IdentifyRequest:
      title: Identify Request
      type: object
      properties:
        identifier:
          $ref: '#/components/schemas/Identifier'
        identifierType:
          $ref: '#/components/schemas/IdentifierType'
        storeId:
          $ref: '#/components/schemas/StoreId'
        serviceMode:
          $ref: '#/components/schemas/ServiceMode'
        details:
          $ref: '#/components/schemas/IdentifyRequestDetails'
      required:
      - identifier
      - identifierType
      - storeId
      - serviceMode
    ExternalReferenceId:
      title: External Reference Id
      description: External reference ID. An example might be the external menu selection ID, customer ID or order ID.
      type: string
    Currency:
      title: Currency Code
      description: Currency code in [ISO-4217 alpha](https://en.wikipedia.org/wiki/ISO_4217) format
      format: ISO-4217 alpha
      type: string
      example: USD
    Money:
      title: Money
      description: "Representation of money. Money amounts are always provided in the smallest currency unit (e.g,. 100 where `currency=USD` represents 100 \"cents\" or 1 USD).\n"
      type: object
      properties:
        currency:
          $ref: '#/components/schemas/Currency'
        amount:
          title: Amount
          description: Amount in the specified currency
          type: number
          example: 100
          format: integer
      required:
      - currency
      - amount
    MenuSelection:
      title: Menu Selection
      description: Menu selection in the cart
      type: object
      properties:
        id:
          type: string
          description: Menu item identifier
          example: item_42
        referenceId:
          type: string
          description: "Secondary menu item identifier.\n\n⚠️ This `referenceId` must be included along with the `id` when the value is present in the menu\n"
          example: item_603
        externalReferenceId:
          $ref: '#/components/schemas/ExternalReferenceId'
        quantity:
          type: number
          format: integer
          minimum: 0
          example: 1
        price:
          $ref: '#/components/schemas/Money'
        menuSelections:
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/MenuSelection'
      required:
      - id
      - quantity
    Cart:
      title: Cart
      description: Cart representing a customer's selections from the menu
      type: object
      properties:
        menuSelections:
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/MenuSelection'
      required:
      - menuSelections
    Phone:
      title: Phone
      description: "Phone number. Should always begin with the international country code (e.g., \"+1\")\n"
      type: string
      example: '+12223334444'
    Customer:
      title: Customer
      description: Customer personal details
      type: object
      properties:
        id:
          type: string
          description: Internal user ID
          example: '500123'
        externalReferenceId:
          $ref: '#/components/schemas/ExternalReferenceId'
        name:
          type: string
          description: "Customers's name. Format will depend on the context (full name, first name and initials, etc)\n"
          example: Whopper
        username:
          type: string
          description: Customer's username in the given context
          example: example
        phone:
          $ref: '#/components/schemas/Phone'
        email:
          type: string
          description: Customer's email
          format: email
          example: [email protected]
      required:
      - name
      - email
    Balance:
      title: Balance
      description: The amount of a given currency the user has
      type: object
      properties:
        amount:
          type: number
          example: 599
        currency:
          type: string
          example: USD
    LoyaltyId:
      title: Loyalty Id
      description: The loyalty user id
      example: a73ea594-202c-52b4-00a0-1f6b518ef54d
      type: string
    LoyaltyTransactionId:
      title: Loyalty Transaction Id
      description: The loyalty transaction id created for the identify request
      example: a73ea594-202c-52b4-80af-1f6b518ef54d
      type: string
    IdentifyLoyalty:
      title: Loyalty Information
      description: User information on the Loyalty user identified
      type: object
      properties:
        balances:
          description: "The loyalty user's balances\n"
          type: array
          items:
            $ref: '#/components/schemas/Balance'
        loyaltyId:
          $ref: '#/components/schemas/LoyaltyId'
        transactionId:
          $ref: '#/components/schemas/LoyaltyTransactionId'
      required:
      - balances
      - loyaltyId
      - transactionId
    IdentifyResponse:
      title: Identify Response
      type: object
      properties:
        cart:
          $ref: '#/components/schemas/Cart'
        customer:
          $ref: '#/components/schemas/Customer'
        loyalty:
          $ref: '#/components/schemas/IdentifyLoyalty'
        storeId:
          $ref: '#/components/schemas/StoreId'
        serviceMode:
          $ref: '#/components/schemas/ServiceMode'
      required:
      - cart
      - storeId
      - serviceMode
    Error:
      title: Error
      type: object
      description: Standard error format for all errors returned by the API
      properties:
        status:
          description: HTTP status code
          type: number
          example: 400
        code:
          description: Unique error code. Same as errors[0].code
          type: string
          example: ValidationError
        message:
          description: Human readable error mesage. Same as errors[0].message
          type: string
          example: isAvailable must be a boolean value
        errors:
          description: All errors
          type: array
          items:
            type: object
            properties:
              code:
                description: Unique error code
                type: string
                example: ValidationError
              details:
                description: Detailed error information
                type: string
              message:
                description: Human readable error mesage
                type: string
              domain:
                type: string
              location:
                type: string
                description: Location the error occurred. Interpreation depends on `locationType`
                example: isAvailable
              locationType:
                type: string
                description: How to interpret the location property
                example: requestBody
              sendReport:
                description: URL to report this error
                type: string
              extendedHelp:
                description: URL with additional information about the error type
                type: string
            required:
            - code
            - message
      required:
      - code
      - message
      - errors
    Brand:
      type: string
      enum:
      - BK
      example: BK
    Locale:
      title: Locale
      description: Locale details to help render localized text. Locales are composed of the [ISO-639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) language code and the [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code, separated by an underscore ("_").
      format: ISO-639-1_ISO 3166-1 alpha-2
      example: en_us
      type: string
    DayPartId:
      title: DayPartId
      description: Unique identifier for a day part
      type: string
      example: breakfast
    DayPart:
      title: Menu availability
      type: object
      description: "Day parts define a window of time during which any associated menu items should be available for orders.\n"
      properties:
        id:
          $ref: '#/components/schemas/DayPartId'
        daysOfWeek:
          description: "Days of week for which daypart is applicable\n"
          type: array
          example:
          - saturday
          - sunday
          items:
            type: string
            enum:
            - monday
            - tuesday
            - wednesday
            - thursday
            - friday
            - saturday
            - sunday
        startTime:
          description: "Restaurant local start time formatted as ISO 8601 time.\n"
          type: string
          format: hh:mm:ss
          example: 07:00:00
        endTime:
          description: "Restaurant local end time formatted as ISO 8601 time.\n"
          type: string
          format: hh:mm:ss
          example: 22:00:00
    EntryId:
      title: EntryId
      description: Unique identifier for a menu entity
      type: string
      example: entry-id
    LocalizedText:
      title: Localized Text
      description: Text that has been translated to the correct locale for the current context
      type: string
    Image:
      type: object
      properties:
        url:
          type: string
          example: https://bk-partners.rbictg.com
        altText:
          $ref: '#/components/schemas/LocalizedText'
    PriceRange:
      title: PriceRange
      description: "Default, minimum, and maximum prices.\n"
      type: object
      properties:
        default:
          title: Default
          description: Default price in cents
          type: number
          format: integer
          example: 1.0
        max:
          title: Max
          description: Max price in cents
          type: number
          format: integer
          minimum: 0
          example: 1.0
        min:
          title: Min
          description: Min price in cents
          type: number
          format: integer
          minimum: 0
          example: 1.0
    QuantityConstraints:
      title: QuantityConstraints
      type: object
      description: "Quantity constraints on selection. Can apply either to items or selections\nwith an options group.\n\nNote\\: We use a `minAmount` of 1 with a `maxAmount` of 1 to indicate\nselection is required\n"
      properties:
        defaultAmount:
          description: (Optional) Default amount that can be select
          type: number
          format: integer
          minimum: 0
          example: 599
        minAmount:
          description: (Optional) Minimum amount that must be select
          type: number
          format: integer
          minimum: 0
          example: 599
        maxAmount:
          description: (Optional) Maximum amount that can be select
          type: number
          format: integer
          minimum: 0
          example: 599
    EntryRef:
      title: Entry Reference
      description: Reference to entry and optional the price of this entry
      type: object
      properties:
        amount:
          title: Amount
          description: Amount in the specified currency
          type: number
          format: integer
          minimum: 0
          example: 599
        entryId:
          $ref: '#/components/schemas/EntryId'
    Calories:
      title: Calories
      description: Calories range
      type: object
      properties:
        default:
          type: number
          format: integer
          minimum: 0
          example: 1.0
        displayType:
          type: string
          enum:
          - Range
          - Lower
          - Upper
          example: Range
        lowerRange:
          type: number
          format: integer
          minimum: 0
          example: 1.0
        upperRange:
          type: number
          format: integer
          minimum: 0
          example: 1.0
    Nutrient:
      title: Nutrient
      description: Details for an individual nutrient
      type: object
      properties:
        name:
          type: string
          enum:
          - SODIUM
          example: SODIUM
        value:
          type: number
          format: integer
          minimum: 0
          example: 1.0
        unit:
          type: string
          enum:
          - G
          - KJ
          example: G
    Allergen:
      title: Allergen
      description: Allergen (such as "Peanuts")
      type: object
      properties:
        allergen:
          type: string
          enum:
          - PEANUTS
          example: PEANUTS
        contains:
          type: number
          description: 3 = Contains; 2 = May Contain; 1 = Cooked in same equipment; 0 = Free From
          format: integer
          example: 1.0
    Nutrition:
      title: NutritionalInfo
      description: Nutrition Details
      type: object
      properties:
        calories:
          $ref: '#/components/schemas/Calories'
        nutrients:
          type: array
          items:
            $ref: '#/components/schemas/Nutrient'
        allergens:
          type: array
          items:
            $ref: '#/components/schemas/Allergen'
    Entry:
      title: Entry
      type: object
      description: "Any entry available for selection on the store menu.\n"
      properties:
        id:
          $ref: '#/components/schemas/EntryId'
        referenceId:
          $ref: '#/components/schemas/EntryId'
        type:
          type: string
          enum:
          - COMBO
          - ITEM
          - GROUP
          - MODIFIER
          example: COMBO
        groupType:
          type: string
          enum:
          - ASPECT_OPTION
          - COMBO_SLOT
          - MENU
          - MODIFIER_GROUP
          - PICKER
          - PICKER_ASPECT
          - SECTION
          - SLOT_OPTION
          example: ASPECT_OPTION
        name:
          $ref: '#/components/schemas/LocalizedText'
          example: Whopper
        description:
          $ref: '#/components/schemas/LocalizedText'
          example: A delicious burger
        available:
          description: "Whether or not the entry is available.\nIf this property is undefined, then the entry will be marked as available.\n"
          type: boolean
          example: true
        image:
          $ref: '#/components/schemas/Image'
        price:
          $ref: '#/components/schemas/PriceRange'
        options:
          type: object
          properties:
            quantityConstraints:
              $ref: '#/components/schemas/QuantityConstraints'
            defaultSelections:
              type: array
              description: "Options which should be selected by default\n"
              items:
                $ref: '#/components/schemas/EntryId'
            displayType:
              description: "Recommendations for display of options\n\n* `LIST`: Display options in any \"list\" format, to make all options visible (\"Lettuce\", \"Tomato\")\n* `STEPPER`: Display options in a \"stepper\" format, to mask options behind an increment/decrement interface (\"No Lettuce\", \"Lettuce\", \"Extra Lettuce\")\n* `BOOLEAN`: Display options in a \"boolean\" format, allowing guests to toggle between options (\"No Bacon\", \"Bacon\")\n* `SINGLE_ENTRY`: One option that maps to options to select from\n* `SELECT`: Group with Single Selection Option\n* `MULTI-SELECT`: Group with Multiple Selection Options\n* `COLLAPSED`: Group that should be collapsed\n"
              type: string
              enum:
              - LIST
              - STEPPER
              - BOOLEAN
              - SINGLE_ENTRY
              - SELECT
              - MULTI_SELECT
              - COLLAPSED
            entries:
              description: "Collection of references to the item's options. Options may\nthemselves be items or a grouping of items collected in an\n\"Options Group\". The item's options define a parent-child\nrelationship.\n"
              type: array
              items:
                $ref: '#/components/schemas/EntryRef'
          example: {}
        dayParts:
          description: "Collection of references to the item's day parts. The item should only\nbe available during the associated day parts.\n"
          type: array
          items:
            $ref: '#/components/schemas/DayPartId'
        nutrition:
          $ref: '#/components/schemas/Nutrition'
        translations:
          description: "Translation details per language.\n"
          type: array
          items:
            type: object
            properties:
              lang:
                description: "The entry 2 character language code.\n"
                type: string
                example: fr
              name:
                description: "The translated name.\n"
                type: string
                example: Le Whopper.
              description:
                description: "The translated decription.\n"
                type: string
                example: "Notre sandwich WHOPPER® est fait d'un quart de livre de savoureux bœuf grillé sur le feu, garni de tomates juteuses, de laitue fraîche, de mayonnaise onctueuse, de cornichons croquants et d'oignons blancs émincés.\nLe tout est servi sur un pain aux graines de sésame grillé à point.\n"
      required:
      - id
      - type
    LoyaltyBaseEntry:
      title: LoyaltyBaseEntry
      type: object
      properties:
        id:
          $ref: '#/components/schemas/EntryId'
          example: foo-discount-id
        type:
          type: string
          enum:
          - DISCOUNT
          example: DISCOUNT
        name:
          $ref: '#/components/schemas/LocalizedText'
          example: 40% OFF
        description:
          $ref: '#/components/schemas/LocalizedText'
          example: 40% OFF of your cart
        availability:
          description: "Whether or not the entry is avai

# --- truncated at 32 KB (129 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/restaurant-brands/refs/heads/main/openapi/channel-openapi.yml