diff --git a/.fern/metadata.json b/.fern/metadata.json
index 4fadbea..5dfb5c0 100644
--- a/.fern/metadata.json
+++ b/.fern/metadata.json
@@ -1,7 +1,7 @@
{
- "cliVersion": "4.25.0",
+ "cliVersion": "4.43.1",
"generatorName": "fernapi/fern-python-sdk",
- "generatorVersion": "4.63.6",
+ "generatorVersion": "4.64.1",
"generatorConfig": {
"package_name": "brevo",
"client_class_name": "Brevo",
@@ -18,6 +18,6 @@
"skip_validation": true
}
},
- "originGitCommit": "54d086fd1182f577a555eb34fb46ad02e2c203ca",
- "sdkVersion": "4.0.9"
+ "originGitCommit": "7d08ac3fbe2aa66ba3d56077e8582739d530298b",
+ "sdkVersion": "4.0.8"
}
\ No newline at end of file
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index bab604b..8bca429 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -14,7 +14,7 @@ jobs:
- name: Set up python
uses: actions/setup-python@v4
with:
- python-version: 3.9
+ python-version: "3.9"
- name: Bootstrap poetry
run: |
curl -sSL https://install.python-poetry.org | python - -y --version 1.5.1
@@ -30,7 +30,7 @@ jobs:
- name: Set up python
uses: actions/setup-python@v4
with:
- python-version: 3.9
+ python-version: "3.9"
- name: Bootstrap poetry
run: |
curl -sSL https://install.python-poetry.org | python - -y --version 1.5.1
@@ -50,7 +50,7 @@ jobs:
- name: Set up python
uses: actions/setup-python@v4
with:
- python-version: 3.9
+ python-version: "3.9"
- name: Bootstrap poetry
run: |
curl -sSL https://install.python-poetry.org | python - -y --version 1.5.1
diff --git a/poetry.lock b/poetry.lock
index 08382f8..affad17 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -49,124 +49,140 @@ files = [
[[package]]
name = "charset-normalizer"
-version = "3.4.5"
+version = "3.4.6"
description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
optional = false
python-versions = ">=3.7"
files = [
- {file = "charset_normalizer-3.4.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:4167a621a9a1a986c73777dbc15d4b5eac8ac5c10393374109a343d4013ec765"},
- {file = "charset_normalizer-3.4.5-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3f64c6bf8f32f9133b668c7f7a7cbdbc453412bc95ecdbd157f3b1e377a92990"},
- {file = "charset_normalizer-3.4.5-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:568e3c34b58422075a1b49575a6abc616d9751b4d61b23f712e12ebb78fe47b2"},
- {file = "charset_normalizer-3.4.5-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:036c079aa08a6a592b82487f97c60b439428320ed1b2ea0b3912e99d30c77765"},
- {file = "charset_normalizer-3.4.5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:340810d34ef83af92148e96e3e44cb2d3f910d2bf95e5618a5c467d9f102231d"},
- {file = "charset_normalizer-3.4.5-cp310-cp310-manylinux_2_31_armv7l.whl", hash = "sha256:cd2d0f0ec9aa977a27731a3209ebbcacebebaf41f902bd453a928bfd281cf7f8"},
- {file = "charset_normalizer-3.4.5-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0b362bcd27819f9c07cbf23db4e0e8cd4b44c5ecd900c2ff907b2b92274a7412"},
- {file = "charset_normalizer-3.4.5-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:77be992288f720306ab4108fe5c74797de327f3248368dfc7e1a916d6ed9e5a2"},
- {file = "charset_normalizer-3.4.5-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:8b78d8a609a4b82c273257ee9d631ded7fac0d875bdcdccc109f3ee8328cfcb1"},
- {file = "charset_normalizer-3.4.5-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:ba20bdf69bd127f66d0174d6f2a93e69045e0b4036dc1ca78e091bcc765830c4"},
- {file = "charset_normalizer-3.4.5-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:76a9d0de4d0eab387822e7b35d8f89367dd237c72e82ab42b9f7bf5e15ada00f"},
- {file = "charset_normalizer-3.4.5-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8fff79bf5978c693c9b1a4d71e4a94fddfb5fe744eb062a318e15f4a2f63a550"},
- {file = "charset_normalizer-3.4.5-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:c7e84e0c0005e3bdc1a9211cd4e62c78ba80bc37b2365ef4410cd2007a9047f2"},
- {file = "charset_normalizer-3.4.5-cp310-cp310-win32.whl", hash = "sha256:58ad8270cfa5d4bef1bc85bd387217e14ff154d6630e976c6f56f9a040757475"},
- {file = "charset_normalizer-3.4.5-cp310-cp310-win_amd64.whl", hash = "sha256:02a9d1b01c1e12c27883b0c9349e0bcd9ae92e727ff1a277207e1a262b1cbf05"},
- {file = "charset_normalizer-3.4.5-cp310-cp310-win_arm64.whl", hash = "sha256:039215608ac7b358c4da0191d10fc76868567fbf276d54c14721bdedeb6de064"},
- {file = "charset_normalizer-3.4.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:610f72c0ee565dfb8ae1241b666119582fdbfe7c0975c175be719f940e110694"},
- {file = "charset_normalizer-3.4.5-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:60d68e820af339df4ae8358c7a2e7596badeb61e544438e489035f9fbf3246a5"},
- {file = "charset_normalizer-3.4.5-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:10b473fc8dca1c3ad8559985794815f06ca3fc71942c969129070f2c3cdf7281"},
- {file = "charset_normalizer-3.4.5-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d4eb8ac7469b2a5d64b5b8c04f84d8bf3ad340f4514b98523805cbf46e3b3923"},
- {file = "charset_normalizer-3.4.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5bcb3227c3d9aaf73eaaab1db7ccd80a8995c509ee9941e2aae060ca6e4e5d81"},
- {file = "charset_normalizer-3.4.5-cp311-cp311-manylinux_2_31_armv7l.whl", hash = "sha256:75ee9c1cce2911581a70a3c0919d8bccf5b1cbc9b0e5171400ec736b4b569497"},
- {file = "charset_normalizer-3.4.5-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:1d1401945cb77787dbd3af2446ff2d75912327c4c3a1526ab7955ecf8600687c"},
- {file = "charset_normalizer-3.4.5-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0a45e504f5e1be0bd385935a8e1507c442349ca36f511a47057a71c9d1d6ea9e"},
- {file = "charset_normalizer-3.4.5-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:e09f671a54ce70b79a1fc1dc6da3072b7ef7251fadb894ed92d9aa8218465a5f"},
- {file = "charset_normalizer-3.4.5-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:d01de5e768328646e6a3fa9e562706f8f6641708c115c62588aef2b941a4f88e"},
- {file = "charset_normalizer-3.4.5-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:131716d6786ad5e3dc542f5cc6f397ba3339dc0fb87f87ac30e550e8987756af"},
- {file = "charset_normalizer-3.4.5-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:1a374cc0b88aa710e8865dc1bd6edb3743c59f27830f0293ab101e4cf3ce9f85"},
- {file = "charset_normalizer-3.4.5-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d31f0d1671e1534e395f9eb84a68e0fb670e1edb1fe819a9d7f564ae3bc4e53f"},
- {file = "charset_normalizer-3.4.5-cp311-cp311-win32.whl", hash = "sha256:cace89841c0599d736d3d74a27bc5821288bb47c5441923277afc6059d7fbcb4"},
- {file = "charset_normalizer-3.4.5-cp311-cp311-win_amd64.whl", hash = "sha256:f8102ae93c0bc863b1d41ea0f4499c20a83229f52ed870850892df555187154a"},
- {file = "charset_normalizer-3.4.5-cp311-cp311-win_arm64.whl", hash = "sha256:ed98364e1c262cf5f9363c3eca8c2df37024f52a8fa1180a3610014f26eac51c"},
- {file = "charset_normalizer-3.4.5-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:ed97c282ee4f994ef814042423a529df9497e3c666dca19be1d4cd1129dc7ade"},
- {file = "charset_normalizer-3.4.5-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0294916d6ccf2d069727d65973c3a1ca477d68708db25fd758dd28b0827cff54"},
- {file = "charset_normalizer-3.4.5-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:dc57a0baa3eeedd99fafaef7511b5a6ef4581494e8168ee086031744e2679467"},
- {file = "charset_normalizer-3.4.5-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:ed1a9a204f317ef879b32f9af507d47e49cd5e7f8e8d5d96358c98373314fc60"},
- {file = "charset_normalizer-3.4.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7ad83b8f9379176c841f8865884f3514d905bcd2a9a3b210eaa446e7d2223e4d"},
- {file = "charset_normalizer-3.4.5-cp312-cp312-manylinux_2_31_armv7l.whl", hash = "sha256:a118e2e0b5ae6b0120d5efa5f866e58f2bb826067a646431da4d6a2bdae7950e"},
- {file = "charset_normalizer-3.4.5-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:754f96058e61a5e22e91483f823e07df16416ce76afa4ebf306f8e1d1296d43f"},
- {file = "charset_normalizer-3.4.5-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0c300cefd9b0970381a46394902cd18eaf2aa00163f999590ace991989dcd0fc"},
- {file = "charset_normalizer-3.4.5-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:c108f8619e504140569ee7de3f97d234f0fbae338a7f9f360455071ef9855a95"},
- {file = "charset_normalizer-3.4.5-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:d1028de43596a315e2720a9849ee79007ab742c06ad8b45a50db8cdb7ed4a82a"},
- {file = "charset_normalizer-3.4.5-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:19092dde50335accf365cce21998a1c6dd8eafd42c7b226eb54b2747cdce2fac"},
- {file = "charset_normalizer-3.4.5-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:4354e401eb6dab9aed3c7b4030514328a6c748d05e1c3e19175008ca7de84fb1"},
- {file = "charset_normalizer-3.4.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a68766a3c58fde7f9aaa22b3786276f62ab2f594efb02d0a1421b6282e852e98"},
- {file = "charset_normalizer-3.4.5-cp312-cp312-win32.whl", hash = "sha256:1827734a5b308b65ac54e86a618de66f935a4f63a8a462ff1e19a6788d6c2262"},
- {file = "charset_normalizer-3.4.5-cp312-cp312-win_amd64.whl", hash = "sha256:728c6a963dfab66ef865f49286e45239384249672cd598576765acc2a640a636"},
- {file = "charset_normalizer-3.4.5-cp312-cp312-win_arm64.whl", hash = "sha256:75dfd1afe0b1647449e852f4fb428195a7ed0588947218f7ba929f6538487f02"},
- {file = "charset_normalizer-3.4.5-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ac59c15e3f1465f722607800c68713f9fbc2f672b9eb649fe831da4019ae9b23"},
- {file = "charset_normalizer-3.4.5-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:165c7b21d19365464e8f70e5ce5e12524c58b48c78c1f5a57524603c1ab003f8"},
- {file = "charset_normalizer-3.4.5-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:28269983f25a4da0425743d0d257a2d6921ea7d9b83599d4039486ec5b9f911d"},
- {file = "charset_normalizer-3.4.5-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d27ce22ec453564770d29d03a9506d449efbb9fa13c00842262b2f6801c48cce"},
- {file = "charset_normalizer-3.4.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0625665e4ebdddb553ab185de5db7054393af8879fb0c87bd5690d14379d6819"},
- {file = "charset_normalizer-3.4.5-cp313-cp313-manylinux_2_31_armv7l.whl", hash = "sha256:c23eb3263356d94858655b3e63f85ac5d50970c6e8febcdde7830209139cc37d"},
- {file = "charset_normalizer-3.4.5-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e6302ca4ae283deb0af68d2fbf467474b8b6aedcd3dab4db187e07f94c109763"},
- {file = "charset_normalizer-3.4.5-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e51ae7d81c825761d941962450f50d041db028b7278e7b08930b4541b3e45cb9"},
- {file = "charset_normalizer-3.4.5-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:597d10dec876923e5c59e48dbd366e852eacb2b806029491d307daea6b917d7c"},
- {file = "charset_normalizer-3.4.5-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:5cffde4032a197bd3b42fd0b9509ec60fb70918d6970e4cc773f20fc9180ca67"},
- {file = "charset_normalizer-3.4.5-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:2da4eedcb6338e2321e831a0165759c0c620e37f8cd044a263ff67493be8ffb3"},
- {file = "charset_normalizer-3.4.5-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:65a126fb4b070d05340a84fc709dd9e7c75d9b063b610ece8a60197a291d0adf"},
- {file = "charset_normalizer-3.4.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:c7a80a9242963416bd81f99349d5f3fce1843c303bd404f204918b6d75a75fd6"},
- {file = "charset_normalizer-3.4.5-cp313-cp313-win32.whl", hash = "sha256:f1d725b754e967e648046f00c4facc42d414840f5ccc670c5670f59f83693e4f"},
- {file = "charset_normalizer-3.4.5-cp313-cp313-win_amd64.whl", hash = "sha256:e37bd100d2c5d3ba35db9c7c5ba5a9228cbcffe5c4778dc824b164e5257813d7"},
- {file = "charset_normalizer-3.4.5-cp313-cp313-win_arm64.whl", hash = "sha256:93b3b2cc5cf1b8743660ce77a4f45f3f6d1172068207c1defc779a36eea6bb36"},
- {file = "charset_normalizer-3.4.5-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:8197abe5ca1ffb7d91e78360f915eef5addff270f8a71c1fc5be24a56f3e4873"},
- {file = "charset_normalizer-3.4.5-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a2aecdb364b8a1802afdc7f9327d55dad5366bc97d8502d0f5854e50712dbc5f"},
- {file = "charset_normalizer-3.4.5-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a66aa5022bf81ab4b1bebfb009db4fd68e0c6d4307a1ce5ef6a26e5878dfc9e4"},
- {file = "charset_normalizer-3.4.5-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d77f97e515688bd615c1d1f795d540f32542d514242067adcb8ef532504cb9ee"},
- {file = "charset_normalizer-3.4.5-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:01a1ed54b953303ca7e310fafe0fe347aab348bd81834a0bcd602eb538f89d66"},
- {file = "charset_normalizer-3.4.5-cp314-cp314-manylinux_2_31_armv7l.whl", hash = "sha256:b2d37d78297b39a9eb9eb92c0f6df98c706467282055419df141389b23f93362"},
- {file = "charset_normalizer-3.4.5-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e71bbb595973622b817c042bd943c3f3667e9c9983ce3d205f973f486fec98a7"},
- {file = "charset_normalizer-3.4.5-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:4cd966c2559f501c6fd69294d082c2934c8dd4719deb32c22961a5ac6db0df1d"},
- {file = "charset_normalizer-3.4.5-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:d5e52d127045d6ae01a1e821acfad2f3a1866c54d0e837828538fabe8d9d1bd6"},
- {file = "charset_normalizer-3.4.5-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:30a2b1a48478c3428d047ed9690d57c23038dac838a87ad624c85c0a78ebeb39"},
- {file = "charset_normalizer-3.4.5-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:d8ed79b8f6372ca4254955005830fd61c1ccdd8c0fac6603e2c145c61dd95db6"},
- {file = "charset_normalizer-3.4.5-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:c5af897b45fa606b12464ccbe0014bbf8c09191e0a66aab6aa9d5cf6e77e0c94"},
- {file = "charset_normalizer-3.4.5-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:1088345bcc93c58d8d8f3d783eca4a6e7a7752bbff26c3eee7e73c597c191c2e"},
- {file = "charset_normalizer-3.4.5-cp314-cp314-win32.whl", hash = "sha256:ee57b926940ba00bca7ba7041e665cc956e55ef482f851b9b65acb20d867e7a2"},
- {file = "charset_normalizer-3.4.5-cp314-cp314-win_amd64.whl", hash = "sha256:4481e6da1830c8a1cc0b746b47f603b653dadb690bcd851d039ffaefe70533aa"},
- {file = "charset_normalizer-3.4.5-cp314-cp314-win_arm64.whl", hash = "sha256:97ab7787092eb9b50fb47fa04f24c75b768a606af1bcba1957f07f128a7219e4"},
- {file = "charset_normalizer-3.4.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e22d1059b951e7ae7c20ef6b06afd10fb95e3c41bf3c4fbc874dba113321c193"},
- {file = "charset_normalizer-3.4.5-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:afca7f78067dd27c2b848f1b234623d26b87529296c6c5652168cc1954f2f3b2"},
- {file = "charset_normalizer-3.4.5-cp38-cp38-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ec56a2266f32bc06ed3c3e2a8f58417ce02f7e0356edc89786e52db13c593c98"},
- {file = "charset_normalizer-3.4.5-cp38-cp38-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2b970382e4a36bed897c19f310f31d7d13489c11b4f468ddfba42d41cddfb918"},
- {file = "charset_normalizer-3.4.5-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:573ef5814c4b7c0d59a7710aa920eaaaef383bd71626aa420fba27b5cab92e8d"},
- {file = "charset_normalizer-3.4.5-cp38-cp38-manylinux_2_31_armv7l.whl", hash = "sha256:50bcbca6603c06a1dcc7b056ed45c37715fb5d2768feb3bcd37d2313c587a5b9"},
- {file = "charset_normalizer-3.4.5-cp38-cp38-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:1f2da5cbb9becfcd607757a169e38fb82aa5fd86fae6653dea716e7b613fe2cf"},
- {file = "charset_normalizer-3.4.5-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:fc1c64934b8faf7584924143eb9db4770bbdb16659626e1a1a4d9efbcb68d947"},
- {file = "charset_normalizer-3.4.5-cp38-cp38-musllinux_1_2_armv7l.whl", hash = "sha256:ae8b03427410731469c4033934cf473426faff3e04b69d2dfb64a4281a3719f8"},
- {file = "charset_normalizer-3.4.5-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:b3e71afc578b98512bfe7bdb822dd6bc57d4b0093b4b6e5487c1e96ad4ace242"},
- {file = "charset_normalizer-3.4.5-cp38-cp38-musllinux_1_2_riscv64.whl", hash = "sha256:4b8551b6e6531e156db71193771c93bda78ffc4d1e6372517fe58ad3b91e4659"},
- {file = "charset_normalizer-3.4.5-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:65b3c403a5b6b8034b655e7385de4f72b7b244869a22b32d4030b99a60593eca"},
- {file = "charset_normalizer-3.4.5-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:8ce11cd4d62d11166f2b441e30ace226c19a3899a7cf0796f668fba49a9fb123"},
- {file = "charset_normalizer-3.4.5-cp38-cp38-win32.whl", hash = "sha256:66dee73039277eb35380d1b82cccc69cc82b13a66f9f4a18da32d573acf02b7c"},
- {file = "charset_normalizer-3.4.5-cp38-cp38-win_amd64.whl", hash = "sha256:d29dd9c016f2078b43d0c357511e87eee5b05108f3dd603423cb389b89813969"},
- {file = "charset_normalizer-3.4.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:259cd1ca995ad525f638e131dbcc2353a586564c038fc548a3fe450a91882139"},
- {file = "charset_normalizer-3.4.5-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8a28afb04baa55abf26df544e3e5c6534245d3daa5178bc4a8eeb48202060d0e"},
- {file = "charset_normalizer-3.4.5-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ff95a9283de8a457e6b12989de3f9f5193430f375d64297d323a615ea52cbdb3"},
- {file = "charset_normalizer-3.4.5-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:708c7acde173eedd4bfa4028484426ba689d2103b28588c513b9db2cd5ecde9c"},
- {file = "charset_normalizer-3.4.5-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:aa92ec1102eaff840ccd1021478af176a831f1bccb08e526ce844b7ddda85c22"},
- {file = "charset_normalizer-3.4.5-cp39-cp39-manylinux_2_31_armv7l.whl", hash = "sha256:5fea359734b140d0d6741189fea5478c6091b54ffc69d7ce119e0a05637d8c99"},
- {file = "charset_normalizer-3.4.5-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e545b51da9f9af5c67815ca0eb40676c0f016d0b0381c86f20451e35696c5f95"},
- {file = "charset_normalizer-3.4.5-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:30987f4a8ed169983f93e1be8ffeea5214a779e27ed0b059835c7afe96550ad7"},
- {file = "charset_normalizer-3.4.5-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:149ec69866c3d6c2fb6f758dbc014ecb09f30b35a5ca90b6a8a2d4e54e18fdfe"},
- {file = "charset_normalizer-3.4.5-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:530beedcec9b6e027e7a4b6ce26eed36678aa39e17da85e6e03d7bd9e8e9d7c9"},
- {file = "charset_normalizer-3.4.5-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:14498a429321de554b140013142abe7608f9d8ccc04d7baf2ad60498374aefa2"},
- {file = "charset_normalizer-3.4.5-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:2820a98460c83663dd8ec015d9ddfd1e4879f12e06bb7d0500f044fb477d2770"},
- {file = "charset_normalizer-3.4.5-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:aa2f963b4da26daf46231d9b9e0e2c9408a751f8f0d0f44d2de56d3caf51d294"},
- {file = "charset_normalizer-3.4.5-cp39-cp39-win32.whl", hash = "sha256:82cc7c2ad42faec8b574351f8bc2a0c049043893853317bd9bb309f5aba6cb5a"},
- {file = "charset_normalizer-3.4.5-cp39-cp39-win_amd64.whl", hash = "sha256:92263f7eca2f4af326cd20de8d16728d2602f7cfea02e790dcde9d83c365d7cc"},
- {file = "charset_normalizer-3.4.5-cp39-cp39-win_arm64.whl", hash = "sha256:014837af6fabf57121b6254fa8ade10dceabc3528b27b721a64bbc7b8b1d4eb4"},
- {file = "charset_normalizer-3.4.5-py3-none-any.whl", hash = "sha256:9db5e3fcdcee89a78c04dffb3fe33c79f77bd741a624946db2591c81b2fc85b0"},
- {file = "charset_normalizer-3.4.5.tar.gz", hash = "sha256:95adae7b6c42a6c5b5b559b1a99149f090a57128155daeea91732c8d970d8644"},
+ {file = "charset_normalizer-3.4.6-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:2e1d8ca8611099001949d1cdfaefc510cf0f212484fe7c565f735b68c78c3c95"},
+ {file = "charset_normalizer-3.4.6-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e25369dc110d58ddf29b949377a93e0716d72a24f62bad72b2b39f155949c1fd"},
+ {file = "charset_normalizer-3.4.6-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:259695e2ccc253feb2a016303543d691825e920917e31f894ca1a687982b1de4"},
+ {file = "charset_normalizer-3.4.6-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:dda86aba335c902b6149a02a55b38e96287157e609200811837678214ba2b1db"},
+ {file = "charset_normalizer-3.4.6-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:51fb3c322c81d20567019778cb5a4a6f2dc1c200b886bc0d636238e364848c89"},
+ {file = "charset_normalizer-3.4.6-cp310-cp310-manylinux_2_31_armv7l.whl", hash = "sha256:4482481cb0572180b6fd976a4d5c72a30263e98564da68b86ec91f0fe35e8565"},
+ {file = "charset_normalizer-3.4.6-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:39f5068d35621da2881271e5c3205125cc456f54e9030d3f723288c873a71bf9"},
+ {file = "charset_normalizer-3.4.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:8bea55c4eef25b0b19a0337dc4e3f9a15b00d569c77211fa8cde38684f234fb7"},
+ {file = "charset_normalizer-3.4.6-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:f0cdaecd4c953bfae0b6bb64910aaaca5a424ad9c72d85cb88417bb9814f7550"},
+ {file = "charset_normalizer-3.4.6-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:150b8ce8e830eb7ccb029ec9ca36022f756986aaaa7956aad6d9ec90089338c0"},
+ {file = "charset_normalizer-3.4.6-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:e68c14b04827dd76dcbd1aeea9e604e3e4b78322d8faf2f8132c7138efa340a8"},
+ {file = "charset_normalizer-3.4.6-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:3778fd7d7cd04ae8f54651f4a7a0bd6e39a0cf20f801720a4c21d80e9b7ad6b0"},
+ {file = "charset_normalizer-3.4.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:dad6e0f2e481fffdcf776d10ebee25e0ef89f16d691f1e5dee4b586375fdc64b"},
+ {file = "charset_normalizer-3.4.6-cp310-cp310-win32.whl", hash = "sha256:74a2e659c7ecbc73562e2a15e05039f1e22c75b7c7618b4b574a3ea9118d1557"},
+ {file = "charset_normalizer-3.4.6-cp310-cp310-win_amd64.whl", hash = "sha256:aa9cccf4a44b9b62d8ba8b4dd06c649ba683e4bf04eea606d2e94cfc2d6ff4d6"},
+ {file = "charset_normalizer-3.4.6-cp310-cp310-win_arm64.whl", hash = "sha256:e985a16ff513596f217cee86c21371b8cd011c0f6f056d0920aa2d926c544058"},
+ {file = "charset_normalizer-3.4.6-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:82060f995ab5003a2d6e0f4ad29065b7672b6593c8c63559beefe5b443242c3e"},
+ {file = "charset_normalizer-3.4.6-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:60c74963d8350241a79cb8feea80e54d518f72c26db618862a8f53e5023deaf9"},
+ {file = "charset_normalizer-3.4.6-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f6e4333fb15c83f7d1482a76d45a0818897b3d33f00efd215528ff7c51b8e35d"},
+ {file = "charset_normalizer-3.4.6-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:bc72863f4d9aba2e8fd9085e63548a324ba706d2ea2c83b260da08a59b9482de"},
+ {file = "charset_normalizer-3.4.6-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9cc4fc6c196d6a8b76629a70ddfcd4635a6898756e2d9cac5565cf0654605d73"},
+ {file = "charset_normalizer-3.4.6-cp311-cp311-manylinux_2_31_armv7l.whl", hash = "sha256:0c173ce3a681f309f31b87125fecec7a5d1347261ea11ebbb856fa6006b23c8c"},
+ {file = "charset_normalizer-3.4.6-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c907cdc8109f6c619e6254212e794d6548373cc40e1ec75e6e3823d9135d29cc"},
+ {file = "charset_normalizer-3.4.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:404a1e552cf5b675a87f0651f8b79f5f1e6fd100ee88dc612f89aa16abd4486f"},
+ {file = "charset_normalizer-3.4.6-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:e3c701e954abf6fc03a49f7c579cc80c2c6cc52525340ca3186c41d3f33482ef"},
+ {file = "charset_normalizer-3.4.6-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:7a6967aaf043bceabab5412ed6bd6bd26603dae84d5cb75bf8d9a74a4959d398"},
+ {file = "charset_normalizer-3.4.6-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:5feb91325bbceade6afab43eb3b508c63ee53579fe896c77137ded51c6b6958e"},
+ {file = "charset_normalizer-3.4.6-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:f820f24b09e3e779fe84c3c456cb4108a7aa639b0d1f02c28046e11bfcd088ed"},
+ {file = "charset_normalizer-3.4.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b35b200d6a71b9839a46b9b7fff66b6638bb52fc9658aa58796b0326595d3021"},
+ {file = "charset_normalizer-3.4.6-cp311-cp311-win32.whl", hash = "sha256:9ca4c0b502ab399ef89248a2c84c54954f77a070f28e546a85e91da627d1301e"},
+ {file = "charset_normalizer-3.4.6-cp311-cp311-win_amd64.whl", hash = "sha256:a9e68c9d88823b274cf1e72f28cb5dc89c990edf430b0bfd3e2fb0785bfeabf4"},
+ {file = "charset_normalizer-3.4.6-cp311-cp311-win_arm64.whl", hash = "sha256:97d0235baafca5f2b09cf332cc275f021e694e8362c6bb9c96fc9a0eb74fc316"},
+ {file = "charset_normalizer-3.4.6-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:2ef7fedc7a6ecbe99969cd09632516738a97eeb8bd7258bf8a0f23114c057dab"},
+ {file = "charset_normalizer-3.4.6-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a4ea868bc28109052790eb2b52a9ab33f3aa7adc02f96673526ff47419490e21"},
+ {file = "charset_normalizer-3.4.6-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:836ab36280f21fc1a03c99cd05c6b7af70d2697e374c7af0b61ed271401a72a2"},
+ {file = "charset_normalizer-3.4.6-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f1ce721c8a7dfec21fcbdfe04e8f68174183cf4e8188e0645e92aa23985c57ff"},
+ {file = "charset_normalizer-3.4.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0e28d62a8fc7a1fa411c43bd65e346f3bce9716dc51b897fbe930c5987b402d5"},
+ {file = "charset_normalizer-3.4.6-cp312-cp312-manylinux_2_31_armv7l.whl", hash = "sha256:530d548084c4a9f7a16ed4a294d459b4f229db50df689bfe92027452452943a0"},
+ {file = "charset_normalizer-3.4.6-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:30f445ae60aad5e1f8bdbb3108e39f6fbc09f4ea16c815c66578878325f8f15a"},
+ {file = "charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ac2393c73378fea4e52aa56285a3d64be50f1a12395afef9cce47772f60334c2"},
+ {file = "charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:90ca27cd8da8118b18a52d5f547859cc1f8354a00cd1e8e5120df3e30d6279e5"},
+ {file = "charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:8e5a94886bedca0f9b78fecd6afb6629142fd2605aa70a125d49f4edc6037ee6"},
+ {file = "charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:695f5c2823691a25f17bc5d5ffe79fa90972cc34b002ac6c843bb8a1720e950d"},
+ {file = "charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:231d4da14bcd9301310faf492051bee27df11f2bc7549bc0bb41fef11b82daa2"},
+ {file = "charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a056d1ad2633548ca18ffa2f85c202cfb48b68615129143915b8dc72a806a923"},
+ {file = "charset_normalizer-3.4.6-cp312-cp312-win32.whl", hash = "sha256:c2274ca724536f173122f36c98ce188fd24ce3dad886ec2b7af859518ce008a4"},
+ {file = "charset_normalizer-3.4.6-cp312-cp312-win_amd64.whl", hash = "sha256:c8ae56368f8cc97c7e40a7ee18e1cedaf8e780cd8bc5ed5ac8b81f238614facb"},
+ {file = "charset_normalizer-3.4.6-cp312-cp312-win_arm64.whl", hash = "sha256:899d28f422116b08be5118ef350c292b36fc15ec2daeb9ea987c89281c7bb5c4"},
+ {file = "charset_normalizer-3.4.6-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:11afb56037cbc4b1555a34dd69151e8e069bee82e613a73bef6e714ce733585f"},
+ {file = "charset_normalizer-3.4.6-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:423fb7e748a08f854a08a222b983f4df1912b1daedce51a72bd24fe8f26a1843"},
+ {file = "charset_normalizer-3.4.6-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:d73beaac5e90173ac3deb9928a74763a6d230f494e4bfb422c217a0ad8e629bf"},
+ {file = "charset_normalizer-3.4.6-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d60377dce4511655582e300dc1e5a5f24ba0cb229005a1d5c8d0cb72bb758ab8"},
+ {file = "charset_normalizer-3.4.6-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:530e8cebeea0d76bdcf93357aa5e41336f48c3dc709ac52da2bb167c5b8271d9"},
+ {file = "charset_normalizer-3.4.6-cp313-cp313-manylinux_2_31_armv7l.whl", hash = "sha256:a26611d9987b230566f24a0a125f17fe0de6a6aff9f25c9f564aaa2721a5fb88"},
+ {file = "charset_normalizer-3.4.6-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:34315ff4fc374b285ad7f4a0bf7dcbfe769e1b104230d40f49f700d4ab6bbd84"},
+ {file = "charset_normalizer-3.4.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5f8ddd609f9e1af8c7bd6e2aca279c931aefecd148a14402d4e368f3171769fd"},
+ {file = "charset_normalizer-3.4.6-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:80d0a5615143c0b3225e5e3ef22c8d5d51f3f72ce0ea6fb84c943546c7b25b6c"},
+ {file = "charset_normalizer-3.4.6-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:92734d4d8d187a354a556626c221cd1a892a4e0802ccb2af432a1d85ec012194"},
+ {file = "charset_normalizer-3.4.6-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:613f19aa6e082cf96e17e3ffd89383343d0d589abda756b7764cf78361fd41dc"},
+ {file = "charset_normalizer-3.4.6-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:2b1a63e8224e401cafe7739f77efd3f9e7f5f2026bda4aead8e59afab537784f"},
+ {file = "charset_normalizer-3.4.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6cceb5473417d28edd20c6c984ab6fee6c6267d38d906823ebfe20b03d607dc2"},
+ {file = "charset_normalizer-3.4.6-cp313-cp313-win32.whl", hash = "sha256:d7de2637729c67d67cf87614b566626057e95c303bc0a55ffe391f5205e7003d"},
+ {file = "charset_normalizer-3.4.6-cp313-cp313-win_amd64.whl", hash = "sha256:572d7c822caf521f0525ba1bce1a622a0b85cf47ffbdae6c9c19e3b5ac3c4389"},
+ {file = "charset_normalizer-3.4.6-cp313-cp313-win_arm64.whl", hash = "sha256:a4474d924a47185a06411e0064b803c68be044be2d60e50e8bddcc2649957c1f"},
+ {file = "charset_normalizer-3.4.6-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:9cc6e6d9e571d2f863fa77700701dae73ed5f78881efc8b3f9a4398772ff53e8"},
+ {file = "charset_normalizer-3.4.6-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ef5960d965e67165d75b7c7ffc60a83ec5abfc5c11b764ec13ea54fbef8b4421"},
+ {file = "charset_normalizer-3.4.6-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b3694e3f87f8ac7ce279d4355645b3c878d24d1424581b46282f24b92f5a4ae2"},
+ {file = "charset_normalizer-3.4.6-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5d11595abf8dd942a77883a39d81433739b287b6aa71620f15164f8096221b30"},
+ {file = "charset_normalizer-3.4.6-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7bda6eebafd42133efdca535b04ccb338ab29467b3f7bf79569883676fc628db"},
+ {file = "charset_normalizer-3.4.6-cp314-cp314-manylinux_2_31_armv7l.whl", hash = "sha256:bbc8c8650c6e51041ad1be191742b8b421d05bbd3410f43fa2a00c8db87678e8"},
+ {file = "charset_normalizer-3.4.6-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:22c6f0c2fbc31e76c3b8a86fba1a56eda6166e238c29cdd3d14befdb4a4e4815"},
+ {file = "charset_normalizer-3.4.6-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7edbed096e4a4798710ed6bc75dcaa2a21b68b6c356553ac4823c3658d53743a"},
+ {file = "charset_normalizer-3.4.6-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:7f9019c9cb613f084481bd6a100b12e1547cf2efe362d873c2e31e4035a6fa43"},
+ {file = "charset_normalizer-3.4.6-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:58c948d0d086229efc484fe2f30c2d382c86720f55cd9bc33591774348ad44e0"},
+ {file = "charset_normalizer-3.4.6-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:419a9d91bd238052642a51938af8ac05da5b3343becde08d5cdeab9046df9ee1"},
+ {file = "charset_normalizer-3.4.6-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:5273b9f0b5835ff0350c0828faea623c68bfa65b792720c453e22b25cc72930f"},
+ {file = "charset_normalizer-3.4.6-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:0e901eb1049fdb80f5bd11ed5ea1e498ec423102f7a9b9e4645d5b8204ff2815"},
+ {file = "charset_normalizer-3.4.6-cp314-cp314-win32.whl", hash = "sha256:b4ff1d35e8c5bd078be89349b6f3a845128e685e751b6ea1169cf2160b344c4d"},
+ {file = "charset_normalizer-3.4.6-cp314-cp314-win_amd64.whl", hash = "sha256:74119174722c4349af9708993118581686f343adc1c8c9c007d59be90d077f3f"},
+ {file = "charset_normalizer-3.4.6-cp314-cp314-win_arm64.whl", hash = "sha256:e5bcc1a1ae744e0bb59641171ae53743760130600da8db48cbb6e4918e186e4e"},
+ {file = "charset_normalizer-3.4.6-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:ad8faf8df23f0378c6d527d8b0b15ea4a2e23c89376877c598c4870d1b2c7866"},
+ {file = "charset_normalizer-3.4.6-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f5ea69428fa1b49573eef0cc44a1d43bebd45ad0c611eb7d7eac760c7ae771bc"},
+ {file = "charset_normalizer-3.4.6-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:06a7e86163334edfc5d20fe104db92fcd666e5a5df0977cb5680a506fe26cc8e"},
+ {file = "charset_normalizer-3.4.6-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:e1f6e2f00a6b8edb562826e4632e26d063ac10307e80f7461f7de3ad8ef3f077"},
+ {file = "charset_normalizer-3.4.6-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:95b52c68d64c1878818687a473a10547b3292e82b6f6fe483808fb1468e2f52f"},
+ {file = "charset_normalizer-3.4.6-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:7504e9b7dc05f99a9bbb4525c67a2c155073b44d720470a148b34166a69c054e"},
+ {file = "charset_normalizer-3.4.6-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:172985e4ff804a7ad08eebec0a1640ece87ba5041d565fff23c8f99c1f389484"},
+ {file = "charset_normalizer-3.4.6-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:4be9f4830ba8741527693848403e2c457c16e499100963ec711b1c6f2049b7c7"},
+ {file = "charset_normalizer-3.4.6-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:79090741d842f564b1b2827c0b82d846405b744d31e84f18d7a7b41c20e473ff"},
+ {file = "charset_normalizer-3.4.6-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:87725cfb1a4f1f8c2fc9890ae2f42094120f4b44db9360be5d99a4c6b0e03a9e"},
+ {file = "charset_normalizer-3.4.6-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:fcce033e4021347d80ed9c66dcf1e7b1546319834b74445f561d2e2221de5659"},
+ {file = "charset_normalizer-3.4.6-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:ca0276464d148c72defa8bb4390cce01b4a0e425f3b50d1435aa6d7a18107602"},
+ {file = "charset_normalizer-3.4.6-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:197c1a244a274bb016dd8b79204850144ef77fe81c5b797dc389327adb552407"},
+ {file = "charset_normalizer-3.4.6-cp314-cp314t-win32.whl", hash = "sha256:2a24157fa36980478dd1770b585c0f30d19e18f4fb0c47c13aa568f871718579"},
+ {file = "charset_normalizer-3.4.6-cp314-cp314t-win_amd64.whl", hash = "sha256:cd5e2801c89992ed8c0a3f0293ae83c159a60d9a5d685005383ef4caca77f2c4"},
+ {file = "charset_normalizer-3.4.6-cp314-cp314t-win_arm64.whl", hash = "sha256:47955475ac79cc504ef2704b192364e51d0d473ad452caedd0002605f780101c"},
+ {file = "charset_normalizer-3.4.6-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:659a1e1b500fac8f2779dd9e1570464e012f43e580371470b45277a27baa7532"},
+ {file = "charset_normalizer-3.4.6-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f61aa92e4aad0be58eb6eb4e0c21acf32cf8065f4b2cae5665da756c4ceef982"},
+ {file = "charset_normalizer-3.4.6-cp38-cp38-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f50498891691e0864dc3da965f340fada0771f6142a378083dc4608f4ea513e2"},
+ {file = "charset_normalizer-3.4.6-cp38-cp38-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:bf625105bb9eef28a56a943fec8c8a98aeb80e7d7db99bd3c388137e6eb2d237"},
+ {file = "charset_normalizer-3.4.6-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2bd9d128ef93637a5d7a6af25363cf5dec3fa21cf80e68055aad627f280e8afa"},
+ {file = "charset_normalizer-3.4.6-cp38-cp38-manylinux_2_31_armv7l.whl", hash = "sha256:d08ec48f0a1c48d75d0356cea971921848fb620fdeba805b28f937e90691209f"},
+ {file = "charset_normalizer-3.4.6-cp38-cp38-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:1ed80ff870ca6de33f4d953fda4d55654b9a2b340ff39ab32fa3adbcd718f264"},
+ {file = "charset_normalizer-3.4.6-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:f98059e4fcd3e3e4e2d632b7cf81c2faae96c43c60b569e9c621468082f1d104"},
+ {file = "charset_normalizer-3.4.6-cp38-cp38-musllinux_1_2_armv7l.whl", hash = "sha256:ab30e5e3e706e3063bc6de96b118688cb10396b70bb9864a430f67df98c61ecc"},
+ {file = "charset_normalizer-3.4.6-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:d5f5d1e9def3405f60e3ca8232d56f35c98fb7bf581efcc60051ebf53cb8b611"},
+ {file = "charset_normalizer-3.4.6-cp38-cp38-musllinux_1_2_riscv64.whl", hash = "sha256:461598cd852bfa5a61b09cae2b1c02e2efcd166ee5516e243d540ac24bfa68a7"},
+ {file = "charset_normalizer-3.4.6-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:71be7e0e01753a89cf024abf7ecb6bca2c81738ead80d43004d9b5e3f1244e64"},
+ {file = "charset_normalizer-3.4.6-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:df01808ee470038c3f8dc4f48620df7225c49c2d6639e38f96e6d6ac6e6f7b0e"},
+ {file = "charset_normalizer-3.4.6-cp38-cp38-win32.whl", hash = "sha256:69dd852c2f0ad631b8b60cfbe25a28c0058a894de5abb566619c205ce0550eae"},
+ {file = "charset_normalizer-3.4.6-cp38-cp38-win_amd64.whl", hash = "sha256:517ad0e93394ac532745129ceabdf2696b609ec9f87863d337140317ebce1c14"},
+ {file = "charset_normalizer-3.4.6-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:31215157227939b4fb3d740cd23fe27be0439afef67b785a1eb78a3ae69cba9e"},
+ {file = "charset_normalizer-3.4.6-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ecbbd45615a6885fe3240eb9db73b9e62518b611850fdf8ab08bd56de7ad2b17"},
+ {file = "charset_normalizer-3.4.6-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c45a03a4c69820a399f1dda9e1d8fbf3562eda46e7720458180302021b08f778"},
+ {file = "charset_normalizer-3.4.6-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:e8aeb10fcbe92767f0fa69ad5a72deca50d0dca07fbde97848997d778a50c9fe"},
+ {file = "charset_normalizer-3.4.6-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:54fae94be3d75f3e573c9a1b5402dc593de19377013c9a0e4285e3d402dd3a2a"},
+ {file = "charset_normalizer-3.4.6-cp39-cp39-manylinux_2_31_armv7l.whl", hash = "sha256:2f7fdd9b6e6c529d6a2501a2d36b240109e78a8ceaef5687cfcfa2bbe671d297"},
+ {file = "charset_normalizer-3.4.6-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:4d1d02209e06550bdaef34af58e041ad71b88e624f5d825519da3a3308e22687"},
+ {file = "charset_normalizer-3.4.6-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:8bc5f0687d796c05b1e28ab0d38a50e6309906ee09375dd3aff6a9c09dd6e8f4"},
+ {file = "charset_normalizer-3.4.6-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:ee4ec14bc1680d6b0afab9aea2ef27e26d2024f18b24a2d7155a52b60da7e833"},
+ {file = "charset_normalizer-3.4.6-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:d1a2ee9c1499fc8f86f4521f27a973c914b211ffa87322f4ee33bb35392da2c5"},
+ {file = "charset_normalizer-3.4.6-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:48696db7f18afb80a068821504296eb0787d9ce239b91ca15059d1d3eaacf13b"},
+ {file = "charset_normalizer-3.4.6-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:4f41da960b196ea355357285ad1316a00099f22d0929fe168343b99b254729c9"},
+ {file = "charset_normalizer-3.4.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:802168e03fba8bbc5ce0d866d589e4b1ca751d06edee69f7f3a19c5a9fe6b597"},
+ {file = "charset_normalizer-3.4.6-cp39-cp39-win32.whl", hash = "sha256:8761ac29b6c81574724322a554605608a9960769ea83d2c73e396f3df896ad54"},
+ {file = "charset_normalizer-3.4.6-cp39-cp39-win_amd64.whl", hash = "sha256:1cf0a70018692f85172348fe06d3a4b63f94ecb055e13a00c644d368eb82e5b8"},
+ {file = "charset_normalizer-3.4.6-cp39-cp39-win_arm64.whl", hash = "sha256:3516bbb8d42169de9e61b8520cbeeeb716f12f4ecfe3fd30a9919aa16c806ca8"},
+ {file = "charset_normalizer-3.4.6-py3-none-any.whl", hash = "sha256:947cf925bc916d90adba35a64c82aace04fa39b46b52d4630ece166655905a69"},
+ {file = "charset_normalizer-3.4.6.tar.gz", hash = "sha256:1ae6b62897110aa7c79ea2f5dd38d1abca6db663687c0b1ad9aed6f6bae3d9d6"},
]
[[package]]
diff --git a/pyproject.toml b/pyproject.toml
index e370aa2..a54dcf9 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -4,7 +4,7 @@ dynamic = ["version"]
[tool.poetry]
name = "brevo-python"
-version = "4.0.9"
+version = "4.0.8"
description = ""
readme = "README.md"
authors = []
diff --git a/reference.md b/reference.md
index 2cdb810..655440d 100644
--- a/reference.md
+++ b/reference.md
@@ -4605,6 +4605,7 @@ Possible values for type **Transactional** and channel **SMS**
type **Marketing** channel **SMS** ####
`sent`,`delivered`,`softBounce`,`hardBounce`,`unsubscribe`,`reply`,
`subscribe`,`skip`
+#### `reply`
@@ -4703,22 +4704,16 @@ Inbound domain of webhook, required in case of event type
-
-
-To have it activated please send us a request and we will activate it for your account.
+
+This is an enterprise feature. Contact us to activate it for your account.
-Exports webhook event history to CSV format for analysis and reporting.
-
-Use this to:
-- Generate comprehensive webhook event reports
-- Analyze webhook delivery patterns and success rates
-- Export event data for external analysis tools
-- Create historical reports for compliance and auditing
-- Track webhook performance and reliability metrics
+Submits a request to export webhook event history as a CSV file. The download link is sent to the `notifyURL` you provide in the request body.
-Key information returned:
-- Process ID for tracking export completion
-- CSV file will be delivered to specified webhook URL
+Use this endpoint to:
+- Export webhook event history filtered by date range, event type, or email address
+- Generate reports for compliance, auditing, or performance analysis
+- Track delivery patterns and webhook reliability over time
@@ -5065,6 +5060,7 @@ client.webhooks.update_webhook(
#### `spam`, `opened`, `click`, `hardBounce`, `softBounce`,
`unsubscribed`, `listAddition` & `delivered` - Possible values
for **Inbound** type webhook: #### `inboundEmailProcessed`
+#### `reply`
@@ -5863,12 +5859,8 @@ client.external_feeds.delete_external_feed(
-
-
-Custom objects are only available to Enterprise plans.
-
-This feature is in beta. These are subject to change.
-
-
+Custom objects are only available to Enterprise plans.
+This feature is in beta. These are subject to change.
This API allows bulk upsert of object records in a single request. Each object record may include
- Attributes
- Identifiers
@@ -5882,8 +5874,8 @@ This API allows bulk upsert of object records in a single request. Each object r
- Max 500 attributes defined per object record upsert request
- This is coherent with schema limitation: an object cannot have more than 500 attributes.
- Worth noting: Nothing happens If an attribute is mentioned in the request, but was not previously defined for the object schema (no error, no attribute creation)
- - Max 10 associations defined per object record upsert request
- - This is coherent with schema limitation: an object cannot have more than 10 associations with other objects. and each object record can be linked to max 10 other records.
+ - Max 10 associations defined per associated object type, in each record of the request
+ - This is not a schema limitation. You can associate an object record to an unlimited number of other object records by running multiple requests.
**Errors:**
- Make sure both object records exist before associating them, else the API will return an error.
- This route does not create objects. The object where the object records are upserted by this API must be created already else the API will return an error "invalid object type".
@@ -5971,12 +5963,8 @@ client.custom_objects.upsertrecords(
-
-
-Custom objects are only available to Enterprise plans.
-
-This feature is in beta. These are subject to change.
-
-
+Custom objects are only available to Enterprise plans.
+This feature is in beta. These are subject to change.
This API retrieves a list of object records along with their associated records and provides the total count of records for the specified object. **Note**: Contact as object type is not supported in this endpoint.
@@ -6164,26 +6152,6 @@ client.custom_objects.batch_delete_object_records(
-
-#### 📝 Description
-
-
--
-
-
--
-
-
-Accepted Number Formats
-
-91xxxxxxxxxx
-+91xxxxxxxxxx
-0091xxxxxxxxxx
-
-
-
-
-
-
#### 🔌 Usage
@@ -6305,6 +6273,8 @@ client.contacts.get_contacts()
-
+Follow this format when passing a "SMS" phone number as an attribute.
+Accepted Number Formats 91xxxxxxxxxx +91xxxxxxxxxx 0091xxxxxxxxxx
Creates new contacts on Brevo. Contacts can be created by passing either -
1. email address of the contact (email_id),
2. phone number of the contact (to be passed as "SMS" field in "attributes" along with proper country code), For example- {"SMS":"+91xxxxxxxxxx"} or {"SMS":"0091xxxxxxxxxx"}
3. ext_id
@@ -6882,9 +6852,7 @@ client.contacts.update_batch_contacts()
-
-
-attributes param in this endpoint is an object containing key-value pairs where values can be either a string, integer, array, or boolean. You can create key-value pairs with these four datatypes. When a value is an array, it should be an array of strings.
-
+attributes param in this endpoint is an object containing key-value pairs where values can be either a string, integer, array, or boolean. You can create key-value pairs with these four datatypes. When a value is an array, it should be an array of strings.
@@ -7132,17 +7100,11 @@ client.contacts.request_contact_export(
-
-
-Ongoing changes for this endpoint
-
+Ongoing changes for this endpoint
We're dropping support for the response attributes totalSubscribers and totalBlacklisted.
-
These are non breaking changes.
-
The default value for the attributes will be 0.
-
-The uniqueSubscribers field is deprecated
-
+The uniqueSubscribers field is deprecated
@@ -7286,13 +7248,9 @@ client.contacts.create_folder()
-
-
-Ongoing changes for this endpoint.
-
+Ongoing changes for this endpoint.
We're dropping support for the response attributes totalSubscribers and totalBlacklisted.
-
-These are non breaking changes. The default value for the attributes will be 0.
-
+These are non breaking changes. The default value for the attributes will be 0.
@@ -7491,13 +7449,9 @@ client.contacts.delete_folder(
-
-
-Ongoing changes for this endpoint.
-
+Ongoing changes for this endpoint.
We're dropping support for the response attributes totalSubscribers and totalBlacklisted.
-
-These are non breaking changes. The default value for the attributes will be 0.
-
+These are non breaking changes. The default value for the attributes will be 0.
@@ -7745,13 +7699,9 @@ client.contacts.import_contacts()
-
-
-Ongoing changes for this endpoint.
-
+Ongoing changes for this endpoint.
We're dropping support for the response attributes totalSubscribers and totalBlacklisted.
-
-These are non breaking changes. The default value for the attributes will be 0.
-
+These are non breaking changes. The default value for the attributes will be 0.
@@ -8422,14 +8372,8 @@ client.contacts.get_segments()
-
-
-Accepted Number Formats
-
-91xxxxxxxxxx
-+91xxxxxxxxxx
-0091xxxxxxxxxx
-
-
+Follow this format when passing a "SMS" phone number as an attribute.
+Accepted Number Formats 91xxxxxxxxxx +91xxxxxxxxxx 0091xxxxxxxxxx
There are 2 ways to get a contact
Option 1- https://api.brevo.com/v3/contacts/{identifier}
Option 2- https://api.brevo.com/v3/contacts/{identifier}?identifierType={}
Option 1 only works if identifierType is email_id (for EMAIL), phone_id (for SMS) or contact_id (for ID of the contact),where you can directly pass the value of EMAIL, SMS and ID of the contact.
Option 2 works for all identifierType, use email_id for EMAIL attribute, phone_id for SMS attribute, contact_id for ID of the contact, ext_id for EXT_ID attribute, whatsapp_id for WHATSAPP attribute, landline_number_id for LANDLINE_NUMBER attribute
Along with the contact details, this endpoint will show the statistics of contact for the recent 90 days by default. To fetch the earlier statistics, please use Get contact campaign stats ``https://developers.brevo.com/reference/contacts-7#getcontactstats`` endpoint with the appropriate date ranges.
@@ -8527,6 +8471,8 @@ client.contacts.get_contact_info(
-
+Follow this format when passing a "SMS" phone number as an attribute.
+Accepted Number Formats 91xxxxxxxxxx +91xxxxxxxxxx 0091xxxxxxxxxx
If a blocklisted contact's email address is updated, it is going to remove that blocklisting from the contact and they will be resubscribed.
There are 2 ways to update a contact
Option 1- https://api.brevo.com/v3/contacts/{identifier}
Option 2- https://api.brevo.com/v3/contacts/{identifier}?identifierType={}
Option 1 only works if identifierType is email_id (for EMAIL) or contact_id (for ID of the contact),where you can directly pass the value of EMAIL and ID of the contact.
Option 2 works for all identifierType, use email_id for EMAIL attribute, contact_id for ID of the contact, ext_id for EXT_ID attribute, phone_id for SMS attribute, whatsapp_id for WHATSAPP attribute, landline_number_id for LANDLINE attribute
@@ -10477,7 +10423,6 @@ client.ecommerce.create_order(
OrderProductsItem(
price=99.99,
product_id="P1",
- quantity=10,
)
],
status="completed",
@@ -10563,7 +10508,6 @@ client.ecommerce.create_batch_order(
OrderProductsItem(
price=99.99,
product_id="P1",
- quantity=10,
)
],
status="completed",
@@ -10847,6 +10791,14 @@ client.ecommerce.create_update_product(
-
+**brand:** `typing.Optional[str]` — Brand of the product
+
+
+
+
+
+-
+
**categories:** `typing.Optional[typing.List[str]]` — Category ID-s of the product
@@ -10863,6 +10815,14 @@ client.ecommerce.create_update_product(
-
+**description:** `typing.Optional[str]` — Description of the product
+
+
+
+
+
+-
+
**image_url:** `typing.Optional[str]` — Absolute URL to the cover image of the product
@@ -10879,7 +10839,7 @@ client.ecommerce.create_update_product(
-
-**meta_info:** `typing.Optional[typing.Dict[str, CreateUpdateProductRequestMetaInfoValue]]` — Meta data of product such as description, vendor, producer, stock level. The size of cumulative metaInfo shall not exceed **1000 KB**. Maximum length of metaInfo object can be 20.
+**meta_info:** `typing.Optional[typing.Dict[str, CreateUpdateProductRequestMetaInfoValue]]` — Meta data of product such as description, vendor, producer, stock level. The total characters of cumulative metaInfo shall not exceed **20000 characters**.
@@ -11772,6 +11732,129 @@ client.payments.delete_payment_request(
## Event
+client.event.get_events(...) -> GetEventsList
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+
+This endpoint currently only supports custom events.
+
+
+Retrieve a list of events filtered by various criteria.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```python
+from brevo import Brevo
+from brevo.environment import BrevoEnvironment
+
+client = Brevo(
+ api_key="",
+ environment=BrevoEnvironment.DEFAULT,
+)
+
+client.event.get_events()
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**contact_id:** `typing.Optional[typing.Union[int, typing.Sequence[int]]]` — Filter by contact ID (repeatable)
+
+
+
+
+
+-
+
+**event_name:** `typing.Optional[typing.Union[str, typing.Sequence[str]]]` — Filter by event name (repeatable)
+
+
+
+
+
+-
+
+**object_type:** `typing.Optional[typing.Union[str, typing.Sequence[str]]]` — Filter by object type (repeatable)
+
+
+
+
+
+-
+
+**start_date:** `typing.Optional[str]` — Mandatory if endDate is used. Start of date range (YYYY-MM-DD or RFC3339). Defaults to 6 months ago when omitted alongside endDate. Must be ≤ endDate.
+
+
+
+
+
+-
+
+**end_date:** `typing.Optional[str]` — Mandatory if startDate is used. End of date range (YYYY-MM-DD or RFC3339). Must be ≥ startDate.
+
+
+
+
+
+-
+
+**limit:** `typing.Optional[int]` — Max events to return. Default 100, min 1, max 10000.
+
+
+
+
+
+-
+
+**offset:** `typing.Optional[int]` — Events to skip for pagination. Default 0, min 0.
+
+
+
+
+
+-
+
+**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
+
+
+
+
+
+
+
+
+
+
+
client.event.create_event(...)
-
@@ -11883,6 +11966,85 @@ client.event.create_event(
+
+
+
+
+client.event.create_batch_events(...) -> BatchAcceptedResponse
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Create multiple events to track contacts' interactions in a single request.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```python
+from brevo import Brevo
+from brevo.environment import BrevoEnvironment
+from brevo.event import CreateBatchEventsRequestItem, CreateBatchEventsRequestItemIdentifiers
+
+client = Brevo(
+ api_key="",
+ environment=BrevoEnvironment.DEFAULT,
+)
+
+client.event.create_batch_events(
+ request=[
+ CreateBatchEventsRequestItem(
+ event_name="order_created",
+ identifiers=CreateBatchEventsRequestItemIdentifiers(),
+ )
+ ],
+)
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `typing.List[CreateBatchEventsRequestItem]`
+
+
+
+
+
+-
+
+**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
+
+
+
+
+
+
+
@@ -12257,6 +12419,14 @@ client.balance.get_active_balances_api(
-
+**include_internal:** `typing.Optional[bool]` — Include balances tied to internal definitions.
+
+
+
+
+
+-
+
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
@@ -12557,7 +12727,7 @@ client.balance.create_balance_definition(
-
-**meta:** `typing.Optional[typing.Dict[str, typing.Any]]` — Additional metadata for the balance definition.
+**meta:** `typing.Optional[PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestMeta]` — Additional metadata for the balance definition.
@@ -12859,7 +13029,7 @@ client.balance.update_balance_definition(
-
-**meta:** `typing.Optional[typing.Dict[str, typing.Any]]` — Optional metadata for the balance definition.
+**meta:** `typing.Optional[UpdateBalanceDefinitionRequestMeta]` — Optional metadata for the balance definition.
@@ -13499,6 +13669,14 @@ client.balance.get_contact_balances(
-
+**include_internal:** `typing.Optional[bool]` — Include balances tied to internal definitions.
+
+
+
+
+
+-
+
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
@@ -13715,6 +13893,14 @@ client.balance.get_subscription_balances(
-
+**include_internal:** `typing.Optional[bool]` — Include balances tied to internal definitions.
+
+
+
+
+
+-
+
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
@@ -13856,7 +14042,7 @@ client = Brevo(
client.balance.get_transaction_history_api(
pid="pid",
contact_id=1,
- balance_definition_id="balance_definition_id",
+ balance_definition_id="balanceDefinitionId",
)
```
@@ -13905,7 +14091,7 @@ client.balance.get_transaction_history_api(
-
-**offset:** `typing.Optional[int]` — Skip a number of records
+**offset:** `typing.Optional[int]` — Page number to retrieve
@@ -13913,7 +14099,7 @@ client.balance.get_transaction_history_api(
-
-**sort_field:** `typing.Optional[GetLoyaltyBalanceProgramsPidTransactionHistoryRequestSortField]` — Field to sort by
+**sort_field:** `typing.Optional[typing.Literal]` — Field to sort by
@@ -13937,6 +14123,22 @@ client.balance.get_transaction_history_api(
-
+**status:** `typing.Optional[GetLoyaltyBalanceProgramsPidTransactionHistoryRequestStatus]` — Transaction status filter. Allowed values: draft, completed, rejected, cancelled, expired
+
+
+
+
+
+-
+
+**transaction_type:** `typing.Optional[GetLoyaltyBalanceProgramsPidTransactionHistoryRequestTransactionType]` — Transaction type filter. Allowed values: credit, debit
+
+
+
+
+
+-
+
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
@@ -14663,21 +14865,118 @@ client.program.delete_loyalty_program(
pid="pid",
)
-```
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**pid:** `str` — Loyalty Program ID. A unique identifier for the loyalty program.
+
+
+
+
+
+-
+
+**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
+
+
+
+
+
+
+
+
+
+
+
+client.program.partially_update_loyalty_program(...) -> LoyaltyProgram
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Partially updates loyalty program
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```python
+from brevo import Brevo
+from brevo.environment import BrevoEnvironment
+
+client = Brevo(
+ api_key="",
+ environment=BrevoEnvironment.DEFAULT,
+)
+
+client.program.partially_update_loyalty_program(
+ pid="pid",
+)
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**pid:** `str` — Loyalty Program ID. A unique identifier for the loyalty program.
+
+
+
+-
+
+**description:** `typing.Optional[str]` — Loyalty Program description
+
-#### ⚙️ Parameters
-
-
+**meta:** `typing.Optional[typing.Dict[str, typing.Any]]` — Loyalty Program meta data
+
+
+
+
-
-**pid:** `str` — Loyalty Program ID. A unique identifier for the loyalty program.
+**name:** `typing.Optional[str]` — Loyalty Program name
@@ -14697,7 +14996,7 @@ client.program.delete_loyalty_program(
-client.program.partially_update_loyalty_program(...) -> LoyaltyProgram
+client.program.get_parameter_subscription_info(...) -> GetParameterSubscriptionInfoResponse
-
@@ -14709,7 +15008,7 @@ client.program.delete_loyalty_program(
-
-Partially updates loyalty program
+Get Information of balances, tiers, rewards and subscription members for a subscription
@@ -14732,7 +15031,7 @@ client = Brevo(
environment=BrevoEnvironment.DEFAULT,
)
-client.program.partially_update_loyalty_program(
+client.program.get_parameter_subscription_info(
pid="pid",
)
@@ -14758,7 +15057,7 @@ client.program.partially_update_loyalty_program(
-
-**description:** `typing.Optional[str]` — Loyalty Program description
+**contact_id:** `typing.Optional[str]` — The contact ID to filter by.
@@ -14766,7 +15065,7 @@ client.program.partially_update_loyalty_program(
-
-**meta:** `typing.Optional[typing.Dict[str, typing.Any]]` — Loyalty Program meta data
+**params:** `typing.Optional[str]` — A list of filter parameters for querying the subscription info.
@@ -14774,7 +15073,15 @@ client.program.partially_update_loyalty_program(
-
-**name:** `typing.Optional[str]` — Loyalty Program name
+**loyalty_subscription_id:** `typing.Optional[str]` — The loyalty subscription ID to filter by.
+
+
+
+
+
+-
+
+**include_internal:** `typing.Optional[bool]` — Include balances tied to internal definitions.
@@ -14794,7 +15101,7 @@ client.program.partially_update_loyalty_program(
-client.program.get_parameter_subscription_info(...) -> GetParameterSubscriptionInfoResponse
+client.program.delete_contact_subscription(...)
-
@@ -14806,7 +15113,7 @@ client.program.partially_update_loyalty_program(
-
-Get Information of balances, tiers, rewards and subscription members for a subscription
+Delete subscription for a contact
@@ -14829,8 +15136,9 @@ client = Brevo(
environment=BrevoEnvironment.DEFAULT,
)
-client.program.get_parameter_subscription_info(
+client.program.delete_contact_subscription(
pid="pid",
+ cid=1,
)
```
@@ -14855,23 +15163,7 @@ client.program.get_parameter_subscription_info(
-
-**contact_id:** `typing.Optional[str]` — The contact ID to filter by.
-
-
-
-
-
--
-
-**params:** `typing.Optional[str]` — A list of filter parameters for querying the subscription info.
-
-
-
-
-
--
-
-**loyalty_subscription_id:** `typing.Optional[str]` — The loyalty subscription ID to filter by.
+**cid:** `int` — Contact ID.
@@ -16560,6 +16852,14 @@ client.tier.create_tier_group(
-
+**meta:** `typing.Optional[CreateTierGroupRequestMeta]` — Additional metadata for the tier group.
+
+
+
+
+
+-
+
**tier_order:** `typing.Optional[typing.List[str]]` — Order of the tiers in the group in ascending order
@@ -16786,6 +17086,14 @@ client.tier.update_tier_group(
-
+**meta:** `typing.Optional[UpdateTierGroupRequestMeta]` — Additional metadata for the tier group.
+
+
+
+
+
+-
+
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
@@ -17297,11 +17605,8 @@ client.tier.delete_tier(
-
-
-The response payload for this endpoint has changed
-
-You now need to specify which type of statistics you would like to retrieve. For more information visit [this page](https://developers.brevo.com/changelog/get-all-marketing-campaigns).
-
+The response payload for this endpoint has changed
+You now need to specify which type of statistics you would like to retrieve. For more information visit [this page](https://developers.brevo.com/changelog/get-all-marketing-campaigns).
@@ -17855,6 +18160,14 @@ client.email_campaigns.get_email_campaign(
-
+**exclude_html_content:** `typing.Optional[bool]` — Use this flag to exclude htmlContent from the response body. If set to **true**, htmlContent field will be returned as empty string in the response body
+
+
+
+
+
+-
+
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
@@ -19671,19 +19984,11 @@ client.whats_app_campaigns.get_whats_app_campaigns()
-
-
-You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
-
-[Activating Whatsapp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
-
-
-
-This API requires the List and Segment ids as recipients in Body params. You can use the below Contact endpoints to get the required information.
-
+You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
+[Activating Whatsapp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
+This API requires the List and Segment ids as recipients in Body params.You can use the below Contact endpoints to get the required information.
[Get all the Lists](https://developers.brevo.com/reference/getlists-1)
-
-[Get all the Segments](https://developers.brevo.com/reference/getsegments)
-
+[Get all the Segments](https://developers.brevo.com/reference/getsegments)
@@ -19784,11 +20089,8 @@ client.whats_app_campaigns.create_whats_app_campaign(
-
-
-You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
-
-[Activating WhatsApp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
-
+You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
+[Activating WhatsApp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
@@ -19851,11 +20153,8 @@ client.whats_app_campaigns.get_whats_app_config()
-
-
-You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
-
-[Activating WhatsApp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
-
+You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
+[Activating WhatsApp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
@@ -20079,11 +20378,8 @@ client.whats_app_campaigns.get_whats_app_templates()
-
-
-You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
-
-[Activating WhatsApp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
-
+You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
+[Activating WhatsApp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
@@ -20156,11 +20452,11 @@ client.whats_app_campaigns.send_whats_app_template_approval(
-
-
-You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
-
-[Activating Whatsapp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
-
+You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
+[Activating Whatsapp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
+This API requires the List and Segment ids as recipients in Body params.You can use the below Contact endpoints to get the required information.
+[Get all the Lists](https://developers.brevo.com/reference/getlists-1)
+[Get all the Segments](https://developers.brevo.com/reference/getsegments)
@@ -20233,19 +20529,11 @@ client.whats_app_campaigns.get_whats_app_campaign(
-
-
-You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
-
-[Activating Whatsapp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
-
-
-
-This API requires the List and Segment ids as recipients in Body params. You can use the below Contact endpoints to get the required information.
-
+You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
+[Activating Whatsapp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
+This API requires the List and Segment ids as recipients in Body params.You can use the below Contact endpoints to get the required information.
[Get all the Lists](https://developers.brevo.com/reference/getlists-1)
-
-[Get all the Segments](https://developers.brevo.com/reference/getsegments)
-
+[Get all the Segments](https://developers.brevo.com/reference/getsegments)
@@ -21095,6 +21383,148 @@ client.companies.create_a_company_deal_attribute(
+
+
+
+
+client.companies.delete_an_attribute(...)
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```python
+from brevo import Brevo
+from brevo.environment import BrevoEnvironment
+
+client = Brevo(
+ api_key="",
+ environment=BrevoEnvironment.DEFAULT,
+)
+
+client.companies.delete_an_attribute(
+ id="id",
+)
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**id:** `str` — Attribute ID
+
+
+
+
+
+-
+
+**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
+
+
+
+
+
+
+
+
+
+
+
+client.companies.update_an_attribute(...)
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```python
+from brevo import Brevo
+from brevo.environment import BrevoEnvironment
+
+client = Brevo(
+ api_key="",
+ environment=BrevoEnvironment.DEFAULT,
+)
+
+client.companies.update_an_attribute(
+ id="id",
+)
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**id:** `str` — Attribute ID
+
+
+
+
+
+-
+
+**label:** `typing.Optional[str]` — Attribute display label
+
+
+
+
+
+-
+
+**options_labels:** `typing.Optional[typing.List[PatchCrmAttributesIdRequestOptionsLabelsItem]]` — Updated labels for selectable options
+
+
+
+
+
+-
+
+**object_type:** `typing.Optional[PatchCrmAttributesIdRequestObjectType]` — The type of object the attribute belongs to, it cannot be updated after creation
+
+
+
+
+
+-
+
+**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
+
+
+
+
+
+
+
@@ -23295,7 +23725,8 @@ client.tasks.get_all_task_types()
-
-You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below. [Activating Whatsapp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
+You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
+[Activating Whatsapp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
This endpoint is used to send a WhatsApp message.
(**The first message you send using the API must contain a Template ID. You must create a template on WhatsApp on the Brevo platform to fetch the Template ID.**)
@@ -24471,13 +24902,9 @@ client.transactional_emails.get_transac_emails_list()
-
-
-You can get the uuid using either of the following methods:
-
+You can get the uuid using either of the following methods:
Send a GET request to https://api.brevo.com/v3/smtp/emails and pass the message_id in the url. Use your api-key to authenticate the request and you will get your uuid as a response.
-
-The uuid can also be fetched from the transactional logs page in your Brevo account, from the address URL.
-
+The uuid can also be fetched from the transactional logs page in your Brevo account, from the address URL.
@@ -25559,15 +25986,9 @@ client.transactional_emails.send_test_template(
-
-
-If the user includes stop code in the Transactional SMS, then it will be switched to Marketing SMS automatically and it will be interpreted as a Marketing SMS. To send Transactional SMS as Transactional, it is important not to use stop code.
-
-Note: For adding a stop code, client has to add reply STOP to [STOP_CODE] and the [STOP_CODE] will be replaced with the number.
-
-
-
-Transactional SMS can be sent at any time without time restrictions. However, if a message is categorized as Marketing, it must adhere to specific time restrictions. Messages sent outside of these restricted hours will experience delays and will be processed during allowable times. Specifically, Marketing SMS cannot be processed between 10pm and 8am, on Sundays, and on French public holidays.
-
+If the user includes stop code in the Transactional SMS, then it will be switched to Marketing SMS automatically and it will be interpreted as a Marketing SMS. To send Transactional SMS as Transactional, it is important not to use stop code.
+Note: For adding a stop code, client has to add reply STOP to [STOP_CODE] and the [STOP_CODE] will be replaced with the number.
+Transactional SMS can be sent at any time without time restrictions. However, if a message is categorized as Marketing, it must adhere to specific time restrictions. Messages sent outside of these restricted hours will experience delays and will be processed during allowable times. Specifically, Marketing SMS cannot be processed between 10pm and 8am, on Sundays, and on French public holidays.
diff --git a/src/brevo/__init__.py b/src/brevo/__init__.py
index 91df4ce..d7f792e 100644
--- a/src/brevo/__init__.py
+++ b/src/brevo/__init__.py
@@ -15,6 +15,9 @@
BalanceDefinition,
BalanceDefinitionBalanceAvailabilityDurationModifier,
BalanceLimit,
+ BatchAcceptedResponse,
+ BatchEventsResponse,
+ BatchEventsResponseErrorsItem,
BrevoError,
Cart,
Company,
@@ -48,6 +51,8 @@
GetContacts,
GetCouponCollection,
GetDeviceBrowserStats,
+ GetEventsList,
+ GetEventsListEventsItem,
GetExtendedCampaignOverview,
GetExtendedCampaignOverviewSender,
GetExtendedCampaignOverviewStatus,
@@ -67,6 +72,8 @@
GetWebhook,
GetWebhookChannel,
GetWebhookType,
+ InternalServerErrorBody,
+ InternalServerErrorBodyCode,
Inviteuser,
InviteuserPrivilegesItem,
InviteuserPrivilegesItemFeature,
@@ -202,7 +209,8 @@
GetContactBalancesResponse,
GetContactBalancesResponseBalancesItem,
GetLoyaltyBalanceProgramsPidTransactionHistoryRequestSort,
- GetLoyaltyBalanceProgramsPidTransactionHistoryRequestSortField,
+ GetLoyaltyBalanceProgramsPidTransactionHistoryRequestStatus,
+ GetLoyaltyBalanceProgramsPidTransactionHistoryRequestTransactionType,
GetLoyaltyBalanceProgramsPidTransactionHistoryResponse,
GetLoyaltyBalanceProgramsPidTransactionHistoryResponseTransactionHistoryItem,
GetSubscriptionBalancesResponse,
@@ -212,6 +220,7 @@
PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestBalanceOptionAmountOvertakingStrategy,
PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestBalanceOptionCreditRounding,
PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestBalanceOptionDebitRounding,
+ PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestMeta,
PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestUnit,
PostLoyaltyBalanceProgramsPidSubscriptionsCidBalancesResponse,
UpdateBalanceDefinitionRequestBalanceAvailabilityDurationModifier,
@@ -219,6 +228,7 @@
UpdateBalanceDefinitionRequestBalanceOptionAmountOvertakingStrategy,
UpdateBalanceDefinitionRequestBalanceOptionCreditRounding,
UpdateBalanceDefinitionRequestBalanceOptionDebitRounding,
+ UpdateBalanceDefinitionRequestMeta,
UpdateBalanceDefinitionRequestUnit,
UpdateBalanceLimitRequestConstraintType,
UpdateBalanceLimitRequestDurationUnit,
@@ -229,6 +239,8 @@
GetCompaniesRequestSort,
GetCompaniesResponse,
GetCrmAttributesCompaniesResponseItem,
+ PatchCrmAttributesIdRequestObjectType,
+ PatchCrmAttributesIdRequestOptionsLabelsItem,
PostCompaniesImportResponse,
PostCompaniesResponse,
PostCrmAttributesRequestAttributeType,
@@ -452,6 +464,12 @@
)
from .environment import BrevoEnvironment
from .event import (
+ CreateBatchEventsRequestItem,
+ CreateBatchEventsRequestItemContactPropertiesValue,
+ CreateBatchEventsRequestItemEventPropertiesValue,
+ CreateBatchEventsRequestItemIdentifiers,
+ CreateBatchEventsRequestItemObject,
+ CreateBatchEventsRequestItemObjectIdentifiers,
CreateEventRequestContactPropertiesValue,
CreateEventRequestEventPropertiesValue,
CreateEventRequestIdentifiers,
@@ -644,6 +662,7 @@
CreateTierForTierGroupRequestAccessConditionsItem,
CreateTierForTierGroupRequestTierRewardsItem,
CreateTierGroupRequestDowngradeStrategy,
+ CreateTierGroupRequestMeta,
CreateTierGroupRequestUpgradeStrategy,
GetListOfTierGroupsRequestVersion,
GetListOfTierGroupsResponse,
@@ -651,6 +670,7 @@
GetLoyaltyProgramTierResponse,
GetTierGroupRequestVersion,
UpdateTierGroupRequestDowngradeStrategy,
+ UpdateTierGroupRequestMeta,
UpdateTierGroupRequestUpgradeStrategy,
UpdateTierRequestAccessConditionsItem,
UpdateTierRequestTierRewardsItem,
@@ -799,10 +819,13 @@
"BalanceDefinition": ".types",
"BalanceDefinitionBalanceAvailabilityDurationModifier": ".types",
"BalanceLimit": ".types",
+ "BatchAcceptedResponse": ".types",
"BatchDeleteObjectRecordsRequestIdentifiers": ".custom_objects",
"BatchDeleteObjectRecordsRequestIdentifiersExtIds": ".custom_objects",
"BatchDeleteObjectRecordsRequestIdentifiersIds": ".custom_objects",
"BatchDeleteObjectRecordsResponse": ".custom_objects",
+ "BatchEventsResponse": ".types",
+ "BatchEventsResponseErrorsItem": ".types",
"Brevo": ".client",
"BrevoEnvironment": ".environment",
"BrevoError": ".types",
@@ -832,6 +855,12 @@
"CreateBalanceLimitRequestDurationUnit": ".balance",
"CreateBalanceLimitRequestTransactionType": ".balance",
"CreateBalanceOrderResponse": ".balance",
+ "CreateBatchEventsRequestItem": ".event",
+ "CreateBatchEventsRequestItemContactPropertiesValue": ".event",
+ "CreateBatchEventsRequestItemEventPropertiesValue": ".event",
+ "CreateBatchEventsRequestItemIdentifiers": ".event",
+ "CreateBatchEventsRequestItemObject": ".event",
+ "CreateBatchEventsRequestItemObjectIdentifiers": ".event",
"CreateBatchOrderResponse": ".ecommerce",
"CreateContactRequestAttributesValue": ".contacts",
"CreateContactResponse": ".contacts",
@@ -870,6 +899,7 @@
"CreateTierForTierGroupRequestAccessConditionsItem": ".tier",
"CreateTierForTierGroupRequestTierRewardsItem": ".tier",
"CreateTierGroupRequestDowngradeStrategy": ".tier",
+ "CreateTierGroupRequestMeta": ".tier",
"CreateTierGroupRequestUpgradeStrategy": ".tier",
"CreateUpdateBatchCategoryRequestCategoriesItem": ".ecommerce",
"CreateUpdateBatchCategoryResponse": ".ecommerce",
@@ -1083,6 +1113,8 @@
"GetEmailEventReportResponse": ".transactional_emails",
"GetEmailEventReportResponseEventsItem": ".transactional_emails",
"GetEmailEventReportResponseEventsItemEvent": ".transactional_emails",
+ "GetEventsList": ".types",
+ "GetEventsListEventsItem": ".types",
"GetExtendedCampaignOverview": ".types",
"GetExtendedCampaignOverviewSender": ".types",
"GetExtendedCampaignOverviewStatus": ".types",
@@ -1121,7 +1153,8 @@
"GetListsResponse": ".contacts",
"GetListsResponseListsItem": ".contacts",
"GetLoyaltyBalanceProgramsPidTransactionHistoryRequestSort": ".balance",
- "GetLoyaltyBalanceProgramsPidTransactionHistoryRequestSortField": ".balance",
+ "GetLoyaltyBalanceProgramsPidTransactionHistoryRequestStatus": ".balance",
+ "GetLoyaltyBalanceProgramsPidTransactionHistoryRequestTransactionType": ".balance",
"GetLoyaltyBalanceProgramsPidTransactionHistoryResponse": ".balance",
"GetLoyaltyBalanceProgramsPidTransactionHistoryResponseTransactionHistoryItem": ".balance",
"GetLoyaltyOfferProgramsPidOffersRequestVersion": ".reward",
@@ -1283,6 +1316,8 @@
"ImportContactsRequestNewList": ".contacts",
"ImportContactsResponse": ".contacts",
"InternalServerError": ".errors",
+ "InternalServerErrorBody": ".types",
+ "InternalServerErrorBodyCode": ".types",
"InviteAdminUserRequestPrivilegesItem": ".master_account",
"InviteAdminUserRequestPrivilegesItemFeature": ".master_account",
"InviteAdminUserRequestPrivilegesItemPermissionsItem": ".master_account",
@@ -1307,6 +1342,8 @@
"OrderIdentifiers": ".types",
"OrderMetaInfoValue": ".types",
"OrderProductsItem": ".types",
+ "PatchCrmAttributesIdRequestObjectType": ".companies",
+ "PatchCrmAttributesIdRequestOptionsLabelsItem": ".companies",
"PaymentRequiredError": ".errors",
"Pipeline": ".types",
"PipelineStagesItem": ".types",
@@ -1334,6 +1371,7 @@
"PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestBalanceOptionAmountOvertakingStrategy": ".balance",
"PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestBalanceOptionCreditRounding": ".balance",
"PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestBalanceOptionDebitRounding": ".balance",
+ "PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestMeta": ".balance",
"PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestUnit": ".balance",
"PostLoyaltyBalanceProgramsPidSubscriptionsCidBalancesResponse": ".balance",
"PostPreviewSmtpEmailTemplatesResponse": ".transactional_emails",
@@ -1424,6 +1462,7 @@
"UpdateBalanceDefinitionRequestBalanceOptionAmountOvertakingStrategy": ".balance",
"UpdateBalanceDefinitionRequestBalanceOptionCreditRounding": ".balance",
"UpdateBalanceDefinitionRequestBalanceOptionDebitRounding": ".balance",
+ "UpdateBalanceDefinitionRequestMeta": ".balance",
"UpdateBalanceDefinitionRequestUnit": ".balance",
"UpdateBalanceLimitRequestConstraintType": ".balance",
"UpdateBalanceLimitRequestDurationUnit": ".balance",
@@ -1446,6 +1485,7 @@
"UpdateSmsCampaignRequestRecipients": ".sms_campaigns",
"UpdateSmtpTemplateRequestSender": ".transactional_emails",
"UpdateTierGroupRequestDowngradeStrategy": ".tier",
+ "UpdateTierGroupRequestMeta": ".tier",
"UpdateTierGroupRequestUpgradeStrategy": ".tier",
"UpdateTierRequestAccessConditionsItem": ".tier",
"UpdateTierRequestTierRewardsItem": ".tier",
@@ -1545,10 +1585,13 @@ def __dir__():
"BalanceDefinition",
"BalanceDefinitionBalanceAvailabilityDurationModifier",
"BalanceLimit",
+ "BatchAcceptedResponse",
"BatchDeleteObjectRecordsRequestIdentifiers",
"BatchDeleteObjectRecordsRequestIdentifiersExtIds",
"BatchDeleteObjectRecordsRequestIdentifiersIds",
"BatchDeleteObjectRecordsResponse",
+ "BatchEventsResponse",
+ "BatchEventsResponseErrorsItem",
"Brevo",
"BrevoEnvironment",
"BrevoError",
@@ -1578,6 +1621,12 @@ def __dir__():
"CreateBalanceLimitRequestDurationUnit",
"CreateBalanceLimitRequestTransactionType",
"CreateBalanceOrderResponse",
+ "CreateBatchEventsRequestItem",
+ "CreateBatchEventsRequestItemContactPropertiesValue",
+ "CreateBatchEventsRequestItemEventPropertiesValue",
+ "CreateBatchEventsRequestItemIdentifiers",
+ "CreateBatchEventsRequestItemObject",
+ "CreateBatchEventsRequestItemObjectIdentifiers",
"CreateBatchOrderResponse",
"CreateContactRequestAttributesValue",
"CreateContactResponse",
@@ -1616,6 +1665,7 @@ def __dir__():
"CreateTierForTierGroupRequestAccessConditionsItem",
"CreateTierForTierGroupRequestTierRewardsItem",
"CreateTierGroupRequestDowngradeStrategy",
+ "CreateTierGroupRequestMeta",
"CreateTierGroupRequestUpgradeStrategy",
"CreateUpdateBatchCategoryRequestCategoriesItem",
"CreateUpdateBatchCategoryResponse",
@@ -1829,6 +1879,8 @@ def __dir__():
"GetEmailEventReportResponse",
"GetEmailEventReportResponseEventsItem",
"GetEmailEventReportResponseEventsItemEvent",
+ "GetEventsList",
+ "GetEventsListEventsItem",
"GetExtendedCampaignOverview",
"GetExtendedCampaignOverviewSender",
"GetExtendedCampaignOverviewStatus",
@@ -1867,7 +1919,8 @@ def __dir__():
"GetListsResponse",
"GetListsResponseListsItem",
"GetLoyaltyBalanceProgramsPidTransactionHistoryRequestSort",
- "GetLoyaltyBalanceProgramsPidTransactionHistoryRequestSortField",
+ "GetLoyaltyBalanceProgramsPidTransactionHistoryRequestStatus",
+ "GetLoyaltyBalanceProgramsPidTransactionHistoryRequestTransactionType",
"GetLoyaltyBalanceProgramsPidTransactionHistoryResponse",
"GetLoyaltyBalanceProgramsPidTransactionHistoryResponseTransactionHistoryItem",
"GetLoyaltyOfferProgramsPidOffersRequestVersion",
@@ -2029,6 +2082,8 @@ def __dir__():
"ImportContactsRequestNewList",
"ImportContactsResponse",
"InternalServerError",
+ "InternalServerErrorBody",
+ "InternalServerErrorBodyCode",
"InviteAdminUserRequestPrivilegesItem",
"InviteAdminUserRequestPrivilegesItemFeature",
"InviteAdminUserRequestPrivilegesItemPermissionsItem",
@@ -2053,6 +2108,8 @@ def __dir__():
"OrderIdentifiers",
"OrderMetaInfoValue",
"OrderProductsItem",
+ "PatchCrmAttributesIdRequestObjectType",
+ "PatchCrmAttributesIdRequestOptionsLabelsItem",
"PaymentRequiredError",
"Pipeline",
"PipelineStagesItem",
@@ -2080,6 +2137,7 @@ def __dir__():
"PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestBalanceOptionAmountOvertakingStrategy",
"PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestBalanceOptionCreditRounding",
"PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestBalanceOptionDebitRounding",
+ "PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestMeta",
"PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestUnit",
"PostLoyaltyBalanceProgramsPidSubscriptionsCidBalancesResponse",
"PostPreviewSmtpEmailTemplatesResponse",
@@ -2170,6 +2228,7 @@ def __dir__():
"UpdateBalanceDefinitionRequestBalanceOptionAmountOvertakingStrategy",
"UpdateBalanceDefinitionRequestBalanceOptionCreditRounding",
"UpdateBalanceDefinitionRequestBalanceOptionDebitRounding",
+ "UpdateBalanceDefinitionRequestMeta",
"UpdateBalanceDefinitionRequestUnit",
"UpdateBalanceLimitRequestConstraintType",
"UpdateBalanceLimitRequestDurationUnit",
@@ -2192,6 +2251,7 @@ def __dir__():
"UpdateSmsCampaignRequestRecipients",
"UpdateSmtpTemplateRequestSender",
"UpdateTierGroupRequestDowngradeStrategy",
+ "UpdateTierGroupRequestMeta",
"UpdateTierGroupRequestUpgradeStrategy",
"UpdateTierRequestAccessConditionsItem",
"UpdateTierRequestTierRewardsItem",
diff --git a/src/brevo/account/types/get_account_response_plan_verticals_item.py b/src/brevo/account/types/get_account_response_plan_verticals_item.py
index 5265b2c..d94a27b 100644
--- a/src/brevo/account/types/get_account_response_plan_verticals_item.py
+++ b/src/brevo/account/types/get_account_response_plan_verticals_item.py
@@ -43,7 +43,7 @@ class GetAccountResponsePlanVerticalsItem(UncheckedBaseModel):
FieldMetadata(alias="endDate"),
pydantic.Field(alias="endDate", description="Plan end date (Unix timestamp)"),
]
- users: GetAccountResponsePlanVerticalsItemUsers = pydantic.Field()
+ users: typing.Optional[GetAccountResponsePlanVerticalsItemUsers] = pydantic.Field(default=None)
"""
User seat information for the plan
"""
diff --git a/src/brevo/balance/__init__.py b/src/brevo/balance/__init__.py
index 80bcb3f..5ba917c 100644
--- a/src/brevo/balance/__init__.py
+++ b/src/brevo/balance/__init__.py
@@ -20,7 +20,8 @@
GetContactBalancesResponse,
GetContactBalancesResponseBalancesItem,
GetLoyaltyBalanceProgramsPidTransactionHistoryRequestSort,
- GetLoyaltyBalanceProgramsPidTransactionHistoryRequestSortField,
+ GetLoyaltyBalanceProgramsPidTransactionHistoryRequestStatus,
+ GetLoyaltyBalanceProgramsPidTransactionHistoryRequestTransactionType,
GetLoyaltyBalanceProgramsPidTransactionHistoryResponse,
GetLoyaltyBalanceProgramsPidTransactionHistoryResponseTransactionHistoryItem,
GetSubscriptionBalancesResponse,
@@ -30,6 +31,7 @@
PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestBalanceOptionAmountOvertakingStrategy,
PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestBalanceOptionCreditRounding,
PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestBalanceOptionDebitRounding,
+ PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestMeta,
PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestUnit,
PostLoyaltyBalanceProgramsPidSubscriptionsCidBalancesResponse,
UpdateBalanceDefinitionRequestBalanceAvailabilityDurationModifier,
@@ -37,6 +39,7 @@
UpdateBalanceDefinitionRequestBalanceOptionAmountOvertakingStrategy,
UpdateBalanceDefinitionRequestBalanceOptionCreditRounding,
UpdateBalanceDefinitionRequestBalanceOptionDebitRounding,
+ UpdateBalanceDefinitionRequestMeta,
UpdateBalanceDefinitionRequestUnit,
UpdateBalanceLimitRequestConstraintType,
UpdateBalanceLimitRequestDurationUnit,
@@ -56,7 +59,8 @@
"GetContactBalancesResponse": ".types",
"GetContactBalancesResponseBalancesItem": ".types",
"GetLoyaltyBalanceProgramsPidTransactionHistoryRequestSort": ".types",
- "GetLoyaltyBalanceProgramsPidTransactionHistoryRequestSortField": ".types",
+ "GetLoyaltyBalanceProgramsPidTransactionHistoryRequestStatus": ".types",
+ "GetLoyaltyBalanceProgramsPidTransactionHistoryRequestTransactionType": ".types",
"GetLoyaltyBalanceProgramsPidTransactionHistoryResponse": ".types",
"GetLoyaltyBalanceProgramsPidTransactionHistoryResponseTransactionHistoryItem": ".types",
"GetSubscriptionBalancesResponse": ".types",
@@ -66,6 +70,7 @@
"PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestBalanceOptionAmountOvertakingStrategy": ".types",
"PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestBalanceOptionCreditRounding": ".types",
"PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestBalanceOptionDebitRounding": ".types",
+ "PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestMeta": ".types",
"PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestUnit": ".types",
"PostLoyaltyBalanceProgramsPidSubscriptionsCidBalancesResponse": ".types",
"UpdateBalanceDefinitionRequestBalanceAvailabilityDurationModifier": ".types",
@@ -73,6 +78,7 @@
"UpdateBalanceDefinitionRequestBalanceOptionAmountOvertakingStrategy": ".types",
"UpdateBalanceDefinitionRequestBalanceOptionCreditRounding": ".types",
"UpdateBalanceDefinitionRequestBalanceOptionDebitRounding": ".types",
+ "UpdateBalanceDefinitionRequestMeta": ".types",
"UpdateBalanceDefinitionRequestUnit": ".types",
"UpdateBalanceLimitRequestConstraintType": ".types",
"UpdateBalanceLimitRequestDurationUnit": ".types",
@@ -115,7 +121,8 @@ def __dir__():
"GetContactBalancesResponse",
"GetContactBalancesResponseBalancesItem",
"GetLoyaltyBalanceProgramsPidTransactionHistoryRequestSort",
- "GetLoyaltyBalanceProgramsPidTransactionHistoryRequestSortField",
+ "GetLoyaltyBalanceProgramsPidTransactionHistoryRequestStatus",
+ "GetLoyaltyBalanceProgramsPidTransactionHistoryRequestTransactionType",
"GetLoyaltyBalanceProgramsPidTransactionHistoryResponse",
"GetLoyaltyBalanceProgramsPidTransactionHistoryResponseTransactionHistoryItem",
"GetSubscriptionBalancesResponse",
@@ -125,6 +132,7 @@ def __dir__():
"PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestBalanceOptionAmountOvertakingStrategy",
"PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestBalanceOptionCreditRounding",
"PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestBalanceOptionDebitRounding",
+ "PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestMeta",
"PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestUnit",
"PostLoyaltyBalanceProgramsPidSubscriptionsCidBalancesResponse",
"UpdateBalanceDefinitionRequestBalanceAvailabilityDurationModifier",
@@ -132,6 +140,7 @@ def __dir__():
"UpdateBalanceDefinitionRequestBalanceOptionAmountOvertakingStrategy",
"UpdateBalanceDefinitionRequestBalanceOptionCreditRounding",
"UpdateBalanceDefinitionRequestBalanceOptionDebitRounding",
+ "UpdateBalanceDefinitionRequestMeta",
"UpdateBalanceDefinitionRequestUnit",
"UpdateBalanceLimitRequestConstraintType",
"UpdateBalanceLimitRequestDurationUnit",
diff --git a/src/brevo/balance/client.py b/src/brevo/balance/client.py
index e63fb77..8b2ed58 100644
--- a/src/brevo/balance/client.py
+++ b/src/brevo/balance/client.py
@@ -23,8 +23,11 @@
from .types.get_loyalty_balance_programs_pid_transaction_history_request_sort import (
GetLoyaltyBalanceProgramsPidTransactionHistoryRequestSort,
)
-from .types.get_loyalty_balance_programs_pid_transaction_history_request_sort_field import (
- GetLoyaltyBalanceProgramsPidTransactionHistoryRequestSortField,
+from .types.get_loyalty_balance_programs_pid_transaction_history_request_status import (
+ GetLoyaltyBalanceProgramsPidTransactionHistoryRequestStatus,
+)
+from .types.get_loyalty_balance_programs_pid_transaction_history_request_transaction_type import (
+ GetLoyaltyBalanceProgramsPidTransactionHistoryRequestTransactionType,
)
from .types.get_loyalty_balance_programs_pid_transaction_history_response import (
GetLoyaltyBalanceProgramsPidTransactionHistoryResponse,
@@ -45,6 +48,9 @@
from .types.post_loyalty_balance_programs_pid_balance_definitions_request_balance_option_debit_rounding import (
PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestBalanceOptionDebitRounding,
)
+from .types.post_loyalty_balance_programs_pid_balance_definitions_request_meta import (
+ PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestMeta,
+)
from .types.post_loyalty_balance_programs_pid_balance_definitions_request_unit import (
PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestUnit,
)
@@ -66,6 +72,7 @@
from .types.update_balance_definition_request_balance_option_debit_rounding import (
UpdateBalanceDefinitionRequestBalanceOptionDebitRounding,
)
+from .types.update_balance_definition_request_meta import UpdateBalanceDefinitionRequestMeta
from .types.update_balance_definition_request_unit import UpdateBalanceDefinitionRequestUnit
from .types.update_balance_limit_request_constraint_type import UpdateBalanceLimitRequestConstraintType
from .types.update_balance_limit_request_duration_unit import UpdateBalanceLimitRequestDurationUnit
@@ -100,6 +107,7 @@ def get_active_balances_api(
offset: typing.Optional[int] = None,
sort_field: typing.Optional[str] = None,
sort: typing.Optional[str] = None,
+ include_internal: typing.Optional[bool] = None,
request_options: typing.Optional[RequestOptions] = None,
) -> BalanceLimit:
"""
@@ -128,6 +136,9 @@ def get_active_balances_api(
sort : typing.Optional[str]
Sort Order
+ include_internal : typing.Optional[bool]
+ Include balances tied to internal definitions.
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -157,6 +168,7 @@ def get_active_balances_api(
offset=offset,
sort_field=sort_field,
sort=sort,
+ include_internal=include_internal,
request_options=request_options,
)
return _response.data
@@ -253,7 +265,7 @@ def create_balance_definition(
max_amount: typing.Optional[float] = OMIT,
max_credit_amount_limit: typing.Optional[float] = OMIT,
max_debit_amount_limit: typing.Optional[float] = OMIT,
- meta: typing.Optional[typing.Dict[str, typing.Any]] = OMIT,
+ meta: typing.Optional[PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestMeta] = OMIT,
min_amount: typing.Optional[float] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
) -> BalanceDefinition:
@@ -307,7 +319,7 @@ def create_balance_definition(
max_debit_amount_limit : typing.Optional[float]
Maximum debit allowed per operation.
- meta : typing.Optional[typing.Dict[str, typing.Any]]
+ meta : typing.Optional[PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestMeta]
Additional metadata for the balance definition.
min_amount : typing.Optional[float]
@@ -428,7 +440,7 @@ def update_balance_definition(
max_amount: typing.Optional[float] = OMIT,
max_credit_amount_limit: typing.Optional[float] = OMIT,
max_debit_amount_limit: typing.Optional[float] = OMIT,
- meta: typing.Optional[typing.Dict[str, typing.Any]] = OMIT,
+ meta: typing.Optional[UpdateBalanceDefinitionRequestMeta] = OMIT,
min_amount: typing.Optional[float] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
) -> BalanceDefinition:
@@ -485,7 +497,7 @@ def update_balance_definition(
max_debit_amount_limit : typing.Optional[float]
Maximum debit allowed per operation.
- meta : typing.Optional[typing.Dict[str, typing.Any]]
+ meta : typing.Optional[UpdateBalanceDefinitionRequestMeta]
Optional metadata for the balance definition.
min_amount : typing.Optional[float]
@@ -831,7 +843,11 @@ def delete_balance_limit(
return _response.data
def get_contact_balances(
- self, pid: str, *, request_options: typing.Optional[RequestOptions] = None
+ self,
+ pid: str,
+ *,
+ include_internal: typing.Optional[bool] = None,
+ request_options: typing.Optional[RequestOptions] = None,
) -> GetContactBalancesResponse:
"""
Returns balance list
@@ -841,6 +857,9 @@ def get_contact_balances(
pid : str
Loyalty Program Id
+ include_internal : typing.Optional[bool]
+ Include balances tied to internal definitions.
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -860,7 +879,9 @@ def get_contact_balances(
pid="pid",
)
"""
- _response = self._raw_client.get_contact_balances(pid, request_options=request_options)
+ _response = self._raw_client.get_contact_balances(
+ pid, include_internal=include_internal, request_options=request_options
+ )
return _response.data
def create_balance_order(
@@ -943,7 +964,12 @@ def create_balance_order(
return _response.data
def get_subscription_balances(
- self, pid: str, cid: str, *, request_options: typing.Optional[RequestOptions] = None
+ self,
+ pid: str,
+ cid: str,
+ *,
+ include_internal: typing.Optional[bool] = None,
+ request_options: typing.Optional[RequestOptions] = None,
) -> GetSubscriptionBalancesResponse:
"""
Returns subscription balances
@@ -956,6 +982,9 @@ def get_subscription_balances(
cid : str
Contact Id
+ include_internal : typing.Optional[bool]
+ Include balances tied to internal definitions.
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -976,7 +1005,9 @@ def get_subscription_balances(
cid="cid",
)
"""
- _response = self._raw_client.get_subscription_balances(pid, cid, request_options=request_options)
+ _response = self._raw_client.get_subscription_balances(
+ pid, cid, include_internal=include_internal, request_options=request_options
+ )
return _response.data
def create_subscription_balances(
@@ -1030,9 +1061,11 @@ def get_transaction_history_api(
balance_definition_id: str,
limit: typing.Optional[int] = None,
offset: typing.Optional[int] = None,
- sort_field: typing.Optional[GetLoyaltyBalanceProgramsPidTransactionHistoryRequestSortField] = None,
+ sort_field: typing.Optional[typing.Literal["createdAt"]] = None,
sort: typing.Optional[GetLoyaltyBalanceProgramsPidTransactionHistoryRequestSort] = None,
filters: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
+ status: typing.Optional[GetLoyaltyBalanceProgramsPidTransactionHistoryRequestStatus] = None,
+ transaction_type: typing.Optional[GetLoyaltyBalanceProgramsPidTransactionHistoryRequestTransactionType] = None,
request_options: typing.Optional[RequestOptions] = None,
) -> GetLoyaltyBalanceProgramsPidTransactionHistoryResponse:
"""
@@ -1053,9 +1086,9 @@ def get_transaction_history_api(
Limit the number of records returned
offset : typing.Optional[int]
- Skip a number of records
+ Page number to retrieve
- sort_field : typing.Optional[GetLoyaltyBalanceProgramsPidTransactionHistoryRequestSortField]
+ sort_field : typing.Optional[typing.Literal["createdAt"]]
Field to sort by
sort : typing.Optional[GetLoyaltyBalanceProgramsPidTransactionHistoryRequestSort]
@@ -1064,6 +1097,12 @@ def get_transaction_history_api(
filters : typing.Optional[typing.Union[str, typing.Sequence[str]]]
Filters to apply
+ status : typing.Optional[GetLoyaltyBalanceProgramsPidTransactionHistoryRequestStatus]
+ Transaction status filter. Allowed values: draft, completed, rejected, cancelled, expired
+
+ transaction_type : typing.Optional[GetLoyaltyBalanceProgramsPidTransactionHistoryRequestTransactionType]
+ Transaction type filter. Allowed values: credit, debit
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -1082,7 +1121,7 @@ def get_transaction_history_api(
client.balance.get_transaction_history_api(
pid="pid",
contact_id=1,
- balance_definition_id="balance_definition_id",
+ balance_definition_id="balanceDefinitionId",
)
"""
_response = self._raw_client.get_transaction_history_api(
@@ -1094,6 +1133,8 @@ def get_transaction_history_api(
sort_field=sort_field,
sort=sort,
filters=filters,
+ status=status,
+ transaction_type=transaction_type,
request_options=request_options,
)
return _response.data
@@ -1284,6 +1325,7 @@ async def get_active_balances_api(
offset: typing.Optional[int] = None,
sort_field: typing.Optional[str] = None,
sort: typing.Optional[str] = None,
+ include_internal: typing.Optional[bool] = None,
request_options: typing.Optional[RequestOptions] = None,
) -> BalanceLimit:
"""
@@ -1312,6 +1354,9 @@ async def get_active_balances_api(
sort : typing.Optional[str]
Sort Order
+ include_internal : typing.Optional[bool]
+ Include balances tied to internal definitions.
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -1349,6 +1394,7 @@ async def main() -> None:
offset=offset,
sort_field=sort_field,
sort=sort,
+ include_internal=include_internal,
request_options=request_options,
)
return _response.data
@@ -1453,7 +1499,7 @@ async def create_balance_definition(
max_amount: typing.Optional[float] = OMIT,
max_credit_amount_limit: typing.Optional[float] = OMIT,
max_debit_amount_limit: typing.Optional[float] = OMIT,
- meta: typing.Optional[typing.Dict[str, typing.Any]] = OMIT,
+ meta: typing.Optional[PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestMeta] = OMIT,
min_amount: typing.Optional[float] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
) -> BalanceDefinition:
@@ -1507,7 +1553,7 @@ async def create_balance_definition(
max_debit_amount_limit : typing.Optional[float]
Maximum debit allowed per operation.
- meta : typing.Optional[typing.Dict[str, typing.Any]]
+ meta : typing.Optional[PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestMeta]
Additional metadata for the balance definition.
min_amount : typing.Optional[float]
@@ -1646,7 +1692,7 @@ async def update_balance_definition(
max_amount: typing.Optional[float] = OMIT,
max_credit_amount_limit: typing.Optional[float] = OMIT,
max_debit_amount_limit: typing.Optional[float] = OMIT,
- meta: typing.Optional[typing.Dict[str, typing.Any]] = OMIT,
+ meta: typing.Optional[UpdateBalanceDefinitionRequestMeta] = OMIT,
min_amount: typing.Optional[float] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
) -> BalanceDefinition:
@@ -1703,7 +1749,7 @@ async def update_balance_definition(
max_debit_amount_limit : typing.Optional[float]
Maximum debit allowed per operation.
- meta : typing.Optional[typing.Dict[str, typing.Any]]
+ meta : typing.Optional[UpdateBalanceDefinitionRequestMeta]
Optional metadata for the balance definition.
min_amount : typing.Optional[float]
@@ -2097,7 +2143,11 @@ async def main() -> None:
return _response.data
async def get_contact_balances(
- self, pid: str, *, request_options: typing.Optional[RequestOptions] = None
+ self,
+ pid: str,
+ *,
+ include_internal: typing.Optional[bool] = None,
+ request_options: typing.Optional[RequestOptions] = None,
) -> GetContactBalancesResponse:
"""
Returns balance list
@@ -2107,6 +2157,9 @@ async def get_contact_balances(
pid : str
Loyalty Program Id
+ include_internal : typing.Optional[bool]
+ Include balances tied to internal definitions.
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -2134,7 +2187,9 @@ async def main() -> None:
asyncio.run(main())
"""
- _response = await self._raw_client.get_contact_balances(pid, request_options=request_options)
+ _response = await self._raw_client.get_contact_balances(
+ pid, include_internal=include_internal, request_options=request_options
+ )
return _response.data
async def create_balance_order(
@@ -2225,7 +2280,12 @@ async def main() -> None:
return _response.data
async def get_subscription_balances(
- self, pid: str, cid: str, *, request_options: typing.Optional[RequestOptions] = None
+ self,
+ pid: str,
+ cid: str,
+ *,
+ include_internal: typing.Optional[bool] = None,
+ request_options: typing.Optional[RequestOptions] = None,
) -> GetSubscriptionBalancesResponse:
"""
Returns subscription balances
@@ -2238,6 +2298,9 @@ async def get_subscription_balances(
cid : str
Contact Id
+ include_internal : typing.Optional[bool]
+ Include balances tied to internal definitions.
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -2266,7 +2329,9 @@ async def main() -> None:
asyncio.run(main())
"""
- _response = await self._raw_client.get_subscription_balances(pid, cid, request_options=request_options)
+ _response = await self._raw_client.get_subscription_balances(
+ pid, cid, include_internal=include_internal, request_options=request_options
+ )
return _response.data
async def create_subscription_balances(
@@ -2328,9 +2393,11 @@ async def get_transaction_history_api(
balance_definition_id: str,
limit: typing.Optional[int] = None,
offset: typing.Optional[int] = None,
- sort_field: typing.Optional[GetLoyaltyBalanceProgramsPidTransactionHistoryRequestSortField] = None,
+ sort_field: typing.Optional[typing.Literal["createdAt"]] = None,
sort: typing.Optional[GetLoyaltyBalanceProgramsPidTransactionHistoryRequestSort] = None,
filters: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
+ status: typing.Optional[GetLoyaltyBalanceProgramsPidTransactionHistoryRequestStatus] = None,
+ transaction_type: typing.Optional[GetLoyaltyBalanceProgramsPidTransactionHistoryRequestTransactionType] = None,
request_options: typing.Optional[RequestOptions] = None,
) -> GetLoyaltyBalanceProgramsPidTransactionHistoryResponse:
"""
@@ -2351,9 +2418,9 @@ async def get_transaction_history_api(
Limit the number of records returned
offset : typing.Optional[int]
- Skip a number of records
+ Page number to retrieve
- sort_field : typing.Optional[GetLoyaltyBalanceProgramsPidTransactionHistoryRequestSortField]
+ sort_field : typing.Optional[typing.Literal["createdAt"]]
Field to sort by
sort : typing.Optional[GetLoyaltyBalanceProgramsPidTransactionHistoryRequestSort]
@@ -2362,6 +2429,12 @@ async def get_transaction_history_api(
filters : typing.Optional[typing.Union[str, typing.Sequence[str]]]
Filters to apply
+ status : typing.Optional[GetLoyaltyBalanceProgramsPidTransactionHistoryRequestStatus]
+ Transaction status filter. Allowed values: draft, completed, rejected, cancelled, expired
+
+ transaction_type : typing.Optional[GetLoyaltyBalanceProgramsPidTransactionHistoryRequestTransactionType]
+ Transaction type filter. Allowed values: credit, debit
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -2385,7 +2458,7 @@ async def main() -> None:
await client.balance.get_transaction_history_api(
pid="pid",
contact_id=1,
- balance_definition_id="balance_definition_id",
+ balance_definition_id="balanceDefinitionId",
)
@@ -2400,6 +2473,8 @@ async def main() -> None:
sort_field=sort_field,
sort=sort,
filters=filters,
+ status=status,
+ transaction_type=transaction_type,
request_options=request_options,
)
return _response.data
diff --git a/src/brevo/balance/raw_client.py b/src/brevo/balance/raw_client.py
index e5d2dc6..89a577b 100644
--- a/src/brevo/balance/raw_client.py
+++ b/src/brevo/balance/raw_client.py
@@ -10,6 +10,7 @@
from ..core.jsonable_encoder import jsonable_encoder
from ..core.parse_error import ParsingError
from ..core.request_options import RequestOptions
+from ..core.serialization import convert_and_respect_annotation_metadata
from ..core.unchecked_base_model import construct_type
from ..errors.failed_dependency_error import FailedDependencyError
from ..errors.forbidden_error import ForbiddenError
@@ -35,8 +36,11 @@
from .types.get_loyalty_balance_programs_pid_transaction_history_request_sort import (
GetLoyaltyBalanceProgramsPidTransactionHistoryRequestSort,
)
-from .types.get_loyalty_balance_programs_pid_transaction_history_request_sort_field import (
- GetLoyaltyBalanceProgramsPidTransactionHistoryRequestSortField,
+from .types.get_loyalty_balance_programs_pid_transaction_history_request_status import (
+ GetLoyaltyBalanceProgramsPidTransactionHistoryRequestStatus,
+)
+from .types.get_loyalty_balance_programs_pid_transaction_history_request_transaction_type import (
+ GetLoyaltyBalanceProgramsPidTransactionHistoryRequestTransactionType,
)
from .types.get_loyalty_balance_programs_pid_transaction_history_response import (
GetLoyaltyBalanceProgramsPidTransactionHistoryResponse,
@@ -57,6 +61,9 @@
from .types.post_loyalty_balance_programs_pid_balance_definitions_request_balance_option_debit_rounding import (
PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestBalanceOptionDebitRounding,
)
+from .types.post_loyalty_balance_programs_pid_balance_definitions_request_meta import (
+ PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestMeta,
+)
from .types.post_loyalty_balance_programs_pid_balance_definitions_request_unit import (
PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestUnit,
)
@@ -78,6 +85,7 @@
from .types.update_balance_definition_request_balance_option_debit_rounding import (
UpdateBalanceDefinitionRequestBalanceOptionDebitRounding,
)
+from .types.update_balance_definition_request_meta import UpdateBalanceDefinitionRequestMeta
from .types.update_balance_definition_request_unit import UpdateBalanceDefinitionRequestUnit
from .types.update_balance_limit_request_constraint_type import UpdateBalanceLimitRequestConstraintType
from .types.update_balance_limit_request_duration_unit import UpdateBalanceLimitRequestDurationUnit
@@ -102,6 +110,7 @@ def get_active_balances_api(
offset: typing.Optional[int] = None,
sort_field: typing.Optional[str] = None,
sort: typing.Optional[str] = None,
+ include_internal: typing.Optional[bool] = None,
request_options: typing.Optional[RequestOptions] = None,
) -> HttpResponse[BalanceLimit]:
"""
@@ -130,6 +139,9 @@ def get_active_balances_api(
sort : typing.Optional[str]
Sort Order
+ include_internal : typing.Optional[bool]
+ Include balances tied to internal definitions.
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -148,6 +160,7 @@ def get_active_balances_api(
"sort": sort,
"contact_id": contact_id,
"balance_definition_id": balance_definition_id,
+ "includeInternal": include_internal,
},
request_options=request_options,
)
@@ -370,7 +383,7 @@ def create_balance_definition(
max_amount: typing.Optional[float] = OMIT,
max_credit_amount_limit: typing.Optional[float] = OMIT,
max_debit_amount_limit: typing.Optional[float] = OMIT,
- meta: typing.Optional[typing.Dict[str, typing.Any]] = OMIT,
+ meta: typing.Optional[PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestMeta] = OMIT,
min_amount: typing.Optional[float] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
) -> HttpResponse[BalanceDefinition]:
@@ -424,7 +437,7 @@ def create_balance_definition(
max_debit_amount_limit : typing.Optional[float]
Maximum debit allowed per operation.
- meta : typing.Optional[typing.Dict[str, typing.Any]]
+ meta : typing.Optional[PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestMeta]
Additional metadata for the balance definition.
min_amount : typing.Optional[float]
@@ -454,7 +467,11 @@ def create_balance_definition(
"maxAmount": max_amount,
"maxCreditAmountLimit": max_credit_amount_limit,
"maxDebitAmountLimit": max_debit_amount_limit,
- "meta": meta,
+ "meta": convert_and_respect_annotation_metadata(
+ object_=meta,
+ annotation=PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestMeta,
+ direction="write",
+ ),
"minAmount": min_amount,
"name": name,
"unit": unit,
@@ -678,7 +695,7 @@ def update_balance_definition(
max_amount: typing.Optional[float] = OMIT,
max_credit_amount_limit: typing.Optional[float] = OMIT,
max_debit_amount_limit: typing.Optional[float] = OMIT,
- meta: typing.Optional[typing.Dict[str, typing.Any]] = OMIT,
+ meta: typing.Optional[UpdateBalanceDefinitionRequestMeta] = OMIT,
min_amount: typing.Optional[float] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
) -> HttpResponse[BalanceDefinition]:
@@ -735,7 +752,7 @@ def update_balance_definition(
max_debit_amount_limit : typing.Optional[float]
Maximum debit allowed per operation.
- meta : typing.Optional[typing.Dict[str, typing.Any]]
+ meta : typing.Optional[UpdateBalanceDefinitionRequestMeta]
Optional metadata for the balance definition.
min_amount : typing.Optional[float]
@@ -765,7 +782,9 @@ def update_balance_definition(
"maxAmount": max_amount,
"maxCreditAmountLimit": max_credit_amount_limit,
"maxDebitAmountLimit": max_debit_amount_limit,
- "meta": meta,
+ "meta": convert_and_respect_annotation_metadata(
+ object_=meta, annotation=UpdateBalanceDefinitionRequestMeta, direction="write"
+ ),
"minAmount": min_amount,
"name": name,
"unit": unit,
@@ -1453,7 +1472,11 @@ def delete_balance_limit(
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
def get_contact_balances(
- self, pid: str, *, request_options: typing.Optional[RequestOptions] = None
+ self,
+ pid: str,
+ *,
+ include_internal: typing.Optional[bool] = None,
+ request_options: typing.Optional[RequestOptions] = None,
) -> HttpResponse[GetContactBalancesResponse]:
"""
Returns balance list
@@ -1463,6 +1486,9 @@ def get_contact_balances(
pid : str
Loyalty Program Id
+ include_internal : typing.Optional[bool]
+ Include balances tied to internal definitions.
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -1474,6 +1500,9 @@ def get_contact_balances(
_response = self._client_wrapper.httpx_client.request(
f"loyalty/balance/programs/{jsonable_encoder(pid)}/contact-balances",
method="GET",
+ params={
+ "includeInternal": include_internal,
+ },
request_options=request_options,
)
try:
@@ -1682,7 +1711,12 @@ def create_balance_order(
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
def get_subscription_balances(
- self, pid: str, cid: str, *, request_options: typing.Optional[RequestOptions] = None
+ self,
+ pid: str,
+ cid: str,
+ *,
+ include_internal: typing.Optional[bool] = None,
+ request_options: typing.Optional[RequestOptions] = None,
) -> HttpResponse[GetSubscriptionBalancesResponse]:
"""
Returns subscription balances
@@ -1695,6 +1729,9 @@ def get_subscription_balances(
cid : str
Contact Id
+ include_internal : typing.Optional[bool]
+ Include balances tied to internal definitions.
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -1706,6 +1743,9 @@ def get_subscription_balances(
_response = self._client_wrapper.httpx_client.request(
f"loyalty/balance/programs/{jsonable_encoder(pid)}/subscriptions/{jsonable_encoder(cid)}/balances",
method="GET",
+ params={
+ "includeInternal": include_internal,
+ },
request_options=request_options,
)
try:
@@ -1901,9 +1941,11 @@ def get_transaction_history_api(
balance_definition_id: str,
limit: typing.Optional[int] = None,
offset: typing.Optional[int] = None,
- sort_field: typing.Optional[GetLoyaltyBalanceProgramsPidTransactionHistoryRequestSortField] = None,
+ sort_field: typing.Optional[typing.Literal["createdAt"]] = None,
sort: typing.Optional[GetLoyaltyBalanceProgramsPidTransactionHistoryRequestSort] = None,
filters: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
+ status: typing.Optional[GetLoyaltyBalanceProgramsPidTransactionHistoryRequestStatus] = None,
+ transaction_type: typing.Optional[GetLoyaltyBalanceProgramsPidTransactionHistoryRequestTransactionType] = None,
request_options: typing.Optional[RequestOptions] = None,
) -> HttpResponse[GetLoyaltyBalanceProgramsPidTransactionHistoryResponse]:
"""
@@ -1924,9 +1966,9 @@ def get_transaction_history_api(
Limit the number of records returned
offset : typing.Optional[int]
- Skip a number of records
+ Page number to retrieve
- sort_field : typing.Optional[GetLoyaltyBalanceProgramsPidTransactionHistoryRequestSortField]
+ sort_field : typing.Optional[typing.Literal["createdAt"]]
Field to sort by
sort : typing.Optional[GetLoyaltyBalanceProgramsPidTransactionHistoryRequestSort]
@@ -1935,6 +1977,12 @@ def get_transaction_history_api(
filters : typing.Optional[typing.Union[str, typing.Sequence[str]]]
Filters to apply
+ status : typing.Optional[GetLoyaltyBalanceProgramsPidTransactionHistoryRequestStatus]
+ Transaction status filter. Allowed values: draft, completed, rejected, cancelled, expired
+
+ transaction_type : typing.Optional[GetLoyaltyBalanceProgramsPidTransactionHistoryRequestTransactionType]
+ Transaction type filter. Allowed values: credit, debit
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -1949,11 +1997,13 @@ def get_transaction_history_api(
params={
"limit": limit,
"offset": offset,
- "sort_field": sort_field,
+ "sortField": sort_field,
"sort": sort,
- "contact_id": contact_id,
- "balance_definition_id": balance_definition_id,
+ "contactId": contact_id,
+ "balanceDefinitionId": balance_definition_id,
"filters": filters,
+ "status": status,
+ "transactionType": transaction_type,
},
request_options=request_options,
)
@@ -2400,6 +2450,7 @@ async def get_active_balances_api(
offset: typing.Optional[int] = None,
sort_field: typing.Optional[str] = None,
sort: typing.Optional[str] = None,
+ include_internal: typing.Optional[bool] = None,
request_options: typing.Optional[RequestOptions] = None,
) -> AsyncHttpResponse[BalanceLimit]:
"""
@@ -2428,6 +2479,9 @@ async def get_active_balances_api(
sort : typing.Optional[str]
Sort Order
+ include_internal : typing.Optional[bool]
+ Include balances tied to internal definitions.
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -2446,6 +2500,7 @@ async def get_active_balances_api(
"sort": sort,
"contact_id": contact_id,
"balance_definition_id": balance_definition_id,
+ "includeInternal": include_internal,
},
request_options=request_options,
)
@@ -2668,7 +2723,7 @@ async def create_balance_definition(
max_amount: typing.Optional[float] = OMIT,
max_credit_amount_limit: typing.Optional[float] = OMIT,
max_debit_amount_limit: typing.Optional[float] = OMIT,
- meta: typing.Optional[typing.Dict[str, typing.Any]] = OMIT,
+ meta: typing.Optional[PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestMeta] = OMIT,
min_amount: typing.Optional[float] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
) -> AsyncHttpResponse[BalanceDefinition]:
@@ -2722,7 +2777,7 @@ async def create_balance_definition(
max_debit_amount_limit : typing.Optional[float]
Maximum debit allowed per operation.
- meta : typing.Optional[typing.Dict[str, typing.Any]]
+ meta : typing.Optional[PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestMeta]
Additional metadata for the balance definition.
min_amount : typing.Optional[float]
@@ -2752,7 +2807,11 @@ async def create_balance_definition(
"maxAmount": max_amount,
"maxCreditAmountLimit": max_credit_amount_limit,
"maxDebitAmountLimit": max_debit_amount_limit,
- "meta": meta,
+ "meta": convert_and_respect_annotation_metadata(
+ object_=meta,
+ annotation=PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestMeta,
+ direction="write",
+ ),
"minAmount": min_amount,
"name": name,
"unit": unit,
@@ -2976,7 +3035,7 @@ async def update_balance_definition(
max_amount: typing.Optional[float] = OMIT,
max_credit_amount_limit: typing.Optional[float] = OMIT,
max_debit_amount_limit: typing.Optional[float] = OMIT,
- meta: typing.Optional[typing.Dict[str, typing.Any]] = OMIT,
+ meta: typing.Optional[UpdateBalanceDefinitionRequestMeta] = OMIT,
min_amount: typing.Optional[float] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
) -> AsyncHttpResponse[BalanceDefinition]:
@@ -3033,7 +3092,7 @@ async def update_balance_definition(
max_debit_amount_limit : typing.Optional[float]
Maximum debit allowed per operation.
- meta : typing.Optional[typing.Dict[str, typing.Any]]
+ meta : typing.Optional[UpdateBalanceDefinitionRequestMeta]
Optional metadata for the balance definition.
min_amount : typing.Optional[float]
@@ -3063,7 +3122,9 @@ async def update_balance_definition(
"maxAmount": max_amount,
"maxCreditAmountLimit": max_credit_amount_limit,
"maxDebitAmountLimit": max_debit_amount_limit,
- "meta": meta,
+ "meta": convert_and_respect_annotation_metadata(
+ object_=meta, annotation=UpdateBalanceDefinitionRequestMeta, direction="write"
+ ),
"minAmount": min_amount,
"name": name,
"unit": unit,
@@ -3751,7 +3812,11 @@ async def delete_balance_limit(
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
async def get_contact_balances(
- self, pid: str, *, request_options: typing.Optional[RequestOptions] = None
+ self,
+ pid: str,
+ *,
+ include_internal: typing.Optional[bool] = None,
+ request_options: typing.Optional[RequestOptions] = None,
) -> AsyncHttpResponse[GetContactBalancesResponse]:
"""
Returns balance list
@@ -3761,6 +3826,9 @@ async def get_contact_balances(
pid : str
Loyalty Program Id
+ include_internal : typing.Optional[bool]
+ Include balances tied to internal definitions.
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -3772,6 +3840,9 @@ async def get_contact_balances(
_response = await self._client_wrapper.httpx_client.request(
f"loyalty/balance/programs/{jsonable_encoder(pid)}/contact-balances",
method="GET",
+ params={
+ "includeInternal": include_internal,
+ },
request_options=request_options,
)
try:
@@ -3980,7 +4051,12 @@ async def create_balance_order(
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
async def get_subscription_balances(
- self, pid: str, cid: str, *, request_options: typing.Optional[RequestOptions] = None
+ self,
+ pid: str,
+ cid: str,
+ *,
+ include_internal: typing.Optional[bool] = None,
+ request_options: typing.Optional[RequestOptions] = None,
) -> AsyncHttpResponse[GetSubscriptionBalancesResponse]:
"""
Returns subscription balances
@@ -3993,6 +4069,9 @@ async def get_subscription_balances(
cid : str
Contact Id
+ include_internal : typing.Optional[bool]
+ Include balances tied to internal definitions.
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -4004,6 +4083,9 @@ async def get_subscription_balances(
_response = await self._client_wrapper.httpx_client.request(
f"loyalty/balance/programs/{jsonable_encoder(pid)}/subscriptions/{jsonable_encoder(cid)}/balances",
method="GET",
+ params={
+ "includeInternal": include_internal,
+ },
request_options=request_options,
)
try:
@@ -4199,9 +4281,11 @@ async def get_transaction_history_api(
balance_definition_id: str,
limit: typing.Optional[int] = None,
offset: typing.Optional[int] = None,
- sort_field: typing.Optional[GetLoyaltyBalanceProgramsPidTransactionHistoryRequestSortField] = None,
+ sort_field: typing.Optional[typing.Literal["createdAt"]] = None,
sort: typing.Optional[GetLoyaltyBalanceProgramsPidTransactionHistoryRequestSort] = None,
filters: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
+ status: typing.Optional[GetLoyaltyBalanceProgramsPidTransactionHistoryRequestStatus] = None,
+ transaction_type: typing.Optional[GetLoyaltyBalanceProgramsPidTransactionHistoryRequestTransactionType] = None,
request_options: typing.Optional[RequestOptions] = None,
) -> AsyncHttpResponse[GetLoyaltyBalanceProgramsPidTransactionHistoryResponse]:
"""
@@ -4222,9 +4306,9 @@ async def get_transaction_history_api(
Limit the number of records returned
offset : typing.Optional[int]
- Skip a number of records
+ Page number to retrieve
- sort_field : typing.Optional[GetLoyaltyBalanceProgramsPidTransactionHistoryRequestSortField]
+ sort_field : typing.Optional[typing.Literal["createdAt"]]
Field to sort by
sort : typing.Optional[GetLoyaltyBalanceProgramsPidTransactionHistoryRequestSort]
@@ -4233,6 +4317,12 @@ async def get_transaction_history_api(
filters : typing.Optional[typing.Union[str, typing.Sequence[str]]]
Filters to apply
+ status : typing.Optional[GetLoyaltyBalanceProgramsPidTransactionHistoryRequestStatus]
+ Transaction status filter. Allowed values: draft, completed, rejected, cancelled, expired
+
+ transaction_type : typing.Optional[GetLoyaltyBalanceProgramsPidTransactionHistoryRequestTransactionType]
+ Transaction type filter. Allowed values: credit, debit
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -4247,11 +4337,13 @@ async def get_transaction_history_api(
params={
"limit": limit,
"offset": offset,
- "sort_field": sort_field,
+ "sortField": sort_field,
"sort": sort,
- "contact_id": contact_id,
- "balance_definition_id": balance_definition_id,
+ "contactId": contact_id,
+ "balanceDefinitionId": balance_definition_id,
"filters": filters,
+ "status": status,
+ "transactionType": transaction_type,
},
request_options=request_options,
)
diff --git a/src/brevo/balance/types/__init__.py b/src/brevo/balance/types/__init__.py
index ae6894a..a3dc1a0 100644
--- a/src/brevo/balance/types/__init__.py
+++ b/src/brevo/balance/types/__init__.py
@@ -21,8 +21,11 @@
from .get_loyalty_balance_programs_pid_transaction_history_request_sort import (
GetLoyaltyBalanceProgramsPidTransactionHistoryRequestSort,
)
- from .get_loyalty_balance_programs_pid_transaction_history_request_sort_field import (
- GetLoyaltyBalanceProgramsPidTransactionHistoryRequestSortField,
+ from .get_loyalty_balance_programs_pid_transaction_history_request_status import (
+ GetLoyaltyBalanceProgramsPidTransactionHistoryRequestStatus,
+ )
+ from .get_loyalty_balance_programs_pid_transaction_history_request_transaction_type import (
+ GetLoyaltyBalanceProgramsPidTransactionHistoryRequestTransactionType,
)
from .get_loyalty_balance_programs_pid_transaction_history_response import (
GetLoyaltyBalanceProgramsPidTransactionHistoryResponse,
@@ -47,6 +50,9 @@
from .post_loyalty_balance_programs_pid_balance_definitions_request_balance_option_debit_rounding import (
PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestBalanceOptionDebitRounding,
)
+ from .post_loyalty_balance_programs_pid_balance_definitions_request_meta import (
+ PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestMeta,
+ )
from .post_loyalty_balance_programs_pid_balance_definitions_request_unit import (
PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestUnit,
)
@@ -68,6 +74,7 @@
from .update_balance_definition_request_balance_option_debit_rounding import (
UpdateBalanceDefinitionRequestBalanceOptionDebitRounding,
)
+ from .update_balance_definition_request_meta import UpdateBalanceDefinitionRequestMeta
from .update_balance_definition_request_unit import UpdateBalanceDefinitionRequestUnit
from .update_balance_limit_request_constraint_type import UpdateBalanceLimitRequestConstraintType
from .update_balance_limit_request_duration_unit import UpdateBalanceLimitRequestDurationUnit
@@ -86,7 +93,8 @@
"GetContactBalancesResponse": ".get_contact_balances_response",
"GetContactBalancesResponseBalancesItem": ".get_contact_balances_response_balances_item",
"GetLoyaltyBalanceProgramsPidTransactionHistoryRequestSort": ".get_loyalty_balance_programs_pid_transaction_history_request_sort",
- "GetLoyaltyBalanceProgramsPidTransactionHistoryRequestSortField": ".get_loyalty_balance_programs_pid_transaction_history_request_sort_field",
+ "GetLoyaltyBalanceProgramsPidTransactionHistoryRequestStatus": ".get_loyalty_balance_programs_pid_transaction_history_request_status",
+ "GetLoyaltyBalanceProgramsPidTransactionHistoryRequestTransactionType": ".get_loyalty_balance_programs_pid_transaction_history_request_transaction_type",
"GetLoyaltyBalanceProgramsPidTransactionHistoryResponse": ".get_loyalty_balance_programs_pid_transaction_history_response",
"GetLoyaltyBalanceProgramsPidTransactionHistoryResponseTransactionHistoryItem": ".get_loyalty_balance_programs_pid_transaction_history_response_transaction_history_item",
"GetSubscriptionBalancesResponse": ".get_subscription_balances_response",
@@ -96,6 +104,7 @@
"PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestBalanceOptionAmountOvertakingStrategy": ".post_loyalty_balance_programs_pid_balance_definitions_request_balance_option_amount_overtaking_strategy",
"PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestBalanceOptionCreditRounding": ".post_loyalty_balance_programs_pid_balance_definitions_request_balance_option_credit_rounding",
"PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestBalanceOptionDebitRounding": ".post_loyalty_balance_programs_pid_balance_definitions_request_balance_option_debit_rounding",
+ "PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestMeta": ".post_loyalty_balance_programs_pid_balance_definitions_request_meta",
"PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestUnit": ".post_loyalty_balance_programs_pid_balance_definitions_request_unit",
"PostLoyaltyBalanceProgramsPidSubscriptionsCidBalancesResponse": ".post_loyalty_balance_programs_pid_subscriptions_cid_balances_response",
"UpdateBalanceDefinitionRequestBalanceAvailabilityDurationModifier": ".update_balance_definition_request_balance_availability_duration_modifier",
@@ -103,6 +112,7 @@
"UpdateBalanceDefinitionRequestBalanceOptionAmountOvertakingStrategy": ".update_balance_definition_request_balance_option_amount_overtaking_strategy",
"UpdateBalanceDefinitionRequestBalanceOptionCreditRounding": ".update_balance_definition_request_balance_option_credit_rounding",
"UpdateBalanceDefinitionRequestBalanceOptionDebitRounding": ".update_balance_definition_request_balance_option_debit_rounding",
+ "UpdateBalanceDefinitionRequestMeta": ".update_balance_definition_request_meta",
"UpdateBalanceDefinitionRequestUnit": ".update_balance_definition_request_unit",
"UpdateBalanceLimitRequestConstraintType": ".update_balance_limit_request_constraint_type",
"UpdateBalanceLimitRequestDurationUnit": ".update_balance_limit_request_duration_unit",
@@ -145,7 +155,8 @@ def __dir__():
"GetContactBalancesResponse",
"GetContactBalancesResponseBalancesItem",
"GetLoyaltyBalanceProgramsPidTransactionHistoryRequestSort",
- "GetLoyaltyBalanceProgramsPidTransactionHistoryRequestSortField",
+ "GetLoyaltyBalanceProgramsPidTransactionHistoryRequestStatus",
+ "GetLoyaltyBalanceProgramsPidTransactionHistoryRequestTransactionType",
"GetLoyaltyBalanceProgramsPidTransactionHistoryResponse",
"GetLoyaltyBalanceProgramsPidTransactionHistoryResponseTransactionHistoryItem",
"GetSubscriptionBalancesResponse",
@@ -155,6 +166,7 @@ def __dir__():
"PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestBalanceOptionAmountOvertakingStrategy",
"PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestBalanceOptionCreditRounding",
"PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestBalanceOptionDebitRounding",
+ "PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestMeta",
"PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestUnit",
"PostLoyaltyBalanceProgramsPidSubscriptionsCidBalancesResponse",
"UpdateBalanceDefinitionRequestBalanceAvailabilityDurationModifier",
@@ -162,6 +174,7 @@ def __dir__():
"UpdateBalanceDefinitionRequestBalanceOptionAmountOvertakingStrategy",
"UpdateBalanceDefinitionRequestBalanceOptionCreditRounding",
"UpdateBalanceDefinitionRequestBalanceOptionDebitRounding",
+ "UpdateBalanceDefinitionRequestMeta",
"UpdateBalanceDefinitionRequestUnit",
"UpdateBalanceLimitRequestConstraintType",
"UpdateBalanceLimitRequestDurationUnit",
diff --git a/src/brevo/balance/types/get_loyalty_balance_programs_pid_transaction_history_request_sort_field.py b/src/brevo/balance/types/get_loyalty_balance_programs_pid_transaction_history_request_sort_field.py
deleted file mode 100644
index ce1c1ce..0000000
--- a/src/brevo/balance/types/get_loyalty_balance_programs_pid_transaction_history_request_sort_field.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-GetLoyaltyBalanceProgramsPidTransactionHistoryRequestSortField = typing.Union[
- typing.Literal["name", "created_at", "updated_at"], typing.Any
-]
diff --git a/src/brevo/balance/types/get_loyalty_balance_programs_pid_transaction_history_request_status.py b/src/brevo/balance/types/get_loyalty_balance_programs_pid_transaction_history_request_status.py
new file mode 100644
index 0000000..d173860
--- /dev/null
+++ b/src/brevo/balance/types/get_loyalty_balance_programs_pid_transaction_history_request_status.py
@@ -0,0 +1,7 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+GetLoyaltyBalanceProgramsPidTransactionHistoryRequestStatus = typing.Union[
+ typing.Literal["draft", "completed", "rejected", "cancelled", "expired"], typing.Any
+]
diff --git a/src/brevo/balance/types/get_loyalty_balance_programs_pid_transaction_history_request_transaction_type.py b/src/brevo/balance/types/get_loyalty_balance_programs_pid_transaction_history_request_transaction_type.py
new file mode 100644
index 0000000..d6dd262
--- /dev/null
+++ b/src/brevo/balance/types/get_loyalty_balance_programs_pid_transaction_history_request_transaction_type.py
@@ -0,0 +1,7 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+GetLoyaltyBalanceProgramsPidTransactionHistoryRequestTransactionType = typing.Union[
+ typing.Literal["credit", "debit"], typing.Any
+]
diff --git a/src/brevo/balance/types/post_loyalty_balance_programs_pid_balance_definitions_request_meta.py b/src/brevo/balance/types/post_loyalty_balance_programs_pid_balance_definitions_request_meta.py
new file mode 100644
index 0000000..fc6ca3d
--- /dev/null
+++ b/src/brevo/balance/types/post_loyalty_balance_programs_pid_balance_definitions_request_meta.py
@@ -0,0 +1,30 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+import typing_extensions
+from ...core.pydantic_utilities import IS_PYDANTIC_V2
+from ...core.serialization import FieldMetadata
+from ...core.unchecked_base_model import UncheckedBaseModel
+
+
+class PostLoyaltyBalanceProgramsPidBalanceDefinitionsRequestMeta(UncheckedBaseModel):
+ """
+ Additional metadata for the balance definition.
+ """
+
+ is_internal: typing_extensions.Annotated[
+ typing.Optional[bool],
+ FieldMetadata(alias="isInternal"),
+ pydantic.Field(alias="isInternal", description="Indicates whether the balance definition is internal."),
+ ] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/brevo/balance/types/update_balance_definition_request_meta.py b/src/brevo/balance/types/update_balance_definition_request_meta.py
new file mode 100644
index 0000000..a68d498
--- /dev/null
+++ b/src/brevo/balance/types/update_balance_definition_request_meta.py
@@ -0,0 +1,30 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+import typing_extensions
+from ...core.pydantic_utilities import IS_PYDANTIC_V2
+from ...core.serialization import FieldMetadata
+from ...core.unchecked_base_model import UncheckedBaseModel
+
+
+class UpdateBalanceDefinitionRequestMeta(UncheckedBaseModel):
+ """
+ Optional metadata for the balance definition.
+ """
+
+ is_internal: typing_extensions.Annotated[
+ typing.Optional[bool],
+ FieldMetadata(alias="isInternal"),
+ pydantic.Field(alias="isInternal", description="Indicates whether the balance definition is internal."),
+ ] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/brevo/companies/__init__.py b/src/brevo/companies/__init__.py
index bba31d1..a7e4416 100644
--- a/src/brevo/companies/__init__.py
+++ b/src/brevo/companies/__init__.py
@@ -10,6 +10,8 @@
GetCompaniesRequestSort,
GetCompaniesResponse,
GetCrmAttributesCompaniesResponseItem,
+ PatchCrmAttributesIdRequestObjectType,
+ PatchCrmAttributesIdRequestOptionsLabelsItem,
PostCompaniesImportResponse,
PostCompaniesResponse,
PostCrmAttributesRequestAttributeType,
@@ -20,6 +22,8 @@
"GetCompaniesRequestSort": ".types",
"GetCompaniesResponse": ".types",
"GetCrmAttributesCompaniesResponseItem": ".types",
+ "PatchCrmAttributesIdRequestObjectType": ".types",
+ "PatchCrmAttributesIdRequestOptionsLabelsItem": ".types",
"PostCompaniesImportResponse": ".types",
"PostCompaniesResponse": ".types",
"PostCrmAttributesRequestAttributeType": ".types",
@@ -53,6 +57,8 @@ def __dir__():
"GetCompaniesRequestSort",
"GetCompaniesResponse",
"GetCrmAttributesCompaniesResponseItem",
+ "PatchCrmAttributesIdRequestObjectType",
+ "PatchCrmAttributesIdRequestOptionsLabelsItem",
"PostCompaniesImportResponse",
"PostCompaniesResponse",
"PostCrmAttributesRequestAttributeType",
diff --git a/src/brevo/companies/client.py b/src/brevo/companies/client.py
index fb2d71e..ab09ada 100644
--- a/src/brevo/companies/client.py
+++ b/src/brevo/companies/client.py
@@ -10,6 +10,8 @@
from .types.get_companies_request_sort import GetCompaniesRequestSort
from .types.get_companies_response import GetCompaniesResponse
from .types.get_crm_attributes_companies_response_item import GetCrmAttributesCompaniesResponseItem
+from .types.patch_crm_attributes_id_request_object_type import PatchCrmAttributesIdRequestObjectType
+from .types.patch_crm_attributes_id_request_options_labels_item import PatchCrmAttributesIdRequestOptionsLabelsItem
from .types.post_companies_import_response import PostCompaniesImportResponse
from .types.post_companies_response import PostCompaniesResponse
from .types.post_crm_attributes_request_attribute_type import PostCrmAttributesRequestAttributeType
@@ -444,6 +446,81 @@ def create_a_company_deal_attribute(
)
return _response.data
+ def delete_an_attribute(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> None:
+ """
+ Parameters
+ ----------
+ id : str
+ Attribute ID
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ None
+
+ Examples
+ --------
+ from brevo import Brevo
+
+ client = Brevo(
+ api_key="YOUR_API_KEY",
+ )
+ client.companies.delete_an_attribute(
+ id="id",
+ )
+ """
+ _response = self._raw_client.delete_an_attribute(id, request_options=request_options)
+ return _response.data
+
+ def update_an_attribute(
+ self,
+ id: str,
+ *,
+ label: typing.Optional[str] = OMIT,
+ options_labels: typing.Optional[typing.Sequence[PatchCrmAttributesIdRequestOptionsLabelsItem]] = OMIT,
+ object_type: typing.Optional[PatchCrmAttributesIdRequestObjectType] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> None:
+ """
+ Parameters
+ ----------
+ id : str
+ Attribute ID
+
+ label : typing.Optional[str]
+ Attribute display label
+
+ options_labels : typing.Optional[typing.Sequence[PatchCrmAttributesIdRequestOptionsLabelsItem]]
+ Updated labels for selectable options
+
+ object_type : typing.Optional[PatchCrmAttributesIdRequestObjectType]
+ The type of object the attribute belongs to, it cannot be updated after creation
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ None
+
+ Examples
+ --------
+ from brevo import Brevo
+
+ client = Brevo(
+ api_key="YOUR_API_KEY",
+ )
+ client.companies.update_an_attribute(
+ id="id",
+ )
+ """
+ _response = self._raw_client.update_an_attribute(
+ id, label=label, options_labels=options_labels, object_type=object_type, request_options=request_options
+ )
+ return _response.data
+
def get_company_attributes(
self, *, request_options: typing.Optional[RequestOptions] = None
) -> typing.List[GetCrmAttributesCompaniesResponseItem]:
@@ -959,6 +1036,97 @@ async def main() -> None:
)
return _response.data
+ async def delete_an_attribute(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> None:
+ """
+ Parameters
+ ----------
+ id : str
+ Attribute ID
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ None
+
+ Examples
+ --------
+ import asyncio
+
+ from brevo import AsyncBrevo
+
+ client = AsyncBrevo(
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.companies.delete_an_attribute(
+ id="id",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.delete_an_attribute(id, request_options=request_options)
+ return _response.data
+
+ async def update_an_attribute(
+ self,
+ id: str,
+ *,
+ label: typing.Optional[str] = OMIT,
+ options_labels: typing.Optional[typing.Sequence[PatchCrmAttributesIdRequestOptionsLabelsItem]] = OMIT,
+ object_type: typing.Optional[PatchCrmAttributesIdRequestObjectType] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> None:
+ """
+ Parameters
+ ----------
+ id : str
+ Attribute ID
+
+ label : typing.Optional[str]
+ Attribute display label
+
+ options_labels : typing.Optional[typing.Sequence[PatchCrmAttributesIdRequestOptionsLabelsItem]]
+ Updated labels for selectable options
+
+ object_type : typing.Optional[PatchCrmAttributesIdRequestObjectType]
+ The type of object the attribute belongs to, it cannot be updated after creation
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ None
+
+ Examples
+ --------
+ import asyncio
+
+ from brevo import AsyncBrevo
+
+ client = AsyncBrevo(
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.companies.update_an_attribute(
+ id="id",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.update_an_attribute(
+ id, label=label, options_labels=options_labels, object_type=object_type, request_options=request_options
+ )
+ return _response.data
+
async def get_company_attributes(
self, *, request_options: typing.Optional[RequestOptions] = None
) -> typing.List[GetCrmAttributesCompaniesResponseItem]:
diff --git a/src/brevo/companies/raw_client.py b/src/brevo/companies/raw_client.py
index 8fa3431..12f7f5d 100644
--- a/src/brevo/companies/raw_client.py
+++ b/src/brevo/companies/raw_client.py
@@ -11,6 +11,7 @@
from ..core.jsonable_encoder import jsonable_encoder
from ..core.parse_error import ParsingError
from ..core.request_options import RequestOptions
+from ..core.serialization import convert_and_respect_annotation_metadata
from ..core.unchecked_base_model import construct_type
from ..errors.bad_request_error import BadRequestError
from ..errors.not_found_error import NotFoundError
@@ -18,6 +19,8 @@
from .types.get_companies_request_sort import GetCompaniesRequestSort
from .types.get_companies_response import GetCompaniesResponse
from .types.get_crm_attributes_companies_response_item import GetCrmAttributesCompaniesResponseItem
+from .types.patch_crm_attributes_id_request_object_type import PatchCrmAttributesIdRequestObjectType
+from .types.patch_crm_attributes_id_request_options_labels_item import PatchCrmAttributesIdRequestOptionsLabelsItem
from .types.post_companies_import_response import PostCompaniesImportResponse
from .types.post_companies_response import PostCompaniesResponse
from .types.post_crm_attributes_request_attribute_type import PostCrmAttributesRequestAttributeType
@@ -655,6 +658,144 @@ def create_a_company_deal_attribute(
)
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+ def delete_an_attribute(
+ self, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> HttpResponse[None]:
+ """
+ Parameters
+ ----------
+ id : str
+ Attribute ID
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[None]
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"crm/attributes/{jsonable_encoder(id)}",
+ method="DELETE",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ return HttpResponse(response=_response, data=None)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 404:
+ raise NotFoundError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ except ValidationError as e:
+ raise ParsingError(
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
+ )
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def update_an_attribute(
+ self,
+ id: str,
+ *,
+ label: typing.Optional[str] = OMIT,
+ options_labels: typing.Optional[typing.Sequence[PatchCrmAttributesIdRequestOptionsLabelsItem]] = OMIT,
+ object_type: typing.Optional[PatchCrmAttributesIdRequestObjectType] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[None]:
+ """
+ Parameters
+ ----------
+ id : str
+ Attribute ID
+
+ label : typing.Optional[str]
+ Attribute display label
+
+ options_labels : typing.Optional[typing.Sequence[PatchCrmAttributesIdRequestOptionsLabelsItem]]
+ Updated labels for selectable options
+
+ object_type : typing.Optional[PatchCrmAttributesIdRequestObjectType]
+ The type of object the attribute belongs to, it cannot be updated after creation
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[None]
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"crm/attributes/{jsonable_encoder(id)}",
+ method="PATCH",
+ json={
+ "label": label,
+ "optionsLabels": convert_and_respect_annotation_metadata(
+ object_=options_labels,
+ annotation=typing.Sequence[PatchCrmAttributesIdRequestOptionsLabelsItem],
+ direction="write",
+ ),
+ "objectType": object_type,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ return HttpResponse(response=_response, data=None)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 404:
+ raise NotFoundError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ except ValidationError as e:
+ raise ParsingError(
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
+ )
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
def get_company_attributes(
self, *, request_options: typing.Optional[RequestOptions] = None
) -> HttpResponse[typing.List[GetCrmAttributesCompaniesResponseItem]]:
@@ -1320,6 +1461,144 @@ async def create_a_company_deal_attribute(
)
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+ async def delete_an_attribute(
+ self, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> AsyncHttpResponse[None]:
+ """
+ Parameters
+ ----------
+ id : str
+ Attribute ID
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[None]
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"crm/attributes/{jsonable_encoder(id)}",
+ method="DELETE",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ return AsyncHttpResponse(response=_response, data=None)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 404:
+ raise NotFoundError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ except ValidationError as e:
+ raise ParsingError(
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
+ )
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def update_an_attribute(
+ self,
+ id: str,
+ *,
+ label: typing.Optional[str] = OMIT,
+ options_labels: typing.Optional[typing.Sequence[PatchCrmAttributesIdRequestOptionsLabelsItem]] = OMIT,
+ object_type: typing.Optional[PatchCrmAttributesIdRequestObjectType] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[None]:
+ """
+ Parameters
+ ----------
+ id : str
+ Attribute ID
+
+ label : typing.Optional[str]
+ Attribute display label
+
+ options_labels : typing.Optional[typing.Sequence[PatchCrmAttributesIdRequestOptionsLabelsItem]]
+ Updated labels for selectable options
+
+ object_type : typing.Optional[PatchCrmAttributesIdRequestObjectType]
+ The type of object the attribute belongs to, it cannot be updated after creation
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[None]
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"crm/attributes/{jsonable_encoder(id)}",
+ method="PATCH",
+ json={
+ "label": label,
+ "optionsLabels": convert_and_respect_annotation_metadata(
+ object_=options_labels,
+ annotation=typing.Sequence[PatchCrmAttributesIdRequestOptionsLabelsItem],
+ direction="write",
+ ),
+ "objectType": object_type,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ return AsyncHttpResponse(response=_response, data=None)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 404:
+ raise NotFoundError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ except ValidationError as e:
+ raise ParsingError(
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
+ )
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
async def get_company_attributes(
self, *, request_options: typing.Optional[RequestOptions] = None
) -> AsyncHttpResponse[typing.List[GetCrmAttributesCompaniesResponseItem]]:
diff --git a/src/brevo/companies/types/__init__.py b/src/brevo/companies/types/__init__.py
index ebdd47b..3edf93b 100644
--- a/src/brevo/companies/types/__init__.py
+++ b/src/brevo/companies/types/__init__.py
@@ -9,6 +9,8 @@
from .get_companies_request_sort import GetCompaniesRequestSort
from .get_companies_response import GetCompaniesResponse
from .get_crm_attributes_companies_response_item import GetCrmAttributesCompaniesResponseItem
+ from .patch_crm_attributes_id_request_object_type import PatchCrmAttributesIdRequestObjectType
+ from .patch_crm_attributes_id_request_options_labels_item import PatchCrmAttributesIdRequestOptionsLabelsItem
from .post_companies_import_response import PostCompaniesImportResponse
from .post_companies_response import PostCompaniesResponse
from .post_crm_attributes_request_attribute_type import PostCrmAttributesRequestAttributeType
@@ -18,6 +20,8 @@
"GetCompaniesRequestSort": ".get_companies_request_sort",
"GetCompaniesResponse": ".get_companies_response",
"GetCrmAttributesCompaniesResponseItem": ".get_crm_attributes_companies_response_item",
+ "PatchCrmAttributesIdRequestObjectType": ".patch_crm_attributes_id_request_object_type",
+ "PatchCrmAttributesIdRequestOptionsLabelsItem": ".patch_crm_attributes_id_request_options_labels_item",
"PostCompaniesImportResponse": ".post_companies_import_response",
"PostCompaniesResponse": ".post_companies_response",
"PostCrmAttributesRequestAttributeType": ".post_crm_attributes_request_attribute_type",
@@ -51,6 +55,8 @@ def __dir__():
"GetCompaniesRequestSort",
"GetCompaniesResponse",
"GetCrmAttributesCompaniesResponseItem",
+ "PatchCrmAttributesIdRequestObjectType",
+ "PatchCrmAttributesIdRequestOptionsLabelsItem",
"PostCompaniesImportResponse",
"PostCompaniesResponse",
"PostCrmAttributesRequestAttributeType",
diff --git a/src/brevo/companies/types/patch_crm_attributes_id_request_object_type.py b/src/brevo/companies/types/patch_crm_attributes_id_request_object_type.py
new file mode 100644
index 0000000..8fc68d0
--- /dev/null
+++ b/src/brevo/companies/types/patch_crm_attributes_id_request_object_type.py
@@ -0,0 +1,5 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+PatchCrmAttributesIdRequestObjectType = typing.Union[typing.Literal["companies", "deals"], typing.Any]
diff --git a/src/brevo/companies/types/patch_crm_attributes_id_request_options_labels_item.py b/src/brevo/companies/types/patch_crm_attributes_id_request_options_labels_item.py
new file mode 100644
index 0000000..d616945
--- /dev/null
+++ b/src/brevo/companies/types/patch_crm_attributes_id_request_options_labels_item.py
@@ -0,0 +1,28 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ...core.pydantic_utilities import IS_PYDANTIC_V2
+from ...core.unchecked_base_model import UncheckedBaseModel
+
+
+class PatchCrmAttributesIdRequestOptionsLabelsItem(UncheckedBaseModel):
+ key: str = pydantic.Field()
+ """
+ Internal option identifier
+ """
+
+ value: str = pydantic.Field()
+ """
+ Display label for the option
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/brevo/contacts/client.py b/src/brevo/contacts/client.py
index d9c635e..97e7e67 100644
--- a/src/brevo/contacts/client.py
+++ b/src/brevo/contacts/client.py
@@ -83,14 +83,6 @@ def get_contacts(
request_options: typing.Optional[RequestOptions] = None,
) -> GetContacts:
"""
-
- Accepted Number Formats
-
- 91xxxxxxxxxx
- +91xxxxxxxxxx
- 0091xxxxxxxxxx
-
-
Parameters
----------
limit : typing.Optional[int]
@@ -161,6 +153,8 @@ def create_contact(
request_options: typing.Optional[RequestOptions] = None,
) -> CreateContactResponse:
"""
+ Follow this format when passing a "SMS" phone number as an attribute.
+ Accepted Number Formats 91xxxxxxxxxx +91xxxxxxxxxx 0091xxxxxxxxxx
Creates new contacts on Brevo. Contacts can be created by passing either -
1. email address of the contact (email_id),
2. phone number of the contact (to be passed as "SMS" field in "attributes" along with proper country code), For example- {"SMS":"+91xxxxxxxxxx"} or {"SMS":"0091xxxxxxxxxx"}
3. ext_id
Parameters
@@ -490,9 +484,7 @@ def create_doi_contact(
request_options: typing.Optional[RequestOptions] = None,
) -> None:
"""
-
- attributes param in this endpoint is an object containing key-value pairs where values can be either a string, integer, array, or boolean. You can create key-value pairs with these four datatypes. When a value is an array, it should be an array of strings.
-
+ attributes param in this endpoint is an object containing key-value pairs where values can be either a string, integer, array, or boolean. You can create key-value pairs with these four datatypes. When a value is an array, it should be an array of strings.
Parameters
----------
@@ -630,17 +622,11 @@ def get_folders(
request_options: typing.Optional[RequestOptions] = None,
) -> GetFoldersResponse:
"""
-
- Ongoing changes for this endpoint
-
+ Ongoing changes for this endpoint
We're dropping support for the response attributes totalSubscribers and totalBlacklisted.
-
These are non breaking changes.
-
The default value for the attributes will be 0.
-
- The uniqueSubscribers field is deprecated
-
+ The uniqueSubscribers field is deprecated
Parameters
----------
@@ -704,13 +690,9 @@ def create_folder(
def get_folder(self, folder_id: int, *, request_options: typing.Optional[RequestOptions] = None) -> GetFolder:
"""
-
- Ongoing changes for this endpoint.
-
+ Ongoing changes for this endpoint.
We're dropping support for the response attributes totalSubscribers and totalBlacklisted.
-
- These are non breaking changes. The default value for the attributes will be 0.
-
+ These are non breaking changes. The default value for the attributes will be 0.
Parameters
----------
@@ -814,13 +796,9 @@ def get_folder_lists(
request_options: typing.Optional[RequestOptions] = None,
) -> GetFolderListsResponse:
"""
-
- Ongoing changes for this endpoint.
-
+ Ongoing changes for this endpoint.
We're dropping support for the response attributes totalSubscribers and totalBlacklisted.
-
- These are non breaking changes. The default value for the attributes will be 0.
-
+ These are non breaking changes. The default value for the attributes will be 0.
Parameters
----------
@@ -956,13 +934,9 @@ def get_lists(
request_options: typing.Optional[RequestOptions] = None,
) -> GetListsResponse:
"""
-
- Ongoing changes for this endpoint.
-
+ Ongoing changes for this endpoint.
We're dropping support for the response attributes totalSubscribers and totalBlacklisted.
-
- These are non breaking changes. The default value for the attributes will be 0.
-
+ These are non breaking changes. The default value for the attributes will be 0.
Parameters
----------
@@ -1336,14 +1310,8 @@ def get_contact_info(
request_options: typing.Optional[RequestOptions] = None,
) -> GetContactInfoResponse:
"""
-
- Accepted Number Formats
-
- 91xxxxxxxxxx
- +91xxxxxxxxxx
- 0091xxxxxxxxxx
-
-
+ Follow this format when passing a "SMS" phone number as an attribute.
+ Accepted Number Formats 91xxxxxxxxxx +91xxxxxxxxxx 0091xxxxxxxxxx
There are 2 ways to get a contact
Option 1- https://api.brevo.com/v3/contacts/{identifier}
Option 2- https://api.brevo.com/v3/contacts/{identifier}?identifierType={}
Option 1 only works if identifierType is email_id (for EMAIL), phone_id (for SMS) or contact_id (for ID of the contact),where you can directly pass the value of EMAIL, SMS and ID of the contact.
Option 2 works for all identifierType, use email_id for EMAIL attribute, phone_id for SMS attribute, contact_id for ID of the contact, ext_id for EXT_ID attribute, whatsapp_id for WHATSAPP attribute, landline_number_id for LANDLINE_NUMBER attribute
Along with the contact details, this endpoint will show the statistics of contact for the recent 90 days by default. To fetch the earlier statistics, please use Get contact campaign stats ``https://developers.brevo.com/reference/contacts-7#getcontactstats`` endpoint with the appropriate date ranges.
Parameters
@@ -1403,6 +1371,8 @@ def update_contact(
request_options: typing.Optional[RequestOptions] = None,
) -> None:
"""
+ Follow this format when passing a "SMS" phone number as an attribute.
+ Accepted Number Formats 91xxxxxxxxxx +91xxxxxxxxxx 0091xxxxxxxxxx
If a blocklisted contact's email address is updated, it is going to remove that blocklisting from the contact and they will be resubscribed.
There are 2 ways to update a contact
Option 1- https://api.brevo.com/v3/contacts/{identifier}
Option 2- https://api.brevo.com/v3/contacts/{identifier}?identifierType={}
Option 1 only works if identifierType is email_id (for EMAIL) or contact_id (for ID of the contact),where you can directly pass the value of EMAIL and ID of the contact.
Option 2 works for all identifierType, use email_id for EMAIL attribute, contact_id for ID of the contact, ext_id for EXT_ID attribute, phone_id for SMS attribute, whatsapp_id for WHATSAPP attribute, landline_number_id for LANDLINE attribute
Parameters
@@ -1581,14 +1551,6 @@ async def get_contacts(
request_options: typing.Optional[RequestOptions] = None,
) -> GetContacts:
"""
-
- Accepted Number Formats
-
- 91xxxxxxxxxx
- +91xxxxxxxxxx
- 0091xxxxxxxxxx
-
-
Parameters
----------
limit : typing.Optional[int]
@@ -1667,6 +1629,8 @@ async def create_contact(
request_options: typing.Optional[RequestOptions] = None,
) -> CreateContactResponse:
"""
+ Follow this format when passing a "SMS" phone number as an attribute.
+ Accepted Number Formats 91xxxxxxxxxx +91xxxxxxxxxx 0091xxxxxxxxxx
Creates new contacts on Brevo. Contacts can be created by passing either -
1. email address of the contact (email_id),
2. phone number of the contact (to be passed as "SMS" field in "attributes" along with proper country code), For example- {"SMS":"+91xxxxxxxxxx"} or {"SMS":"0091xxxxxxxxxx"}
3. ext_id
Parameters
@@ -2052,9 +2016,7 @@ async def create_doi_contact(
request_options: typing.Optional[RequestOptions] = None,
) -> None:
"""
-
- attributes param in this endpoint is an object containing key-value pairs where values can be either a string, integer, array, or boolean. You can create key-value pairs with these four datatypes. When a value is an array, it should be an array of strings.
-
+ attributes param in this endpoint is an object containing key-value pairs where values can be either a string, integer, array, or boolean. You can create key-value pairs with these four datatypes. When a value is an array, it should be an array of strings.
Parameters
----------
@@ -2208,17 +2170,11 @@ async def get_folders(
request_options: typing.Optional[RequestOptions] = None,
) -> GetFoldersResponse:
"""
-
- Ongoing changes for this endpoint
-
+ Ongoing changes for this endpoint
We're dropping support for the response attributes totalSubscribers and totalBlacklisted.
-
These are non breaking changes.
-
The default value for the attributes will be 0.
-
- The uniqueSubscribers field is deprecated
-
+ The uniqueSubscribers field is deprecated
Parameters
----------
@@ -2300,13 +2256,9 @@ async def main() -> None:
async def get_folder(self, folder_id: int, *, request_options: typing.Optional[RequestOptions] = None) -> GetFolder:
"""
-
- Ongoing changes for this endpoint.
-
+ Ongoing changes for this endpoint.
We're dropping support for the response attributes totalSubscribers and totalBlacklisted.
-
- These are non breaking changes. The default value for the attributes will be 0.
-
+ These are non breaking changes. The default value for the attributes will be 0.
Parameters
----------
@@ -2434,13 +2386,9 @@ async def get_folder_lists(
request_options: typing.Optional[RequestOptions] = None,
) -> GetFolderListsResponse:
"""
-
- Ongoing changes for this endpoint.
-
+ Ongoing changes for this endpoint.
We're dropping support for the response attributes totalSubscribers and totalBlacklisted.
-
- These are non breaking changes. The default value for the attributes will be 0.
-
+ These are non breaking changes. The default value for the attributes will be 0.
Parameters
----------
@@ -2592,13 +2540,9 @@ async def get_lists(
request_options: typing.Optional[RequestOptions] = None,
) -> GetListsResponse:
"""
-
- Ongoing changes for this endpoint.
-
+ Ongoing changes for this endpoint.
We're dropping support for the response attributes totalSubscribers and totalBlacklisted.
-
- These are non breaking changes. The default value for the attributes will be 0.
-
+ These are non breaking changes. The default value for the attributes will be 0.
Parameters
----------
@@ -3050,14 +2994,8 @@ async def get_contact_info(
request_options: typing.Optional[RequestOptions] = None,
) -> GetContactInfoResponse:
"""
-
- Accepted Number Formats
-
- 91xxxxxxxxxx
- +91xxxxxxxxxx
- 0091xxxxxxxxxx
-
-
+ Follow this format when passing a "SMS" phone number as an attribute.
+ Accepted Number Formats 91xxxxxxxxxx +91xxxxxxxxxx 0091xxxxxxxxxx
There are 2 ways to get a contact
Option 1- https://api.brevo.com/v3/contacts/{identifier}
Option 2- https://api.brevo.com/v3/contacts/{identifier}?identifierType={}
Option 1 only works if identifierType is email_id (for EMAIL), phone_id (for SMS) or contact_id (for ID of the contact),where you can directly pass the value of EMAIL, SMS and ID of the contact.
Option 2 works for all identifierType, use email_id for EMAIL attribute, phone_id for SMS attribute, contact_id for ID of the contact, ext_id for EXT_ID attribute, whatsapp_id for WHATSAPP attribute, landline_number_id for LANDLINE_NUMBER attribute
Along with the contact details, this endpoint will show the statistics of contact for the recent 90 days by default. To fetch the earlier statistics, please use Get contact campaign stats ``https://developers.brevo.com/reference/contacts-7#getcontactstats`` endpoint with the appropriate date ranges.
Parameters
@@ -3125,6 +3063,8 @@ async def update_contact(
request_options: typing.Optional[RequestOptions] = None,
) -> None:
"""
+ Follow this format when passing a "SMS" phone number as an attribute.
+ Accepted Number Formats 91xxxxxxxxxx +91xxxxxxxxxx 0091xxxxxxxxxx
If a blocklisted contact's email address is updated, it is going to remove that blocklisting from the contact and they will be resubscribed.
There are 2 ways to update a contact
Option 1- https://api.brevo.com/v3/contacts/{identifier}
Option 2- https://api.brevo.com/v3/contacts/{identifier}?identifierType={}
Option 1 only works if identifierType is email_id (for EMAIL) or contact_id (for ID of the contact),where you can directly pass the value of EMAIL and ID of the contact.
Option 2 works for all identifierType, use email_id for EMAIL attribute, contact_id for ID of the contact, ext_id for EXT_ID attribute, phone_id for SMS attribute, whatsapp_id for WHATSAPP attribute, landline_number_id for LANDLINE attribute
Parameters
diff --git a/src/brevo/contacts/raw_client.py b/src/brevo/contacts/raw_client.py
index c33c3ae..ff872db 100644
--- a/src/brevo/contacts/raw_client.py
+++ b/src/brevo/contacts/raw_client.py
@@ -86,14 +86,6 @@ def get_contacts(
request_options: typing.Optional[RequestOptions] = None,
) -> HttpResponse[GetContacts]:
"""
-
- Accepted Number Formats
-
- 91xxxxxxxxxx
- +91xxxxxxxxxx
- 0091xxxxxxxxxx
-
-
Parameters
----------
limit : typing.Optional[int]
@@ -198,6 +190,8 @@ def create_contact(
request_options: typing.Optional[RequestOptions] = None,
) -> HttpResponse[CreateContactResponse]:
"""
+ Follow this format when passing a "SMS" phone number as an attribute.
+ Accepted Number Formats 91xxxxxxxxxx +91xxxxxxxxxx 0091xxxxxxxxxx
Creates new contacts on Brevo. Contacts can be created by passing either -
1. email address of the contact (email_id),
2. phone number of the contact (to be passed as "SMS" field in "attributes" along with proper country code), For example- {"SMS":"+91xxxxxxxxxx"} or {"SMS":"0091xxxxxxxxxx"}
3. ext_id
Parameters
@@ -703,9 +697,7 @@ def create_doi_contact(
request_options: typing.Optional[RequestOptions] = None,
) -> HttpResponse[None]:
"""
-
- attributes param in this endpoint is an object containing key-value pairs where values can be either a string, integer, array, or boolean. You can create key-value pairs with these four datatypes. When a value is an array, it should be an array of strings.
-
+ attributes param in this endpoint is an object containing key-value pairs where values can be either a string, integer, array, or boolean. You can create key-value pairs with these four datatypes. When a value is an array, it should be an array of strings.
Parameters
----------
@@ -901,17 +893,11 @@ def get_folders(
request_options: typing.Optional[RequestOptions] = None,
) -> HttpResponse[GetFoldersResponse]:
"""
-
- Ongoing changes for this endpoint
-
+ Ongoing changes for this endpoint
We're dropping support for the response attributes totalSubscribers and totalBlacklisted.
-
These are non breaking changes.
-
The default value for the attributes will be 0.
-
- The uniqueSubscribers field is deprecated
-
+ The uniqueSubscribers field is deprecated
Parameters
----------
@@ -1035,13 +1021,9 @@ def get_folder(
self, folder_id: int, *, request_options: typing.Optional[RequestOptions] = None
) -> HttpResponse[GetFolder]:
"""
-
- Ongoing changes for this endpoint.
-
+ Ongoing changes for this endpoint.
We're dropping support for the response attributes totalSubscribers and totalBlacklisted.
-
- These are non breaking changes. The default value for the attributes will be 0.
-
+ These are non breaking changes. The default value for the attributes will be 0.
Parameters
----------
@@ -1236,13 +1218,9 @@ def get_folder_lists(
request_options: typing.Optional[RequestOptions] = None,
) -> HttpResponse[GetFolderListsResponse]:
"""
-
- Ongoing changes for this endpoint.
-
+ Ongoing changes for this endpoint.
We're dropping support for the response attributes totalSubscribers and totalBlacklisted.
-
- These are non breaking changes. The default value for the attributes will be 0.
-
+ These are non breaking changes. The default value for the attributes will be 0.
Parameters
----------
@@ -1444,13 +1422,9 @@ def get_lists(
request_options: typing.Optional[RequestOptions] = None,
) -> HttpResponse[GetListsResponse]:
"""
-
- Ongoing changes for this endpoint.
-
+ Ongoing changes for this endpoint.
We're dropping support for the response attributes totalSubscribers and totalBlacklisted.
-
- These are non breaking changes. The default value for the attributes will be 0.
-
+ These are non breaking changes. The default value for the attributes will be 0.
Parameters
----------
@@ -2099,14 +2073,8 @@ def get_contact_info(
request_options: typing.Optional[RequestOptions] = None,
) -> HttpResponse[GetContactInfoResponse]:
"""
-
- Accepted Number Formats
-
- 91xxxxxxxxxx
- +91xxxxxxxxxx
- 0091xxxxxxxxxx
-
-
+ Follow this format when passing a "SMS" phone number as an attribute.
+ Accepted Number Formats 91xxxxxxxxxx +91xxxxxxxxxx 0091xxxxxxxxxx
There are 2 ways to get a contact
Option 1- https://api.brevo.com/v3/contacts/{identifier}
Option 2- https://api.brevo.com/v3/contacts/{identifier}?identifierType={}
Option 1 only works if identifierType is email_id (for EMAIL), phone_id (for SMS) or contact_id (for ID of the contact),where you can directly pass the value of EMAIL, SMS and ID of the contact.
Option 2 works for all identifierType, use email_id for EMAIL attribute, phone_id for SMS attribute, contact_id for ID of the contact, ext_id for EXT_ID attribute, whatsapp_id for WHATSAPP attribute, landline_number_id for LANDLINE_NUMBER attribute
Along with the contact details, this endpoint will show the statistics of contact for the recent 90 days by default. To fetch the earlier statistics, please use Get contact campaign stats ``https://developers.brevo.com/reference/contacts-7#getcontactstats`` endpoint with the appropriate date ranges.
Parameters
@@ -2197,6 +2165,8 @@ def update_contact(
request_options: typing.Optional[RequestOptions] = None,
) -> HttpResponse[None]:
"""
+ Follow this format when passing a "SMS" phone number as an attribute.
+ Accepted Number Formats 91xxxxxxxxxx +91xxxxxxxxxx 0091xxxxxxxxxx
If a blocklisted contact's email address is updated, it is going to remove that blocklisting from the contact and they will be resubscribed.
There are 2 ways to update a contact
Option 1- https://api.brevo.com/v3/contacts/{identifier}
Option 2- https://api.brevo.com/v3/contacts/{identifier}?identifierType={}
Option 1 only works if identifierType is email_id (for EMAIL) or contact_id (for ID of the contact),where you can directly pass the value of EMAIL and ID of the contact.
Option 2 works for all identifierType, use email_id for EMAIL attribute, contact_id for ID of the contact, ext_id for EXT_ID attribute, phone_id for SMS attribute, whatsapp_id for WHATSAPP attribute, landline_number_id for LANDLINE attribute
Parameters
@@ -2480,14 +2450,6 @@ async def get_contacts(
request_options: typing.Optional[RequestOptions] = None,
) -> AsyncHttpResponse[GetContacts]:
"""
-
- Accepted Number Formats
-
- 91xxxxxxxxxx
- +91xxxxxxxxxx
- 0091xxxxxxxxxx
-
-
Parameters
----------
limit : typing.Optional[int]
@@ -2592,6 +2554,8 @@ async def create_contact(
request_options: typing.Optional[RequestOptions] = None,
) -> AsyncHttpResponse[CreateContactResponse]:
"""
+ Follow this format when passing a "SMS" phone number as an attribute.
+ Accepted Number Formats 91xxxxxxxxxx +91xxxxxxxxxx 0091xxxxxxxxxx
Creates new contacts on Brevo. Contacts can be created by passing either -
1. email address of the contact (email_id),
2. phone number of the contact (to be passed as "SMS" field in "attributes" along with proper country code), For example- {"SMS":"+91xxxxxxxxxx"} or {"SMS":"0091xxxxxxxxxx"}
3. ext_id
Parameters
@@ -3097,9 +3061,7 @@ async def create_doi_contact(
request_options: typing.Optional[RequestOptions] = None,
) -> AsyncHttpResponse[None]:
"""
-
- attributes param in this endpoint is an object containing key-value pairs where values can be either a string, integer, array, or boolean. You can create key-value pairs with these four datatypes. When a value is an array, it should be an array of strings.
-
+ attributes param in this endpoint is an object containing key-value pairs where values can be either a string, integer, array, or boolean. You can create key-value pairs with these four datatypes. When a value is an array, it should be an array of strings.
Parameters
----------
@@ -3295,17 +3257,11 @@ async def get_folders(
request_options: typing.Optional[RequestOptions] = None,
) -> AsyncHttpResponse[GetFoldersResponse]:
"""
-
- Ongoing changes for this endpoint
-
+ Ongoing changes for this endpoint
We're dropping support for the response attributes totalSubscribers and totalBlacklisted.
-
These are non breaking changes.
-
The default value for the attributes will be 0.
-
- The uniqueSubscribers field is deprecated
-
+ The uniqueSubscribers field is deprecated
Parameters
----------
@@ -3429,13 +3385,9 @@ async def get_folder(
self, folder_id: int, *, request_options: typing.Optional[RequestOptions] = None
) -> AsyncHttpResponse[GetFolder]:
"""
-
- Ongoing changes for this endpoint.
-
+ Ongoing changes for this endpoint.
We're dropping support for the response attributes totalSubscribers and totalBlacklisted.
-
- These are non breaking changes. The default value for the attributes will be 0.
-
+ These are non breaking changes. The default value for the attributes will be 0.
Parameters
----------
@@ -3630,13 +3582,9 @@ async def get_folder_lists(
request_options: typing.Optional[RequestOptions] = None,
) -> AsyncHttpResponse[GetFolderListsResponse]:
"""
-
- Ongoing changes for this endpoint.
-
+ Ongoing changes for this endpoint.
We're dropping support for the response attributes totalSubscribers and totalBlacklisted.
-
- These are non breaking changes. The default value for the attributes will be 0.
-
+ These are non breaking changes. The default value for the attributes will be 0.
Parameters
----------
@@ -3838,13 +3786,9 @@ async def get_lists(
request_options: typing.Optional[RequestOptions] = None,
) -> AsyncHttpResponse[GetListsResponse]:
"""
-
- Ongoing changes for this endpoint.
-
+ Ongoing changes for this endpoint.
We're dropping support for the response attributes totalSubscribers and totalBlacklisted.
-
- These are non breaking changes. The default value for the attributes will be 0.
-
+ These are non breaking changes. The default value for the attributes will be 0.
Parameters
----------
@@ -4493,14 +4437,8 @@ async def get_contact_info(
request_options: typing.Optional[RequestOptions] = None,
) -> AsyncHttpResponse[GetContactInfoResponse]:
"""
-
- Accepted Number Formats
-
- 91xxxxxxxxxx
- +91xxxxxxxxxx
- 0091xxxxxxxxxx
-
-
+ Follow this format when passing a "SMS" phone number as an attribute.
+ Accepted Number Formats 91xxxxxxxxxx +91xxxxxxxxxx 0091xxxxxxxxxx
There are 2 ways to get a contact
Option 1- https://api.brevo.com/v3/contacts/{identifier}
Option 2- https://api.brevo.com/v3/contacts/{identifier}?identifierType={}
Option 1 only works if identifierType is email_id (for EMAIL), phone_id (for SMS) or contact_id (for ID of the contact),where you can directly pass the value of EMAIL, SMS and ID of the contact.
Option 2 works for all identifierType, use email_id for EMAIL attribute, phone_id for SMS attribute, contact_id for ID of the contact, ext_id for EXT_ID attribute, whatsapp_id for WHATSAPP attribute, landline_number_id for LANDLINE_NUMBER attribute
Along with the contact details, this endpoint will show the statistics of contact for the recent 90 days by default. To fetch the earlier statistics, please use Get contact campaign stats ``https://developers.brevo.com/reference/contacts-7#getcontactstats`` endpoint with the appropriate date ranges.
Parameters
@@ -4591,6 +4529,8 @@ async def update_contact(
request_options: typing.Optional[RequestOptions] = None,
) -> AsyncHttpResponse[None]:
"""
+ Follow this format when passing a "SMS" phone number as an attribute.
+ Accepted Number Formats 91xxxxxxxxxx +91xxxxxxxxxx 0091xxxxxxxxxx
If a blocklisted contact's email address is updated, it is going to remove that blocklisting from the contact and they will be resubscribed.
There are 2 ways to update a contact
Option 1- https://api.brevo.com/v3/contacts/{identifier}
Option 2- https://api.brevo.com/v3/contacts/{identifier}?identifierType={}
Option 1 only works if identifierType is email_id (for EMAIL) or contact_id (for ID of the contact),where you can directly pass the value of EMAIL and ID of the contact.
Option 2 works for all identifierType, use email_id for EMAIL attribute, contact_id for ID of the contact, ext_id for EXT_ID attribute, phone_id for SMS attribute, whatsapp_id for WHATSAPP attribute, landline_number_id for LANDLINE attribute
Parameters
diff --git a/src/brevo/core/client_wrapper.py b/src/brevo/core/client_wrapper.py
index 825ced7..7d0fd00 100644
--- a/src/brevo/core/client_wrapper.py
+++ b/src/brevo/core/client_wrapper.py
@@ -27,12 +27,12 @@ def get_headers(self) -> typing.Dict[str, str]:
import platform
headers: typing.Dict[str, str] = {
- "User-Agent": "brevo-python/4.0.9",
+ "User-Agent": "brevo-python/4.0.8",
"X-Fern-Language": "Python",
"X-Fern-Runtime": f"python/{platform.python_version()}",
"X-Fern-Platform": f"{platform.system().lower()}/{platform.release()}",
"X-Fern-SDK-Name": "brevo-python",
- "X-Fern-SDK-Version": "4.0.9",
+ "X-Fern-SDK-Version": "4.0.8",
**(self.get_custom_headers() or {}),
}
headers["api-key"] = self.api_key
diff --git a/src/brevo/custom_objects/client.py b/src/brevo/custom_objects/client.py
index f7a0cee..e60c8bc 100644
--- a/src/brevo/custom_objects/client.py
+++ b/src/brevo/custom_objects/client.py
@@ -40,12 +40,8 @@ def upsertrecords(
request_options: typing.Optional[RequestOptions] = None,
) -> UpsertrecordsResponse:
"""
-
- Custom objects are only available to Enterprise plans.
-
- This feature is in beta. These are subject to change.
-
-
+ Custom objects are only available to Enterprise plans.
+ This feature is in beta. These are subject to change.
This API allows bulk upsert of object records in a single request. Each object record may include
- Attributes
- Identifiers
@@ -59,8 +55,8 @@ def upsertrecords(
- Max 500 attributes defined per object record upsert request
- This is coherent with schema limitation: an object cannot have more than 500 attributes.
- Worth noting: Nothing happens If an attribute is mentioned in the request, but was not previously defined for the object schema (no error, no attribute creation)
- - Max 10 associations defined per object record upsert request
- - This is coherent with schema limitation: an object cannot have more than 10 associations with other objects. and each object record can be linked to max 10 other records.
+ - Max 10 associations defined per associated object type, in each record of the request
+ - This is not a schema limitation. You can associate an object record to an unlimited number of other object records by running multiple requests.
**Errors:**
- Make sure both object records exist before associating them, else the API will return an error.
- This route does not create objects. The object where the object records are upserted by this API must be created already else the API will return an error "invalid object type".
@@ -108,12 +104,8 @@ def getrecords(
request_options: typing.Optional[RequestOptions] = None,
) -> GetrecordsResponse:
"""
-
- Custom objects are only available to Enterprise plans.
-
- This feature is in beta. These are subject to change.
-
-
+ Custom objects are only available to Enterprise plans.
+ This feature is in beta. These are subject to change.
This API retrieves a list of object records along with their associated records and provides the total count of records for the specified object. **Note**: Contact as object type is not supported in this endpoint.
Parameters
@@ -238,12 +230,8 @@ async def upsertrecords(
request_options: typing.Optional[RequestOptions] = None,
) -> UpsertrecordsResponse:
"""
-
- Custom objects are only available to Enterprise plans.
-
- This feature is in beta. These are subject to change.
-
-
+ Custom objects are only available to Enterprise plans.
+ This feature is in beta. These are subject to change.
This API allows bulk upsert of object records in a single request. Each object record may include
- Attributes
- Identifiers
@@ -257,8 +245,8 @@ async def upsertrecords(
- Max 500 attributes defined per object record upsert request
- This is coherent with schema limitation: an object cannot have more than 500 attributes.
- Worth noting: Nothing happens If an attribute is mentioned in the request, but was not previously defined for the object schema (no error, no attribute creation)
- - Max 10 associations defined per object record upsert request
- - This is coherent with schema limitation: an object cannot have more than 10 associations with other objects. and each object record can be linked to max 10 other records.
+ - Max 10 associations defined per associated object type, in each record of the request
+ - This is not a schema limitation. You can associate an object record to an unlimited number of other object records by running multiple requests.
**Errors:**
- Make sure both object records exist before associating them, else the API will return an error.
- This route does not create objects. The object where the object records are upserted by this API must be created already else the API will return an error "invalid object type".
@@ -314,12 +302,8 @@ async def getrecords(
request_options: typing.Optional[RequestOptions] = None,
) -> GetrecordsResponse:
"""
-
- Custom objects are only available to Enterprise plans.
-
- This feature is in beta. These are subject to change.
-
-
+ Custom objects are only available to Enterprise plans.
+ This feature is in beta. These are subject to change.
This API retrieves a list of object records along with their associated records and provides the total count of records for the specified object. **Note**: Contact as object type is not supported in this endpoint.
Parameters
diff --git a/src/brevo/custom_objects/raw_client.py b/src/brevo/custom_objects/raw_client.py
index e0ebcdf..9c6201f 100644
--- a/src/brevo/custom_objects/raw_client.py
+++ b/src/brevo/custom_objects/raw_client.py
@@ -41,12 +41,8 @@ def upsertrecords(
request_options: typing.Optional[RequestOptions] = None,
) -> HttpResponse[UpsertrecordsResponse]:
"""
-
- Custom objects are only available to Enterprise plans.
-
- This feature is in beta. These are subject to change.
-
-
+ Custom objects are only available to Enterprise plans.
+ This feature is in beta. These are subject to change.
This API allows bulk upsert of object records in a single request. Each object record may include
- Attributes
- Identifiers
@@ -60,8 +56,8 @@ def upsertrecords(
- Max 500 attributes defined per object record upsert request
- This is coherent with schema limitation: an object cannot have more than 500 attributes.
- Worth noting: Nothing happens If an attribute is mentioned in the request, but was not previously defined for the object schema (no error, no attribute creation)
- - Max 10 associations defined per object record upsert request
- - This is coherent with schema limitation: an object cannot have more than 10 associations with other objects. and each object record can be linked to max 10 other records.
+ - Max 10 associations defined per associated object type, in each record of the request
+ - This is not a schema limitation. You can associate an object record to an unlimited number of other object records by running multiple requests.
**Errors:**
- Make sure both object records exist before associating them, else the API will return an error.
- This route does not create objects. The object where the object records are upserted by this API must be created already else the API will return an error "invalid object type".
@@ -170,12 +166,8 @@ def getrecords(
request_options: typing.Optional[RequestOptions] = None,
) -> HttpResponse[GetrecordsResponse]:
"""
-
- Custom objects are only available to Enterprise plans.
-
- This feature is in beta. These are subject to change.
-
-
+ Custom objects are only available to Enterprise plans.
+ This feature is in beta. These are subject to change.
This API retrieves a list of object records along with their associated records and provides the total count of records for the specified object. **Note**: Contact as object type is not supported in this endpoint.
Parameters
@@ -395,12 +387,8 @@ async def upsertrecords(
request_options: typing.Optional[RequestOptions] = None,
) -> AsyncHttpResponse[UpsertrecordsResponse]:
"""
-
- Custom objects are only available to Enterprise plans.
-
- This feature is in beta. These are subject to change.
-
-
+ Custom objects are only available to Enterprise plans.
+ This feature is in beta. These are subject to change.
This API allows bulk upsert of object records in a single request. Each object record may include
- Attributes
- Identifiers
@@ -414,8 +402,8 @@ async def upsertrecords(
- Max 500 attributes defined per object record upsert request
- This is coherent with schema limitation: an object cannot have more than 500 attributes.
- Worth noting: Nothing happens If an attribute is mentioned in the request, but was not previously defined for the object schema (no error, no attribute creation)
- - Max 10 associations defined per object record upsert request
- - This is coherent with schema limitation: an object cannot have more than 10 associations with other objects. and each object record can be linked to max 10 other records.
+ - Max 10 associations defined per associated object type, in each record of the request
+ - This is not a schema limitation. You can associate an object record to an unlimited number of other object records by running multiple requests.
**Errors:**
- Make sure both object records exist before associating them, else the API will return an error.
- This route does not create objects. The object where the object records are upserted by this API must be created already else the API will return an error "invalid object type".
@@ -524,12 +512,8 @@ async def getrecords(
request_options: typing.Optional[RequestOptions] = None,
) -> AsyncHttpResponse[GetrecordsResponse]:
"""
-
- Custom objects are only available to Enterprise plans.
-
- This feature is in beta. These are subject to change.
-
-
+ Custom objects are only available to Enterprise plans.
+ This feature is in beta. These are subject to change.
This API retrieves a list of object records along with their associated records and provides the total count of records for the specified object. **Note**: Contact as object type is not supported in this endpoint.
Parameters
diff --git a/src/brevo/custom_objects/types/upsertrecords_request_records_item.py b/src/brevo/custom_objects/types/upsertrecords_request_records_item.py
index c96044f..151d903 100644
--- a/src/brevo/custom_objects/types/upsertrecords_request_records_item.py
+++ b/src/brevo/custom_objects/types/upsertrecords_request_records_item.py
@@ -13,7 +13,7 @@ class UpsertrecordsRequestRecordsItem(UncheckedBaseModel):
associations: typing.Optional[typing.List[UpsertrecordsRequestRecordsItemAssociationsItem]] = None
attributes: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(default=None)
"""
- Attributes attached with the object record. Only the already created attributes will be used with records. Minimum 1 attribute is required.
+ Attributes attached with the object record. Only the already created attributes will be used with records. Pass the value with the attributes key you want to set or update for the object record. Minimum 1 attribute is required.
"""
identifiers: typing.Optional[UpsertrecordsRequestRecordsItemIdentifiers] = pydantic.Field(default=None)
diff --git a/src/brevo/custom_objects/types/upsertrecords_response.py b/src/brevo/custom_objects/types/upsertrecords_response.py
index f58117f..6948d31 100644
--- a/src/brevo/custom_objects/types/upsertrecords_response.py
+++ b/src/brevo/custom_objects/types/upsertrecords_response.py
@@ -15,7 +15,8 @@ class UpsertrecordsResponse(UncheckedBaseModel):
typing.Optional[int],
FieldMetadata(alias="processId"),
pydantic.Field(
- alias="processId", description="Unique Id for the batch process used to track the status of the batch."
+ alias="processId",
+ description="Unique Id for the batch process used to track the status of the batch. **How to use this processId:** Refer to the [Get process status API](https://developers.brevo.com/reference/get-process) to check the execution status of this batch using the returned `processId`.",
),
] = None
diff --git a/src/brevo/ecommerce/client.py b/src/brevo/ecommerce/client.py
index 6b150ea..546e2b0 100644
--- a/src/brevo/ecommerce/client.py
+++ b/src/brevo/ecommerce/client.py
@@ -637,7 +637,6 @@ def create_order(
OrderProductsItem(
price=99.99,
product_id="P1",
- quantity=10.0,
)
],
status="completed",
@@ -707,7 +706,6 @@ def create_batch_order(
OrderProductsItem(
price=99.99,
product_id="P1",
- quantity=10.0,
)
],
status="completed",
@@ -831,8 +829,10 @@ def create_update_product(
*,
id: str,
name: str,
+ brand: typing.Optional[str] = OMIT,
categories: typing.Optional[typing.Sequence[str]] = OMIT,
deleted_at: typing.Optional[str] = OMIT,
+ description: typing.Optional[str] = OMIT,
image_url: typing.Optional[str] = OMIT,
is_deleted: typing.Optional[bool] = OMIT,
meta_info: typing.Optional[typing.Dict[str, CreateUpdateProductRequestMetaInfoValue]] = OMIT,
@@ -853,12 +853,18 @@ def create_update_product(
name : str
Mandatory in case of creation**. Name of the product for which you requested the details
+ brand : typing.Optional[str]
+ Brand of the product
+
categories : typing.Optional[typing.Sequence[str]]
Category ID-s of the product
deleted_at : typing.Optional[str]
UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) of the product deleted from the shop's database
+ description : typing.Optional[str]
+ Description of the product
+
image_url : typing.Optional[str]
Absolute URL to the cover image of the product
@@ -866,7 +872,7 @@ def create_update_product(
product deleted from the shop's database
meta_info : typing.Optional[typing.Dict[str, CreateUpdateProductRequestMetaInfoValue]]
- Meta data of product such as description, vendor, producer, stock level. The size of cumulative metaInfo shall not exceed **1000 KB**. Maximum length of metaInfo object can be 20.
+ Meta data of product such as description, vendor, producer, stock level. The total characters of cumulative metaInfo shall not exceed **20000 characters**.
parent_id : typing.Optional[str]
Parent product id of the product
@@ -909,8 +915,10 @@ def create_update_product(
_response = self._raw_client.create_update_product(
id=id,
name=name,
+ brand=brand,
categories=categories,
deleted_at=deleted_at,
+ description=description,
image_url=image_url,
is_deleted=is_deleted,
meta_info=meta_info,
@@ -1722,7 +1730,6 @@ async def main() -> None:
OrderProductsItem(
price=99.99,
product_id="P1",
- quantity=10.0,
)
],
status="completed",
@@ -1800,7 +1807,6 @@ async def main() -> None:
OrderProductsItem(
price=99.99,
product_id="P1",
- quantity=10.0,
)
],
status="completed",
@@ -1935,8 +1941,10 @@ async def create_update_product(
*,
id: str,
name: str,
+ brand: typing.Optional[str] = OMIT,
categories: typing.Optional[typing.Sequence[str]] = OMIT,
deleted_at: typing.Optional[str] = OMIT,
+ description: typing.Optional[str] = OMIT,
image_url: typing.Optional[str] = OMIT,
is_deleted: typing.Optional[bool] = OMIT,
meta_info: typing.Optional[typing.Dict[str, CreateUpdateProductRequestMetaInfoValue]] = OMIT,
@@ -1957,12 +1965,18 @@ async def create_update_product(
name : str
Mandatory in case of creation**. Name of the product for which you requested the details
+ brand : typing.Optional[str]
+ Brand of the product
+
categories : typing.Optional[typing.Sequence[str]]
Category ID-s of the product
deleted_at : typing.Optional[str]
UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) of the product deleted from the shop's database
+ description : typing.Optional[str]
+ Description of the product
+
image_url : typing.Optional[str]
Absolute URL to the cover image of the product
@@ -1970,7 +1984,7 @@ async def create_update_product(
product deleted from the shop's database
meta_info : typing.Optional[typing.Dict[str, CreateUpdateProductRequestMetaInfoValue]]
- Meta data of product such as description, vendor, producer, stock level. The size of cumulative metaInfo shall not exceed **1000 KB**. Maximum length of metaInfo object can be 20.
+ Meta data of product such as description, vendor, producer, stock level. The total characters of cumulative metaInfo shall not exceed **20000 characters**.
parent_id : typing.Optional[str]
Parent product id of the product
@@ -2021,8 +2035,10 @@ async def main() -> None:
_response = await self._raw_client.create_update_product(
id=id,
name=name,
+ brand=brand,
categories=categories,
deleted_at=deleted_at,
+ description=description,
image_url=image_url,
is_deleted=is_deleted,
meta_info=meta_info,
diff --git a/src/brevo/ecommerce/raw_client.py b/src/brevo/ecommerce/raw_client.py
index 980bb0c..8fa5ca6 100644
--- a/src/brevo/ecommerce/raw_client.py
+++ b/src/brevo/ecommerce/raw_client.py
@@ -1201,8 +1201,10 @@ def create_update_product(
*,
id: str,
name: str,
+ brand: typing.Optional[str] = OMIT,
categories: typing.Optional[typing.Sequence[str]] = OMIT,
deleted_at: typing.Optional[str] = OMIT,
+ description: typing.Optional[str] = OMIT,
image_url: typing.Optional[str] = OMIT,
is_deleted: typing.Optional[bool] = OMIT,
meta_info: typing.Optional[typing.Dict[str, CreateUpdateProductRequestMetaInfoValue]] = OMIT,
@@ -1223,12 +1225,18 @@ def create_update_product(
name : str
Mandatory in case of creation**. Name of the product for which you requested the details
+ brand : typing.Optional[str]
+ Brand of the product
+
categories : typing.Optional[typing.Sequence[str]]
Category ID-s of the product
deleted_at : typing.Optional[str]
UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) of the product deleted from the shop's database
+ description : typing.Optional[str]
+ Description of the product
+
image_url : typing.Optional[str]
Absolute URL to the cover image of the product
@@ -1236,7 +1244,7 @@ def create_update_product(
product deleted from the shop's database
meta_info : typing.Optional[typing.Dict[str, CreateUpdateProductRequestMetaInfoValue]]
- Meta data of product such as description, vendor, producer, stock level. The size of cumulative metaInfo shall not exceed **1000 KB**. Maximum length of metaInfo object can be 20.
+ Meta data of product such as description, vendor, producer, stock level. The total characters of cumulative metaInfo shall not exceed **20000 characters**.
parent_id : typing.Optional[str]
Parent product id of the product
@@ -1268,8 +1276,10 @@ def create_update_product(
"products",
method="POST",
json={
+ "brand": brand,
"categories": categories,
"deletedAt": deleted_at,
+ "description": description,
"id": id,
"imageUrl": image_url,
"isDeleted": is_deleted,
@@ -2691,8 +2701,10 @@ async def create_update_product(
*,
id: str,
name: str,
+ brand: typing.Optional[str] = OMIT,
categories: typing.Optional[typing.Sequence[str]] = OMIT,
deleted_at: typing.Optional[str] = OMIT,
+ description: typing.Optional[str] = OMIT,
image_url: typing.Optional[str] = OMIT,
is_deleted: typing.Optional[bool] = OMIT,
meta_info: typing.Optional[typing.Dict[str, CreateUpdateProductRequestMetaInfoValue]] = OMIT,
@@ -2713,12 +2725,18 @@ async def create_update_product(
name : str
Mandatory in case of creation**. Name of the product for which you requested the details
+ brand : typing.Optional[str]
+ Brand of the product
+
categories : typing.Optional[typing.Sequence[str]]
Category ID-s of the product
deleted_at : typing.Optional[str]
UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) of the product deleted from the shop's database
+ description : typing.Optional[str]
+ Description of the product
+
image_url : typing.Optional[str]
Absolute URL to the cover image of the product
@@ -2726,7 +2744,7 @@ async def create_update_product(
product deleted from the shop's database
meta_info : typing.Optional[typing.Dict[str, CreateUpdateProductRequestMetaInfoValue]]
- Meta data of product such as description, vendor, producer, stock level. The size of cumulative metaInfo shall not exceed **1000 KB**. Maximum length of metaInfo object can be 20.
+ Meta data of product such as description, vendor, producer, stock level. The total characters of cumulative metaInfo shall not exceed **20000 characters**.
parent_id : typing.Optional[str]
Parent product id of the product
@@ -2758,8 +2776,10 @@ async def create_update_product(
"products",
method="POST",
json={
+ "brand": brand,
"categories": categories,
"deletedAt": deleted_at,
+ "description": description,
"id": id,
"imageUrl": image_url,
"isDeleted": is_deleted,
diff --git a/src/brevo/ecommerce/types/create_update_batch_products_request_products_item.py b/src/brevo/ecommerce/types/create_update_batch_products_request_products_item.py
index 420200d..fc87083 100644
--- a/src/brevo/ecommerce/types/create_update_batch_products_request_products_item.py
+++ b/src/brevo/ecommerce/types/create_update_batch_products_request_products_item.py
@@ -13,6 +13,11 @@
class CreateUpdateBatchProductsRequestProductsItem(UncheckedBaseModel):
+ brand: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ Brand of the product
+ """
+
categories: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
"""
Category ID-s of the product
@@ -26,6 +31,11 @@ class CreateUpdateBatchProductsRequestProductsItem(UncheckedBaseModel):
description="UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) of the product deleted from the shop's database",
),
] = None
+ description: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ Description of the product
+ """
+
id: str = pydantic.Field()
"""
Product ID for which you requested the details
@@ -46,7 +56,7 @@ class CreateUpdateBatchProductsRequestProductsItem(UncheckedBaseModel):
FieldMetadata(alias="metaInfo"),
pydantic.Field(
alias="metaInfo",
- description="Meta data of product such as description, vendor, producer, stock level. The size of cumulative metaInfo shall not exceed **1000 KB**. Maximum length of metaInfo object can be 20.",
+ description="Meta data of product such as description, vendor, producer, stock level. The total characters of cumulative metaInfo shall not exceed **20000 characters**.",
),
] = None
name: str = pydantic.Field()
diff --git a/src/brevo/email_campaigns/client.py b/src/brevo/email_campaigns/client.py
index 86995ee..cdd70a4 100644
--- a/src/brevo/email_campaigns/client.py
+++ b/src/brevo/email_campaigns/client.py
@@ -64,11 +64,8 @@ def get_email_campaigns(
request_options: typing.Optional[RequestOptions] = None,
) -> GetEmailCampaignsResponse:
"""
-
- The response payload for this endpoint has changed
-
- You now need to specify which type of statistics you would like to retrieve. For more information visit [this page](https://developers.brevo.com/changelog/get-all-marketing-campaigns).
-
+ The response payload for this endpoint has changed
+ You now need to specify which type of statistics you would like to retrieve. For more information visit [this page](https://developers.brevo.com/changelog/get-all-marketing-campaigns).
Parameters
----------
@@ -369,6 +366,7 @@ def get_email_campaign(
campaign_id: int,
*,
statistics: typing.Optional[GetEmailCampaignRequestStatistics] = None,
+ exclude_html_content: typing.Optional[bool] = None,
request_options: typing.Optional[RequestOptions] = None,
) -> GetEmailCampaignResponse:
"""
@@ -380,6 +378,9 @@ def get_email_campaign(
statistics : typing.Optional[GetEmailCampaignRequestStatistics]
Filter on type of the statistics required. Example **globalStats** value will only fetch globalStats info of the campaign in returned response.
+ exclude_html_content : typing.Optional[bool]
+ Use this flag to exclude htmlContent from the response body. If set to **true**, htmlContent field will be returned as empty string in the response body
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -400,7 +401,10 @@ def get_email_campaign(
)
"""
_response = self._raw_client.get_email_campaign(
- campaign_id, statistics=statistics, request_options=request_options
+ campaign_id,
+ statistics=statistics,
+ exclude_html_content=exclude_html_content,
+ request_options=request_options,
)
return _response.data
@@ -925,11 +929,8 @@ async def get_email_campaigns(
request_options: typing.Optional[RequestOptions] = None,
) -> GetEmailCampaignsResponse:
"""
-
- The response payload for this endpoint has changed
-
- You now need to specify which type of statistics you would like to retrieve. For more information visit [this page](https://developers.brevo.com/changelog/get-all-marketing-campaigns).
-
+ The response payload for this endpoint has changed
+ You now need to specify which type of statistics you would like to retrieve. For more information visit [this page](https://developers.brevo.com/changelog/get-all-marketing-campaigns).
Parameters
----------
@@ -1254,6 +1255,7 @@ async def get_email_campaign(
campaign_id: int,
*,
statistics: typing.Optional[GetEmailCampaignRequestStatistics] = None,
+ exclude_html_content: typing.Optional[bool] = None,
request_options: typing.Optional[RequestOptions] = None,
) -> GetEmailCampaignResponse:
"""
@@ -1265,6 +1267,9 @@ async def get_email_campaign(
statistics : typing.Optional[GetEmailCampaignRequestStatistics]
Filter on type of the statistics required. Example **globalStats** value will only fetch globalStats info of the campaign in returned response.
+ exclude_html_content : typing.Optional[bool]
+ Use this flag to exclude htmlContent from the response body. If set to **true**, htmlContent field will be returned as empty string in the response body
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -1293,7 +1298,10 @@ async def main() -> None:
asyncio.run(main())
"""
_response = await self._raw_client.get_email_campaign(
- campaign_id, statistics=statistics, request_options=request_options
+ campaign_id,
+ statistics=statistics,
+ exclude_html_content=exclude_html_content,
+ request_options=request_options,
)
return _response.data
diff --git a/src/brevo/email_campaigns/raw_client.py b/src/brevo/email_campaigns/raw_client.py
index 37a84cb..406285a 100644
--- a/src/brevo/email_campaigns/raw_client.py
+++ b/src/brevo/email_campaigns/raw_client.py
@@ -65,11 +65,8 @@ def get_email_campaigns(
request_options: typing.Optional[RequestOptions] = None,
) -> HttpResponse[GetEmailCampaignsResponse]:
"""
-
- The response payload for this endpoint has changed
-
- You now need to specify which type of statistics you would like to retrieve. For more information visit [this page](https://developers.brevo.com/changelog/get-all-marketing-campaigns).
-
+ The response payload for this endpoint has changed
+ You now need to specify which type of statistics you would like to retrieve. For more information visit [this page](https://developers.brevo.com/changelog/get-all-marketing-campaigns).
Parameters
----------
@@ -451,6 +448,7 @@ def get_email_campaign(
campaign_id: int,
*,
statistics: typing.Optional[GetEmailCampaignRequestStatistics] = None,
+ exclude_html_content: typing.Optional[bool] = None,
request_options: typing.Optional[RequestOptions] = None,
) -> HttpResponse[GetEmailCampaignResponse]:
"""
@@ -462,6 +460,9 @@ def get_email_campaign(
statistics : typing.Optional[GetEmailCampaignRequestStatistics]
Filter on type of the statistics required. Example **globalStats** value will only fetch globalStats info of the campaign in returned response.
+ exclude_html_content : typing.Optional[bool]
+ Use this flag to exclude htmlContent from the response body. If set to **true**, htmlContent field will be returned as empty string in the response body
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -475,6 +476,7 @@ def get_email_campaign(
method="GET",
params={
"statistics": statistics,
+ "excludeHtmlContent": exclude_html_content,
},
request_options=request_options,
)
@@ -1331,11 +1333,8 @@ async def get_email_campaigns(
request_options: typing.Optional[RequestOptions] = None,
) -> AsyncHttpResponse[GetEmailCampaignsResponse]:
"""
-
- The response payload for this endpoint has changed
-
- You now need to specify which type of statistics you would like to retrieve. For more information visit [this page](https://developers.brevo.com/changelog/get-all-marketing-campaigns).
-
+ The response payload for this endpoint has changed
+ You now need to specify which type of statistics you would like to retrieve. For more information visit [this page](https://developers.brevo.com/changelog/get-all-marketing-campaigns).
Parameters
----------
@@ -1717,6 +1716,7 @@ async def get_email_campaign(
campaign_id: int,
*,
statistics: typing.Optional[GetEmailCampaignRequestStatistics] = None,
+ exclude_html_content: typing.Optional[bool] = None,
request_options: typing.Optional[RequestOptions] = None,
) -> AsyncHttpResponse[GetEmailCampaignResponse]:
"""
@@ -1728,6 +1728,9 @@ async def get_email_campaign(
statistics : typing.Optional[GetEmailCampaignRequestStatistics]
Filter on type of the statistics required. Example **globalStats** value will only fetch globalStats info of the campaign in returned response.
+ exclude_html_content : typing.Optional[bool]
+ Use this flag to exclude htmlContent from the response body. If set to **true**, htmlContent field will be returned as empty string in the response body
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -1741,6 +1744,7 @@ async def get_email_campaign(
method="GET",
params={
"statistics": statistics,
+ "excludeHtmlContent": exclude_html_content,
},
request_options=request_options,
)
diff --git a/src/brevo/email_campaigns/types/get_email_campaign_response.py b/src/brevo/email_campaigns/types/get_email_campaign_response.py
index fa3bdd8..a8e3b1b 100644
--- a/src/brevo/email_campaigns/types/get_email_campaign_response.py
+++ b/src/brevo/email_campaigns/types/get_email_campaign_response.py
@@ -15,6 +15,14 @@
class GetEmailCampaignResponse(UncheckedBaseModel):
+ attachment_file: typing_extensions.Annotated[
+ typing.Optional[str],
+ FieldMetadata(alias="attachmentFile"),
+ pydantic.Field(
+ alias="attachmentFile",
+ description="Url of the attachment file. Only available if the campaign has an attachment.",
+ ),
+ ] = None
ab_testing: typing_extensions.Annotated[
typing.Optional[bool],
FieldMetadata(alias="abTesting"),
@@ -190,6 +198,11 @@ class GetEmailCampaignResponse(UncheckedBaseModel):
Tag of the campaign
"""
+ tags: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
+ """
+ List of tags of the campaign
+ """
+
test_sent: typing_extensions.Annotated[
bool,
FieldMetadata(alias="testSent"),
diff --git a/src/brevo/email_campaigns/types/get_email_campaign_response_status.py b/src/brevo/email_campaigns/types/get_email_campaign_response_status.py
index 090cb9b..0f7474e 100644
--- a/src/brevo/email_campaigns/types/get_email_campaign_response_status.py
+++ b/src/brevo/email_campaigns/types/get_email_campaign_response_status.py
@@ -3,5 +3,8 @@
import typing
GetEmailCampaignResponseStatus = typing.Union[
- typing.Literal["draft", "sent", "archive", "queued", "suspended", "in_process"], typing.Any
+ typing.Literal[
+ "draft", "sent", "archive", "queued", "suspended", "in_process", "in_review", "cancelling", "cancelled"
+ ],
+ typing.Any,
]
diff --git a/src/brevo/email_campaigns/types/get_email_campaigns_request_status.py b/src/brevo/email_campaigns/types/get_email_campaigns_request_status.py
index 540a22b..a202474 100644
--- a/src/brevo/email_campaigns/types/get_email_campaigns_request_status.py
+++ b/src/brevo/email_campaigns/types/get_email_campaigns_request_status.py
@@ -3,5 +3,8 @@
import typing
GetEmailCampaignsRequestStatus = typing.Union[
- typing.Literal["suspended", "archive", "sent", "queued", "draft", "inProcess", "inReview"], typing.Any
+ typing.Literal[
+ "suspended", "archive", "sent", "queued", "draft", "inProcess", "inReview", "cancelling", "cancelled"
+ ],
+ typing.Any,
]
diff --git a/src/brevo/email_campaigns/types/get_email_campaigns_response_campaigns_item.py b/src/brevo/email_campaigns/types/get_email_campaigns_response_campaigns_item.py
index 4a4a426..c20b183 100644
--- a/src/brevo/email_campaigns/types/get_email_campaigns_response_campaigns_item.py
+++ b/src/brevo/email_campaigns/types/get_email_campaigns_response_campaigns_item.py
@@ -15,6 +15,14 @@
class GetEmailCampaignsResponseCampaignsItem(UncheckedBaseModel):
+ attachment_file: typing_extensions.Annotated[
+ typing.Optional[str],
+ FieldMetadata(alias="attachmentFile"),
+ pydantic.Field(
+ alias="attachmentFile",
+ description="Url of the attachment file. Only available if the campaign has an attachment.",
+ ),
+ ] = None
ab_testing: typing_extensions.Annotated[
typing.Optional[bool],
FieldMetadata(alias="abTesting"),
@@ -190,6 +198,11 @@ class GetEmailCampaignsResponseCampaignsItem(UncheckedBaseModel):
Tag of the campaign
"""
+ tags: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
+ """
+ List of tags of the campaign
+ """
+
test_sent: typing_extensions.Annotated[
bool,
FieldMetadata(alias="testSent"),
diff --git a/src/brevo/email_campaigns/types/get_email_campaigns_response_campaigns_item_status.py b/src/brevo/email_campaigns/types/get_email_campaigns_response_campaigns_item_status.py
index 1a7bb9a..46d1706 100644
--- a/src/brevo/email_campaigns/types/get_email_campaigns_response_campaigns_item_status.py
+++ b/src/brevo/email_campaigns/types/get_email_campaigns_response_campaigns_item_status.py
@@ -3,5 +3,8 @@
import typing
GetEmailCampaignsResponseCampaignsItemStatus = typing.Union[
- typing.Literal["draft", "sent", "archive", "queued", "suspended", "in_process"], typing.Any
+ typing.Literal[
+ "draft", "sent", "archive", "queued", "suspended", "in_process", "in_review", "cancelling", "cancelled"
+ ],
+ typing.Any,
]
diff --git a/src/brevo/event/__init__.py b/src/brevo/event/__init__.py
index 5e3c63f..d34bb1a 100644
--- a/src/brevo/event/__init__.py
+++ b/src/brevo/event/__init__.py
@@ -7,6 +7,12 @@
if typing.TYPE_CHECKING:
from .types import (
+ CreateBatchEventsRequestItem,
+ CreateBatchEventsRequestItemContactPropertiesValue,
+ CreateBatchEventsRequestItemEventPropertiesValue,
+ CreateBatchEventsRequestItemIdentifiers,
+ CreateBatchEventsRequestItemObject,
+ CreateBatchEventsRequestItemObjectIdentifiers,
CreateEventRequestContactPropertiesValue,
CreateEventRequestEventPropertiesValue,
CreateEventRequestIdentifiers,
@@ -14,6 +20,12 @@
CreateEventRequestObjectIdentifiers,
)
_dynamic_imports: typing.Dict[str, str] = {
+ "CreateBatchEventsRequestItem": ".types",
+ "CreateBatchEventsRequestItemContactPropertiesValue": ".types",
+ "CreateBatchEventsRequestItemEventPropertiesValue": ".types",
+ "CreateBatchEventsRequestItemIdentifiers": ".types",
+ "CreateBatchEventsRequestItemObject": ".types",
+ "CreateBatchEventsRequestItemObjectIdentifiers": ".types",
"CreateEventRequestContactPropertiesValue": ".types",
"CreateEventRequestEventPropertiesValue": ".types",
"CreateEventRequestIdentifiers": ".types",
@@ -44,6 +56,12 @@ def __dir__():
__all__ = [
+ "CreateBatchEventsRequestItem",
+ "CreateBatchEventsRequestItemContactPropertiesValue",
+ "CreateBatchEventsRequestItemEventPropertiesValue",
+ "CreateBatchEventsRequestItemIdentifiers",
+ "CreateBatchEventsRequestItemObject",
+ "CreateBatchEventsRequestItemObjectIdentifiers",
"CreateEventRequestContactPropertiesValue",
"CreateEventRequestEventPropertiesValue",
"CreateEventRequestIdentifiers",
diff --git a/src/brevo/event/client.py b/src/brevo/event/client.py
index 2506571..e5554f1 100644
--- a/src/brevo/event/client.py
+++ b/src/brevo/event/client.py
@@ -4,7 +4,10 @@
from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
from ..core.request_options import RequestOptions
+from ..types.batch_accepted_response import BatchAcceptedResponse
+from ..types.get_events_list import GetEventsList
from .raw_client import AsyncRawEventClient, RawEventClient
+from .types.create_batch_events_request_item import CreateBatchEventsRequestItem
from .types.create_event_request_contact_properties_value import CreateEventRequestContactPropertiesValue
from .types.create_event_request_event_properties_value import CreateEventRequestEventPropertiesValue
from .types.create_event_request_identifiers import CreateEventRequestIdentifiers
@@ -29,6 +32,77 @@ def with_raw_response(self) -> RawEventClient:
"""
return self._raw_client
+ def get_events(
+ self,
+ *,
+ contact_id: typing.Optional[typing.Union[int, typing.Sequence[int]]] = None,
+ event_name: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
+ object_type: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
+ start_date: typing.Optional[str] = None,
+ end_date: typing.Optional[str] = None,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> GetEventsList:
+ """
+
+ This endpoint currently only supports custom events.
+
+
+ Retrieve a list of events filtered by various criteria.
+
+ Parameters
+ ----------
+ contact_id : typing.Optional[typing.Union[int, typing.Sequence[int]]]
+ Filter by contact ID (repeatable)
+
+ event_name : typing.Optional[typing.Union[str, typing.Sequence[str]]]
+ Filter by event name (repeatable)
+
+ object_type : typing.Optional[typing.Union[str, typing.Sequence[str]]]
+ Filter by object type (repeatable)
+
+ start_date : typing.Optional[str]
+ Mandatory if endDate is used. Start of date range (YYYY-MM-DD or RFC3339). Defaults to 6 months ago when omitted alongside endDate. Must be ≤ endDate.
+
+ end_date : typing.Optional[str]
+ Mandatory if startDate is used. End of date range (YYYY-MM-DD or RFC3339). Must be ≥ startDate.
+
+ limit : typing.Optional[int]
+ Max events to return. Default 100, min 1, max 10000.
+
+ offset : typing.Optional[int]
+ Events to skip for pagination. Default 0, min 0.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ GetEventsList
+ List of events and total count for pagination
+
+ Examples
+ --------
+ from brevo import Brevo
+
+ client = Brevo(
+ api_key="YOUR_API_KEY",
+ )
+ client.event.get_events()
+ """
+ _response = self._raw_client.get_events(
+ contact_id=contact_id,
+ event_name=event_name,
+ object_type=object_type,
+ start_date=start_date,
+ end_date=end_date,
+ limit=limit,
+ offset=offset,
+ request_options=request_options,
+ )
+ return _response.data
+
def create_event(
self,
*,
@@ -94,6 +168,50 @@ def create_event(
)
return _response.data
+ def create_batch_events(
+ self,
+ *,
+ request: typing.Sequence[CreateBatchEventsRequestItem],
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> BatchAcceptedResponse:
+ """
+ Create multiple events to track contacts' interactions in a single request.
+
+ Parameters
+ ----------
+ request : typing.Sequence[CreateBatchEventsRequestItem]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ BatchAcceptedResponse
+ Batch accepted - all events have been added to the processing queue
+
+ Examples
+ --------
+ from brevo import Brevo
+ from brevo.event import (
+ CreateBatchEventsRequestItem,
+ CreateBatchEventsRequestItemIdentifiers,
+ )
+
+ client = Brevo(
+ api_key="YOUR_API_KEY",
+ )
+ client.event.create_batch_events(
+ request=[
+ CreateBatchEventsRequestItem(
+ event_name="order_created",
+ identifiers=CreateBatchEventsRequestItemIdentifiers(),
+ )
+ ],
+ )
+ """
+ _response = self._raw_client.create_batch_events(request=request, request_options=request_options)
+ return _response.data
+
class AsyncEventClient:
def __init__(self, *, client_wrapper: AsyncClientWrapper):
@@ -110,6 +228,85 @@ def with_raw_response(self) -> AsyncRawEventClient:
"""
return self._raw_client
+ async def get_events(
+ self,
+ *,
+ contact_id: typing.Optional[typing.Union[int, typing.Sequence[int]]] = None,
+ event_name: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
+ object_type: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
+ start_date: typing.Optional[str] = None,
+ end_date: typing.Optional[str] = None,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> GetEventsList:
+ """
+
+ This endpoint currently only supports custom events.
+
+
+ Retrieve a list of events filtered by various criteria.
+
+ Parameters
+ ----------
+ contact_id : typing.Optional[typing.Union[int, typing.Sequence[int]]]
+ Filter by contact ID (repeatable)
+
+ event_name : typing.Optional[typing.Union[str, typing.Sequence[str]]]
+ Filter by event name (repeatable)
+
+ object_type : typing.Optional[typing.Union[str, typing.Sequence[str]]]
+ Filter by object type (repeatable)
+
+ start_date : typing.Optional[str]
+ Mandatory if endDate is used. Start of date range (YYYY-MM-DD or RFC3339). Defaults to 6 months ago when omitted alongside endDate. Must be ≤ endDate.
+
+ end_date : typing.Optional[str]
+ Mandatory if startDate is used. End of date range (YYYY-MM-DD or RFC3339). Must be ≥ startDate.
+
+ limit : typing.Optional[int]
+ Max events to return. Default 100, min 1, max 10000.
+
+ offset : typing.Optional[int]
+ Events to skip for pagination. Default 0, min 0.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ GetEventsList
+ List of events and total count for pagination
+
+ Examples
+ --------
+ import asyncio
+
+ from brevo import AsyncBrevo
+
+ client = AsyncBrevo(
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.event.get_events()
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.get_events(
+ contact_id=contact_id,
+ event_name=event_name,
+ object_type=object_type,
+ start_date=start_date,
+ end_date=end_date,
+ limit=limit,
+ offset=offset,
+ request_options=request_options,
+ )
+ return _response.data
+
async def create_event(
self,
*,
@@ -182,3 +379,55 @@ async def main() -> None:
request_options=request_options,
)
return _response.data
+
+ async def create_batch_events(
+ self,
+ *,
+ request: typing.Sequence[CreateBatchEventsRequestItem],
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> BatchAcceptedResponse:
+ """
+ Create multiple events to track contacts' interactions in a single request.
+
+ Parameters
+ ----------
+ request : typing.Sequence[CreateBatchEventsRequestItem]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ BatchAcceptedResponse
+ Batch accepted - all events have been added to the processing queue
+
+ Examples
+ --------
+ import asyncio
+
+ from brevo import AsyncBrevo
+ from brevo.event import (
+ CreateBatchEventsRequestItem,
+ CreateBatchEventsRequestItemIdentifiers,
+ )
+
+ client = AsyncBrevo(
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.event.create_batch_events(
+ request=[
+ CreateBatchEventsRequestItem(
+ event_name="order_created",
+ identifiers=CreateBatchEventsRequestItemIdentifiers(),
+ )
+ ],
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.create_batch_events(request=request, request_options=request_options)
+ return _response.data
diff --git a/src/brevo/event/raw_client.py b/src/brevo/event/raw_client.py
index 7bcd202..7c1153c 100644
--- a/src/brevo/event/raw_client.py
+++ b/src/brevo/event/raw_client.py
@@ -11,7 +11,11 @@
from ..core.serialization import convert_and_respect_annotation_metadata
from ..core.unchecked_base_model import construct_type
from ..errors.bad_request_error import BadRequestError
+from ..errors.internal_server_error import InternalServerError
from ..errors.unauthorized_error import UnauthorizedError
+from ..types.batch_accepted_response import BatchAcceptedResponse
+from ..types.get_events_list import GetEventsList
+from .types.create_batch_events_request_item import CreateBatchEventsRequestItem
from .types.create_event_request_contact_properties_value import CreateEventRequestContactPropertiesValue
from .types.create_event_request_event_properties_value import CreateEventRequestEventPropertiesValue
from .types.create_event_request_identifiers import CreateEventRequestIdentifiers
@@ -26,6 +30,122 @@ class RawEventClient:
def __init__(self, *, client_wrapper: SyncClientWrapper):
self._client_wrapper = client_wrapper
+ def get_events(
+ self,
+ *,
+ contact_id: typing.Optional[typing.Union[int, typing.Sequence[int]]] = None,
+ event_name: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
+ object_type: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
+ start_date: typing.Optional[str] = None,
+ end_date: typing.Optional[str] = None,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[GetEventsList]:
+ """
+
+ This endpoint currently only supports custom events.
+
+
+ Retrieve a list of events filtered by various criteria.
+
+ Parameters
+ ----------
+ contact_id : typing.Optional[typing.Union[int, typing.Sequence[int]]]
+ Filter by contact ID (repeatable)
+
+ event_name : typing.Optional[typing.Union[str, typing.Sequence[str]]]
+ Filter by event name (repeatable)
+
+ object_type : typing.Optional[typing.Union[str, typing.Sequence[str]]]
+ Filter by object type (repeatable)
+
+ start_date : typing.Optional[str]
+ Mandatory if endDate is used. Start of date range (YYYY-MM-DD or RFC3339). Defaults to 6 months ago when omitted alongside endDate. Must be ≤ endDate.
+
+ end_date : typing.Optional[str]
+ Mandatory if startDate is used. End of date range (YYYY-MM-DD or RFC3339). Must be ≥ startDate.
+
+ limit : typing.Optional[int]
+ Max events to return. Default 100, min 1, max 10000.
+
+ offset : typing.Optional[int]
+ Events to skip for pagination. Default 0, min 0.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[GetEventsList]
+ List of events and total count for pagination
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ "events",
+ method="GET",
+ params={
+ "contact_id": contact_id,
+ "event_name": event_name,
+ "object_type": object_type,
+ "startDate": start_date,
+ "endDate": end_date,
+ "limit": limit,
+ "offset": offset,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ GetEventsList,
+ construct_type(
+ type_=GetEventsList, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 401:
+ raise UnauthorizedError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 500:
+ raise InternalServerError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ except ValidationError as e:
+ raise ParsingError(
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
+ )
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
def create_event(
self,
*,
@@ -130,11 +250,201 @@ def create_event(
)
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+ def create_batch_events(
+ self,
+ *,
+ request: typing.Sequence[CreateBatchEventsRequestItem],
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[BatchAcceptedResponse]:
+ """
+ Create multiple events to track contacts' interactions in a single request.
+
+ Parameters
+ ----------
+ request : typing.Sequence[CreateBatchEventsRequestItem]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[BatchAcceptedResponse]
+ Batch accepted - all events have been added to the processing queue
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ "events/batch",
+ method="POST",
+ json=convert_and_respect_annotation_metadata(
+ object_=request, annotation=typing.Sequence[CreateBatchEventsRequestItem], direction="write"
+ ),
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ BatchAcceptedResponse,
+ construct_type(
+ type_=BatchAcceptedResponse, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 401:
+ raise UnauthorizedError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ except ValidationError as e:
+ raise ParsingError(
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
+ )
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
class AsyncRawEventClient:
def __init__(self, *, client_wrapper: AsyncClientWrapper):
self._client_wrapper = client_wrapper
+ async def get_events(
+ self,
+ *,
+ contact_id: typing.Optional[typing.Union[int, typing.Sequence[int]]] = None,
+ event_name: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
+ object_type: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
+ start_date: typing.Optional[str] = None,
+ end_date: typing.Optional[str] = None,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[GetEventsList]:
+ """
+
+ This endpoint currently only supports custom events.
+
+
+ Retrieve a list of events filtered by various criteria.
+
+ Parameters
+ ----------
+ contact_id : typing.Optional[typing.Union[int, typing.Sequence[int]]]
+ Filter by contact ID (repeatable)
+
+ event_name : typing.Optional[typing.Union[str, typing.Sequence[str]]]
+ Filter by event name (repeatable)
+
+ object_type : typing.Optional[typing.Union[str, typing.Sequence[str]]]
+ Filter by object type (repeatable)
+
+ start_date : typing.Optional[str]
+ Mandatory if endDate is used. Start of date range (YYYY-MM-DD or RFC3339). Defaults to 6 months ago when omitted alongside endDate. Must be ≤ endDate.
+
+ end_date : typing.Optional[str]
+ Mandatory if startDate is used. End of date range (YYYY-MM-DD or RFC3339). Must be ≥ startDate.
+
+ limit : typing.Optional[int]
+ Max events to return. Default 100, min 1, max 10000.
+
+ offset : typing.Optional[int]
+ Events to skip for pagination. Default 0, min 0.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[GetEventsList]
+ List of events and total count for pagination
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ "events",
+ method="GET",
+ params={
+ "contact_id": contact_id,
+ "event_name": event_name,
+ "object_type": object_type,
+ "startDate": start_date,
+ "endDate": end_date,
+ "limit": limit,
+ "offset": offset,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ GetEventsList,
+ construct_type(
+ type_=GetEventsList, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 401:
+ raise UnauthorizedError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 500:
+ raise InternalServerError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ except ValidationError as e:
+ raise ParsingError(
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
+ )
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
async def create_event(
self,
*,
@@ -238,3 +548,77 @@ async def create_event(
status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
)
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def create_batch_events(
+ self,
+ *,
+ request: typing.Sequence[CreateBatchEventsRequestItem],
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[BatchAcceptedResponse]:
+ """
+ Create multiple events to track contacts' interactions in a single request.
+
+ Parameters
+ ----------
+ request : typing.Sequence[CreateBatchEventsRequestItem]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[BatchAcceptedResponse]
+ Batch accepted - all events have been added to the processing queue
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ "events/batch",
+ method="POST",
+ json=convert_and_respect_annotation_metadata(
+ object_=request, annotation=typing.Sequence[CreateBatchEventsRequestItem], direction="write"
+ ),
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ BatchAcceptedResponse,
+ construct_type(
+ type_=BatchAcceptedResponse, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 401:
+ raise UnauthorizedError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ except ValidationError as e:
+ raise ParsingError(
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
+ )
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/brevo/event/types/__init__.py b/src/brevo/event/types/__init__.py
index 7699b97..4756a15 100644
--- a/src/brevo/event/types/__init__.py
+++ b/src/brevo/event/types/__init__.py
@@ -6,12 +6,28 @@
from importlib import import_module
if typing.TYPE_CHECKING:
+ from .create_batch_events_request_item import CreateBatchEventsRequestItem
+ from .create_batch_events_request_item_contact_properties_value import (
+ CreateBatchEventsRequestItemContactPropertiesValue,
+ )
+ from .create_batch_events_request_item_event_properties_value import (
+ CreateBatchEventsRequestItemEventPropertiesValue,
+ )
+ from .create_batch_events_request_item_identifiers import CreateBatchEventsRequestItemIdentifiers
+ from .create_batch_events_request_item_object import CreateBatchEventsRequestItemObject
+ from .create_batch_events_request_item_object_identifiers import CreateBatchEventsRequestItemObjectIdentifiers
from .create_event_request_contact_properties_value import CreateEventRequestContactPropertiesValue
from .create_event_request_event_properties_value import CreateEventRequestEventPropertiesValue
from .create_event_request_identifiers import CreateEventRequestIdentifiers
from .create_event_request_object import CreateEventRequestObject
from .create_event_request_object_identifiers import CreateEventRequestObjectIdentifiers
_dynamic_imports: typing.Dict[str, str] = {
+ "CreateBatchEventsRequestItem": ".create_batch_events_request_item",
+ "CreateBatchEventsRequestItemContactPropertiesValue": ".create_batch_events_request_item_contact_properties_value",
+ "CreateBatchEventsRequestItemEventPropertiesValue": ".create_batch_events_request_item_event_properties_value",
+ "CreateBatchEventsRequestItemIdentifiers": ".create_batch_events_request_item_identifiers",
+ "CreateBatchEventsRequestItemObject": ".create_batch_events_request_item_object",
+ "CreateBatchEventsRequestItemObjectIdentifiers": ".create_batch_events_request_item_object_identifiers",
"CreateEventRequestContactPropertiesValue": ".create_event_request_contact_properties_value",
"CreateEventRequestEventPropertiesValue": ".create_event_request_event_properties_value",
"CreateEventRequestIdentifiers": ".create_event_request_identifiers",
@@ -42,6 +58,12 @@ def __dir__():
__all__ = [
+ "CreateBatchEventsRequestItem",
+ "CreateBatchEventsRequestItemContactPropertiesValue",
+ "CreateBatchEventsRequestItemEventPropertiesValue",
+ "CreateBatchEventsRequestItemIdentifiers",
+ "CreateBatchEventsRequestItemObject",
+ "CreateBatchEventsRequestItemObjectIdentifiers",
"CreateEventRequestContactPropertiesValue",
"CreateEventRequestEventPropertiesValue",
"CreateEventRequestIdentifiers",
diff --git a/src/brevo/event/types/create_batch_events_request_item.py b/src/brevo/event/types/create_batch_events_request_item.py
new file mode 100644
index 0000000..c4f0679
--- /dev/null
+++ b/src/brevo/event/types/create_batch_events_request_item.py
@@ -0,0 +1,58 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ...core.pydantic_utilities import IS_PYDANTIC_V2
+from ...core.unchecked_base_model import UncheckedBaseModel
+from .create_batch_events_request_item_contact_properties_value import (
+ CreateBatchEventsRequestItemContactPropertiesValue,
+)
+from .create_batch_events_request_item_event_properties_value import CreateBatchEventsRequestItemEventPropertiesValue
+from .create_batch_events_request_item_identifiers import CreateBatchEventsRequestItemIdentifiers
+from .create_batch_events_request_item_object import CreateBatchEventsRequestItemObject
+
+
+class CreateBatchEventsRequestItem(UncheckedBaseModel):
+ contact_properties: typing.Optional[typing.Dict[str, CreateBatchEventsRequestItemContactPropertiesValue]] = (
+ pydantic.Field(default=None)
+ )
+ """
+ Properties defining the state of the contact associated to this event. Useful to update contact attributes defined in your contacts database while passing the event. For example: **"FIRSTNAME": "Jane" , "AGE": 37**
+ """
+
+ event_date: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ Timestamp of when the event occurred (e.g. "2024-01-24T17:39:57+01:00"). If no value is passed, the timestamp of the event creation is used.
+ """
+
+ event_name: str = pydantic.Field()
+ """
+ The name of the event that occurred. This is how you will find your event in Brevo. Limited to 255 characters, alphanumerical characters and - _ only.
+ """
+
+ event_properties: typing.Optional[typing.Dict[str, CreateBatchEventsRequestItemEventPropertiesValue]] = (
+ pydantic.Field(default=None)
+ )
+ """
+ Properties of the event. Top level properties and nested properties can be used to better segment contacts and personalise workflow conditions. The following field type are supported: string, number, boolean (true/false), date (Timestamp e.g. "2024-01-24T17:39:57+01:00"). Keys are limited to 255 characters, alphanumerical characters and - _ only. Size is limited to 50Kb.
+ """
+
+ identifiers: CreateBatchEventsRequestItemIdentifiers = pydantic.Field()
+ """
+ Identifies the contact associated with the event. At least one identifier is required.
+ """
+
+ object: typing.Optional[CreateBatchEventsRequestItemObject] = pydantic.Field(default=None)
+ """
+ Identifiers of the object record associated with this event. Ignored if the object type or identifier for this record does not exist on the account.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/brevo/event/types/create_batch_events_request_item_contact_properties_value.py b/src/brevo/event/types/create_batch_events_request_item_contact_properties_value.py
new file mode 100644
index 0000000..5169839
--- /dev/null
+++ b/src/brevo/event/types/create_batch_events_request_item_contact_properties_value.py
@@ -0,0 +1,5 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+CreateBatchEventsRequestItemContactPropertiesValue = typing.Union[str, int]
diff --git a/src/brevo/event/types/create_batch_events_request_item_event_properties_value.py b/src/brevo/event/types/create_batch_events_request_item_event_properties_value.py
new file mode 100644
index 0000000..c7fbc77
--- /dev/null
+++ b/src/brevo/event/types/create_batch_events_request_item_event_properties_value.py
@@ -0,0 +1,7 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+CreateBatchEventsRequestItemEventPropertiesValue = typing.Union[
+ str, int, typing.Dict[str, typing.Any], typing.List[typing.Any]
+]
diff --git a/src/brevo/event/types/create_batch_events_request_item_identifiers.py b/src/brevo/event/types/create_batch_events_request_item_identifiers.py
new file mode 100644
index 0000000..10b9844
--- /dev/null
+++ b/src/brevo/event/types/create_batch_events_request_item_identifiers.py
@@ -0,0 +1,52 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ...core.pydantic_utilities import IS_PYDANTIC_V2
+from ...core.unchecked_base_model import UncheckedBaseModel
+
+
+class CreateBatchEventsRequestItemIdentifiers(UncheckedBaseModel):
+ """
+ Identifies the contact associated with the event. At least one identifier is required.
+ """
+
+ contact_id: typing.Optional[int] = pydantic.Field(default=None)
+ """
+ Internal unique contact ID. When present, this takes priority over all other identifiers for event attribution and contact resolution.
+ """
+
+ email_id: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ Email Id associated with the event
+ """
+
+ ext_id: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ ext_id associated with the event
+ """
+
+ landline_number_id: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ landline_number associated with the event
+ """
+
+ phone_id: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ SMS associated with the event
+ """
+
+ whatsapp_id: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ whatsapp associated with the event
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/brevo/event/types/create_batch_events_request_item_object.py b/src/brevo/event/types/create_batch_events_request_item_object.py
new file mode 100644
index 0000000..82f513b
--- /dev/null
+++ b/src/brevo/event/types/create_batch_events_request_item_object.py
@@ -0,0 +1,33 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ...core.pydantic_utilities import IS_PYDANTIC_V2
+from ...core.unchecked_base_model import UncheckedBaseModel
+from .create_batch_events_request_item_object_identifiers import CreateBatchEventsRequestItemObjectIdentifiers
+
+
+class CreateBatchEventsRequestItemObject(UncheckedBaseModel):
+ """
+ Identifiers of the object record associated with this event. Ignored if the object type or identifier for this record does not exist on the account.
+ """
+
+ identifiers: typing.Optional[CreateBatchEventsRequestItemObjectIdentifiers] = pydantic.Field(default=None)
+ """
+ Identifiers for the object.
+ """
+
+ type: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ Type of object (e.g., subscription, vehicle, etc.)
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/brevo/event/types/create_batch_events_request_item_object_identifiers.py b/src/brevo/event/types/create_batch_events_request_item_object_identifiers.py
new file mode 100644
index 0000000..7e3278d
--- /dev/null
+++ b/src/brevo/event/types/create_batch_events_request_item_object_identifiers.py
@@ -0,0 +1,32 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ...core.pydantic_utilities import IS_PYDANTIC_V2
+from ...core.unchecked_base_model import UncheckedBaseModel
+
+
+class CreateBatchEventsRequestItemObjectIdentifiers(UncheckedBaseModel):
+ """
+ Identifiers for the object.
+ """
+
+ ext_id: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ External object ID
+ """
+
+ id: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ Internal object ID
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/brevo/program/client.py b/src/brevo/program/client.py
index b1c316a..2fbc2a1 100644
--- a/src/brevo/program/client.py
+++ b/src/brevo/program/client.py
@@ -300,6 +300,7 @@ def get_parameter_subscription_info(
contact_id: typing.Optional[str] = None,
params: typing.Optional[str] = None,
loyalty_subscription_id: typing.Optional[str] = None,
+ include_internal: typing.Optional[bool] = None,
request_options: typing.Optional[RequestOptions] = None,
) -> GetParameterSubscriptionInfoResponse:
"""
@@ -319,6 +320,9 @@ def get_parameter_subscription_info(
loyalty_subscription_id : typing.Optional[str]
The loyalty subscription ID to filter by.
+ include_internal : typing.Optional[bool]
+ Include balances tied to internal definitions.
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -343,10 +347,47 @@ def get_parameter_subscription_info(
contact_id=contact_id,
params=params,
loyalty_subscription_id=loyalty_subscription_id,
+ include_internal=include_internal,
request_options=request_options,
)
return _response.data
+ def delete_contact_subscription(
+ self, pid: str, cid: int, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> None:
+ """
+ Delete subscription for a contact
+
+ Parameters
+ ----------
+ pid : str
+ Loyalty Program ID. A unique identifier for the loyalty program.
+
+ cid : int
+ Contact ID.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ None
+
+ Examples
+ --------
+ from brevo import Brevo
+
+ client = Brevo(
+ api_key="YOUR_API_KEY",
+ )
+ client.program.delete_contact_subscription(
+ pid="pid",
+ cid=1,
+ )
+ """
+ _response = self._raw_client.delete_contact_subscription(pid, cid, request_options=request_options)
+ return _response.data
+
def publish_loyalty_program(self, pid: str, *, request_options: typing.Optional[RequestOptions] = None) -> None:
"""
Publishes loyalty program
@@ -860,6 +901,7 @@ async def get_parameter_subscription_info(
contact_id: typing.Optional[str] = None,
params: typing.Optional[str] = None,
loyalty_subscription_id: typing.Optional[str] = None,
+ include_internal: typing.Optional[bool] = None,
request_options: typing.Optional[RequestOptions] = None,
) -> GetParameterSubscriptionInfoResponse:
"""
@@ -879,6 +921,9 @@ async def get_parameter_subscription_info(
loyalty_subscription_id : typing.Optional[str]
The loyalty subscription ID to filter by.
+ include_internal : typing.Optional[bool]
+ Include balances tied to internal definitions.
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -911,10 +956,55 @@ async def main() -> None:
contact_id=contact_id,
params=params,
loyalty_subscription_id=loyalty_subscription_id,
+ include_internal=include_internal,
request_options=request_options,
)
return _response.data
+ async def delete_contact_subscription(
+ self, pid: str, cid: int, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> None:
+ """
+ Delete subscription for a contact
+
+ Parameters
+ ----------
+ pid : str
+ Loyalty Program ID. A unique identifier for the loyalty program.
+
+ cid : int
+ Contact ID.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ None
+
+ Examples
+ --------
+ import asyncio
+
+ from brevo import AsyncBrevo
+
+ client = AsyncBrevo(
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.program.delete_contact_subscription(
+ pid="pid",
+ cid=1,
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.delete_contact_subscription(pid, cid, request_options=request_options)
+ return _response.data
+
async def publish_loyalty_program(
self, pid: str, *, request_options: typing.Optional[RequestOptions] = None
) -> None:
diff --git a/src/brevo/program/raw_client.py b/src/brevo/program/raw_client.py
index 8c907e9..1dca195 100644
--- a/src/brevo/program/raw_client.py
+++ b/src/brevo/program/raw_client.py
@@ -748,6 +748,7 @@ def get_parameter_subscription_info(
contact_id: typing.Optional[str] = None,
params: typing.Optional[str] = None,
loyalty_subscription_id: typing.Optional[str] = None,
+ include_internal: typing.Optional[bool] = None,
request_options: typing.Optional[RequestOptions] = None,
) -> HttpResponse[GetParameterSubscriptionInfoResponse]:
"""
@@ -767,6 +768,9 @@ def get_parameter_subscription_info(
loyalty_subscription_id : typing.Optional[str]
The loyalty subscription ID to filter by.
+ include_internal : typing.Optional[bool]
+ Include balances tied to internal definitions.
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -782,6 +786,7 @@ def get_parameter_subscription_info(
"contactId": contact_id,
"params": params,
"loyaltySubscriptionId": loyalty_subscription_id,
+ "includeInternal": include_internal,
},
request_options=request_options,
)
@@ -859,6 +864,110 @@ def get_parameter_subscription_info(
)
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+ def delete_contact_subscription(
+ self, pid: str, cid: int, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> HttpResponse[None]:
+ """
+ Delete subscription for a contact
+
+ Parameters
+ ----------
+ pid : str
+ Loyalty Program ID. A unique identifier for the loyalty program.
+
+ cid : int
+ Contact ID.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[None]
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"loyalty/config/programs/{jsonable_encoder(pid)}/contact/{jsonable_encoder(cid)}",
+ method="DELETE",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ return HttpResponse(response=_response, data=None)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 401:
+ raise UnauthorizedError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 403:
+ raise ForbiddenError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 404:
+ raise NotFoundError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 422:
+ raise UnprocessableEntityError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ ErrorModel,
+ construct_type(
+ type_=ErrorModel, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 500:
+ raise InternalServerError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ except ValidationError as e:
+ raise ParsingError(
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
+ )
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
def publish_loyalty_program(
self, pid: str, *, request_options: typing.Optional[RequestOptions] = None
) -> HttpResponse[None]:
@@ -2041,6 +2150,7 @@ async def get_parameter_subscription_info(
contact_id: typing.Optional[str] = None,
params: typing.Optional[str] = None,
loyalty_subscription_id: typing.Optional[str] = None,
+ include_internal: typing.Optional[bool] = None,
request_options: typing.Optional[RequestOptions] = None,
) -> AsyncHttpResponse[GetParameterSubscriptionInfoResponse]:
"""
@@ -2060,6 +2170,9 @@ async def get_parameter_subscription_info(
loyalty_subscription_id : typing.Optional[str]
The loyalty subscription ID to filter by.
+ include_internal : typing.Optional[bool]
+ Include balances tied to internal definitions.
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -2075,6 +2188,7 @@ async def get_parameter_subscription_info(
"contactId": contact_id,
"params": params,
"loyaltySubscriptionId": loyalty_subscription_id,
+ "includeInternal": include_internal,
},
request_options=request_options,
)
@@ -2152,6 +2266,110 @@ async def get_parameter_subscription_info(
)
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+ async def delete_contact_subscription(
+ self, pid: str, cid: int, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> AsyncHttpResponse[None]:
+ """
+ Delete subscription for a contact
+
+ Parameters
+ ----------
+ pid : str
+ Loyalty Program ID. A unique identifier for the loyalty program.
+
+ cid : int
+ Contact ID.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[None]
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"loyalty/config/programs/{jsonable_encoder(pid)}/contact/{jsonable_encoder(cid)}",
+ method="DELETE",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ return AsyncHttpResponse(response=_response, data=None)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 401:
+ raise UnauthorizedError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 403:
+ raise ForbiddenError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 404:
+ raise NotFoundError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 422:
+ raise UnprocessableEntityError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ ErrorModel,
+ construct_type(
+ type_=ErrorModel, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 500:
+ raise InternalServerError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ construct_type(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ except ValidationError as e:
+ raise ParsingError(
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
+ )
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
async def publish_loyalty_program(
self, pid: str, *, request_options: typing.Optional[RequestOptions] = None
) -> AsyncHttpResponse[None]:
diff --git a/src/brevo/tier/__init__.py b/src/brevo/tier/__init__.py
index daeac27..d4d84e3 100644
--- a/src/brevo/tier/__init__.py
+++ b/src/brevo/tier/__init__.py
@@ -11,6 +11,7 @@
CreateTierForTierGroupRequestAccessConditionsItem,
CreateTierForTierGroupRequestTierRewardsItem,
CreateTierGroupRequestDowngradeStrategy,
+ CreateTierGroupRequestMeta,
CreateTierGroupRequestUpgradeStrategy,
GetListOfTierGroupsRequestVersion,
GetListOfTierGroupsResponse,
@@ -18,6 +19,7 @@
GetLoyaltyProgramTierResponse,
GetTierGroupRequestVersion,
UpdateTierGroupRequestDowngradeStrategy,
+ UpdateTierGroupRequestMeta,
UpdateTierGroupRequestUpgradeStrategy,
UpdateTierRequestAccessConditionsItem,
UpdateTierRequestTierRewardsItem,
@@ -27,6 +29,7 @@
"CreateTierForTierGroupRequestAccessConditionsItem": ".types",
"CreateTierForTierGroupRequestTierRewardsItem": ".types",
"CreateTierGroupRequestDowngradeStrategy": ".types",
+ "CreateTierGroupRequestMeta": ".types",
"CreateTierGroupRequestUpgradeStrategy": ".types",
"GetListOfTierGroupsRequestVersion": ".types",
"GetListOfTierGroupsResponse": ".types",
@@ -34,6 +37,7 @@
"GetLoyaltyProgramTierResponse": ".types",
"GetTierGroupRequestVersion": ".types",
"UpdateTierGroupRequestDowngradeStrategy": ".types",
+ "UpdateTierGroupRequestMeta": ".types",
"UpdateTierGroupRequestUpgradeStrategy": ".types",
"UpdateTierRequestAccessConditionsItem": ".types",
"UpdateTierRequestTierRewardsItem": ".types",
@@ -66,6 +70,7 @@ def __dir__():
"CreateTierForTierGroupRequestAccessConditionsItem",
"CreateTierForTierGroupRequestTierRewardsItem",
"CreateTierGroupRequestDowngradeStrategy",
+ "CreateTierGroupRequestMeta",
"CreateTierGroupRequestUpgradeStrategy",
"GetListOfTierGroupsRequestVersion",
"GetListOfTierGroupsResponse",
@@ -73,6 +78,7 @@ def __dir__():
"GetLoyaltyProgramTierResponse",
"GetTierGroupRequestVersion",
"UpdateTierGroupRequestDowngradeStrategy",
+ "UpdateTierGroupRequestMeta",
"UpdateTierGroupRequestUpgradeStrategy",
"UpdateTierRequestAccessConditionsItem",
"UpdateTierRequestTierRewardsItem",
diff --git a/src/brevo/tier/client.py b/src/brevo/tier/client.py
index d0aacdd..022a513 100644
--- a/src/brevo/tier/client.py
+++ b/src/brevo/tier/client.py
@@ -13,6 +13,7 @@
)
from .types.create_tier_for_tier_group_request_tier_rewards_item import CreateTierForTierGroupRequestTierRewardsItem
from .types.create_tier_group_request_downgrade_strategy import CreateTierGroupRequestDowngradeStrategy
+from .types.create_tier_group_request_meta import CreateTierGroupRequestMeta
from .types.create_tier_group_request_upgrade_strategy import CreateTierGroupRequestUpgradeStrategy
from .types.get_list_of_tier_groups_request_version import GetListOfTierGroupsRequestVersion
from .types.get_list_of_tier_groups_response import GetListOfTierGroupsResponse
@@ -20,6 +21,7 @@
from .types.get_loyalty_program_tier_response import GetLoyaltyProgramTierResponse
from .types.get_tier_group_request_version import GetTierGroupRequestVersion
from .types.update_tier_group_request_downgrade_strategy import UpdateTierGroupRequestDowngradeStrategy
+from .types.update_tier_group_request_meta import UpdateTierGroupRequestMeta
from .types.update_tier_group_request_upgrade_strategy import UpdateTierGroupRequestUpgradeStrategy
from .types.update_tier_request_access_conditions_item import UpdateTierRequestAccessConditionsItem
from .types.update_tier_request_tier_rewards_item import UpdateTierRequestTierRewardsItem
@@ -130,6 +132,7 @@ def create_tier_group(
*,
name: str,
downgrade_strategy: typing.Optional[CreateTierGroupRequestDowngradeStrategy] = OMIT,
+ meta: typing.Optional[CreateTierGroupRequestMeta] = OMIT,
tier_order: typing.Optional[typing.Sequence[str]] = OMIT,
upgrade_strategy: typing.Optional[CreateTierGroupRequestUpgradeStrategy] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
@@ -148,6 +151,9 @@ def create_tier_group(
downgrade_strategy : typing.Optional[CreateTierGroupRequestDowngradeStrategy]
Select real_time to downgrade tier on real time balance updates. Select membership_anniversary to downgrade tier on subscription anniversary. Select tier_anniversary to downgrade tier on tier anniversary.
+ meta : typing.Optional[CreateTierGroupRequestMeta]
+ Additional metadata for the tier group.
+
tier_order : typing.Optional[typing.Sequence[str]]
Order of the tiers in the group in ascending order
@@ -178,6 +184,7 @@ def create_tier_group(
pid,
name=name,
downgrade_strategy=downgrade_strategy,
+ meta=meta,
tier_order=tier_order,
upgrade_strategy=upgrade_strategy,
request_options=request_options,
@@ -238,6 +245,7 @@ def update_tier_group(
name: str,
tier_order: typing.Sequence[str],
upgrade_strategy: UpdateTierGroupRequestUpgradeStrategy,
+ meta: typing.Optional[UpdateTierGroupRequestMeta] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
) -> TierGroup:
"""
@@ -263,6 +271,9 @@ def update_tier_group(
upgrade_strategy : UpdateTierGroupRequestUpgradeStrategy
Select real_time to upgrade tier on real time balance updates. Select membership_anniversary to upgrade tier on subscription anniversary. Select tier_anniversary to upgrade tier on tier anniversary.
+ meta : typing.Optional[UpdateTierGroupRequestMeta]
+ Additional metadata for the tier group.
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -294,6 +305,7 @@ def update_tier_group(
name=name,
tier_order=tier_order,
upgrade_strategy=upgrade_strategy,
+ meta=meta,
request_options=request_options,
)
return _response.data
@@ -663,6 +675,7 @@ async def create_tier_group(
*,
name: str,
downgrade_strategy: typing.Optional[CreateTierGroupRequestDowngradeStrategy] = OMIT,
+ meta: typing.Optional[CreateTierGroupRequestMeta] = OMIT,
tier_order: typing.Optional[typing.Sequence[str]] = OMIT,
upgrade_strategy: typing.Optional[CreateTierGroupRequestUpgradeStrategy] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
@@ -681,6 +694,9 @@ async def create_tier_group(
downgrade_strategy : typing.Optional[CreateTierGroupRequestDowngradeStrategy]
Select real_time to downgrade tier on real time balance updates. Select membership_anniversary to downgrade tier on subscription anniversary. Select tier_anniversary to downgrade tier on tier anniversary.
+ meta : typing.Optional[CreateTierGroupRequestMeta]
+ Additional metadata for the tier group.
+
tier_order : typing.Optional[typing.Sequence[str]]
Order of the tiers in the group in ascending order
@@ -719,6 +735,7 @@ async def main() -> None:
pid,
name=name,
downgrade_strategy=downgrade_strategy,
+ meta=meta,
tier_order=tier_order,
upgrade_strategy=upgrade_strategy,
request_options=request_options,
@@ -787,6 +804,7 @@ async def update_tier_group(
name: str,
tier_order: typing.Sequence[str],
upgrade_strategy: UpdateTierGroupRequestUpgradeStrategy,
+ meta: typing.Optional[UpdateTierGroupRequestMeta] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
) -> TierGroup:
"""
@@ -812,6 +830,9 @@ async def update_tier_group(
upgrade_strategy : UpdateTierGroupRequestUpgradeStrategy
Select real_time to upgrade tier on real time balance updates. Select membership_anniversary to upgrade tier on subscription anniversary. Select tier_anniversary to upgrade tier on tier anniversary.
+ meta : typing.Optional[UpdateTierGroupRequestMeta]
+ Additional metadata for the tier group.
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -851,6 +872,7 @@ async def main() -> None:
name=name,
tier_order=tier_order,
upgrade_strategy=upgrade_strategy,
+ meta=meta,
request_options=request_options,
)
return _response.data
diff --git a/src/brevo/tier/raw_client.py b/src/brevo/tier/raw_client.py
index f0013ca..bc64a1d 100644
--- a/src/brevo/tier/raw_client.py
+++ b/src/brevo/tier/raw_client.py
@@ -28,6 +28,7 @@
)
from .types.create_tier_for_tier_group_request_tier_rewards_item import CreateTierForTierGroupRequestTierRewardsItem
from .types.create_tier_group_request_downgrade_strategy import CreateTierGroupRequestDowngradeStrategy
+from .types.create_tier_group_request_meta import CreateTierGroupRequestMeta
from .types.create_tier_group_request_upgrade_strategy import CreateTierGroupRequestUpgradeStrategy
from .types.get_list_of_tier_groups_request_version import GetListOfTierGroupsRequestVersion
from .types.get_list_of_tier_groups_response import GetListOfTierGroupsResponse
@@ -35,6 +36,7 @@
from .types.get_loyalty_program_tier_response import GetLoyaltyProgramTierResponse
from .types.get_tier_group_request_version import GetTierGroupRequestVersion
from .types.update_tier_group_request_downgrade_strategy import UpdateTierGroupRequestDowngradeStrategy
+from .types.update_tier_group_request_meta import UpdateTierGroupRequestMeta
from .types.update_tier_group_request_upgrade_strategy import UpdateTierGroupRequestUpgradeStrategy
from .types.update_tier_request_access_conditions_item import UpdateTierRequestAccessConditionsItem
from .types.update_tier_request_tier_rewards_item import UpdateTierRequestTierRewardsItem
@@ -288,6 +290,7 @@ def create_tier_group(
*,
name: str,
downgrade_strategy: typing.Optional[CreateTierGroupRequestDowngradeStrategy] = OMIT,
+ meta: typing.Optional[CreateTierGroupRequestMeta] = OMIT,
tier_order: typing.Optional[typing.Sequence[str]] = OMIT,
upgrade_strategy: typing.Optional[CreateTierGroupRequestUpgradeStrategy] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
@@ -306,6 +309,9 @@ def create_tier_group(
downgrade_strategy : typing.Optional[CreateTierGroupRequestDowngradeStrategy]
Select real_time to downgrade tier on real time balance updates. Select membership_anniversary to downgrade tier on subscription anniversary. Select tier_anniversary to downgrade tier on tier anniversary.
+ meta : typing.Optional[CreateTierGroupRequestMeta]
+ Additional metadata for the tier group.
+
tier_order : typing.Optional[typing.Sequence[str]]
Order of the tiers in the group in ascending order
@@ -326,6 +332,9 @@ def create_tier_group(
json={
"downgradeStrategy": downgrade_strategy,
"name": name,
+ "meta": convert_and_respect_annotation_metadata(
+ object_=meta, annotation=CreateTierGroupRequestMeta, direction="write"
+ ),
"tierOrder": tier_order,
"upgradeStrategy": upgrade_strategy,
},
@@ -541,6 +550,7 @@ def update_tier_group(
name: str,
tier_order: typing.Sequence[str],
upgrade_strategy: UpdateTierGroupRequestUpgradeStrategy,
+ meta: typing.Optional[UpdateTierGroupRequestMeta] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
) -> HttpResponse[TierGroup]:
"""
@@ -566,6 +576,9 @@ def update_tier_group(
upgrade_strategy : UpdateTierGroupRequestUpgradeStrategy
Select real_time to upgrade tier on real time balance updates. Select membership_anniversary to upgrade tier on subscription anniversary. Select tier_anniversary to upgrade tier on tier anniversary.
+ meta : typing.Optional[UpdateTierGroupRequestMeta]
+ Additional metadata for the tier group.
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -580,6 +593,9 @@ def update_tier_group(
json={
"downgradeStrategy": downgrade_strategy,
"name": name,
+ "meta": convert_and_respect_annotation_metadata(
+ object_=meta, annotation=UpdateTierGroupRequestMeta, direction="write"
+ ),
"tierOrder": tier_order,
"upgradeStrategy": upgrade_strategy,
},
@@ -1487,6 +1503,7 @@ async def create_tier_group(
*,
name: str,
downgrade_strategy: typing.Optional[CreateTierGroupRequestDowngradeStrategy] = OMIT,
+ meta: typing.Optional[CreateTierGroupRequestMeta] = OMIT,
tier_order: typing.Optional[typing.Sequence[str]] = OMIT,
upgrade_strategy: typing.Optional[CreateTierGroupRequestUpgradeStrategy] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
@@ -1505,6 +1522,9 @@ async def create_tier_group(
downgrade_strategy : typing.Optional[CreateTierGroupRequestDowngradeStrategy]
Select real_time to downgrade tier on real time balance updates. Select membership_anniversary to downgrade tier on subscription anniversary. Select tier_anniversary to downgrade tier on tier anniversary.
+ meta : typing.Optional[CreateTierGroupRequestMeta]
+ Additional metadata for the tier group.
+
tier_order : typing.Optional[typing.Sequence[str]]
Order of the tiers in the group in ascending order
@@ -1525,6 +1545,9 @@ async def create_tier_group(
json={
"downgradeStrategy": downgrade_strategy,
"name": name,
+ "meta": convert_and_respect_annotation_metadata(
+ object_=meta, annotation=CreateTierGroupRequestMeta, direction="write"
+ ),
"tierOrder": tier_order,
"upgradeStrategy": upgrade_strategy,
},
@@ -1740,6 +1763,7 @@ async def update_tier_group(
name: str,
tier_order: typing.Sequence[str],
upgrade_strategy: UpdateTierGroupRequestUpgradeStrategy,
+ meta: typing.Optional[UpdateTierGroupRequestMeta] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
) -> AsyncHttpResponse[TierGroup]:
"""
@@ -1765,6 +1789,9 @@ async def update_tier_group(
upgrade_strategy : UpdateTierGroupRequestUpgradeStrategy
Select real_time to upgrade tier on real time balance updates. Select membership_anniversary to upgrade tier on subscription anniversary. Select tier_anniversary to upgrade tier on tier anniversary.
+ meta : typing.Optional[UpdateTierGroupRequestMeta]
+ Additional metadata for the tier group.
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -1779,6 +1806,9 @@ async def update_tier_group(
json={
"downgradeStrategy": downgrade_strategy,
"name": name,
+ "meta": convert_and_respect_annotation_metadata(
+ object_=meta, annotation=UpdateTierGroupRequestMeta, direction="write"
+ ),
"tierOrder": tier_order,
"upgradeStrategy": upgrade_strategy,
},
diff --git a/src/brevo/tier/types/__init__.py b/src/brevo/tier/types/__init__.py
index ad4c3a8..4847c4b 100644
--- a/src/brevo/tier/types/__init__.py
+++ b/src/brevo/tier/types/__init__.py
@@ -12,6 +12,7 @@
)
from .create_tier_for_tier_group_request_tier_rewards_item import CreateTierForTierGroupRequestTierRewardsItem
from .create_tier_group_request_downgrade_strategy import CreateTierGroupRequestDowngradeStrategy
+ from .create_tier_group_request_meta import CreateTierGroupRequestMeta
from .create_tier_group_request_upgrade_strategy import CreateTierGroupRequestUpgradeStrategy
from .get_list_of_tier_groups_request_version import GetListOfTierGroupsRequestVersion
from .get_list_of_tier_groups_response import GetListOfTierGroupsResponse
@@ -19,6 +20,7 @@
from .get_loyalty_program_tier_response import GetLoyaltyProgramTierResponse
from .get_tier_group_request_version import GetTierGroupRequestVersion
from .update_tier_group_request_downgrade_strategy import UpdateTierGroupRequestDowngradeStrategy
+ from .update_tier_group_request_meta import UpdateTierGroupRequestMeta
from .update_tier_group_request_upgrade_strategy import UpdateTierGroupRequestUpgradeStrategy
from .update_tier_request_access_conditions_item import UpdateTierRequestAccessConditionsItem
from .update_tier_request_tier_rewards_item import UpdateTierRequestTierRewardsItem
@@ -27,6 +29,7 @@
"CreateTierForTierGroupRequestAccessConditionsItem": ".create_tier_for_tier_group_request_access_conditions_item",
"CreateTierForTierGroupRequestTierRewardsItem": ".create_tier_for_tier_group_request_tier_rewards_item",
"CreateTierGroupRequestDowngradeStrategy": ".create_tier_group_request_downgrade_strategy",
+ "CreateTierGroupRequestMeta": ".create_tier_group_request_meta",
"CreateTierGroupRequestUpgradeStrategy": ".create_tier_group_request_upgrade_strategy",
"GetListOfTierGroupsRequestVersion": ".get_list_of_tier_groups_request_version",
"GetListOfTierGroupsResponse": ".get_list_of_tier_groups_response",
@@ -34,6 +37,7 @@
"GetLoyaltyProgramTierResponse": ".get_loyalty_program_tier_response",
"GetTierGroupRequestVersion": ".get_tier_group_request_version",
"UpdateTierGroupRequestDowngradeStrategy": ".update_tier_group_request_downgrade_strategy",
+ "UpdateTierGroupRequestMeta": ".update_tier_group_request_meta",
"UpdateTierGroupRequestUpgradeStrategy": ".update_tier_group_request_upgrade_strategy",
"UpdateTierRequestAccessConditionsItem": ".update_tier_request_access_conditions_item",
"UpdateTierRequestTierRewardsItem": ".update_tier_request_tier_rewards_item",
@@ -66,6 +70,7 @@ def __dir__():
"CreateTierForTierGroupRequestAccessConditionsItem",
"CreateTierForTierGroupRequestTierRewardsItem",
"CreateTierGroupRequestDowngradeStrategy",
+ "CreateTierGroupRequestMeta",
"CreateTierGroupRequestUpgradeStrategy",
"GetListOfTierGroupsRequestVersion",
"GetListOfTierGroupsResponse",
@@ -73,6 +78,7 @@ def __dir__():
"GetLoyaltyProgramTierResponse",
"GetTierGroupRequestVersion",
"UpdateTierGroupRequestDowngradeStrategy",
+ "UpdateTierGroupRequestMeta",
"UpdateTierGroupRequestUpgradeStrategy",
"UpdateTierRequestAccessConditionsItem",
"UpdateTierRequestTierRewardsItem",
diff --git a/src/brevo/tier/types/create_tier_group_request_meta.py b/src/brevo/tier/types/create_tier_group_request_meta.py
new file mode 100644
index 0000000..7a6d308
--- /dev/null
+++ b/src/brevo/tier/types/create_tier_group_request_meta.py
@@ -0,0 +1,30 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+import typing_extensions
+from ...core.pydantic_utilities import IS_PYDANTIC_V2
+from ...core.serialization import FieldMetadata
+from ...core.unchecked_base_model import UncheckedBaseModel
+
+
+class CreateTierGroupRequestMeta(UncheckedBaseModel):
+ """
+ Additional metadata for the tier group.
+ """
+
+ is_internal: typing_extensions.Annotated[
+ typing.Optional[bool],
+ FieldMetadata(alias="isInternal"),
+ pydantic.Field(alias="isInternal", description="Indicates whether the tier group is internal."),
+ ] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/brevo/tier/types/update_tier_group_request_meta.py b/src/brevo/tier/types/update_tier_group_request_meta.py
new file mode 100644
index 0000000..e9ac374
--- /dev/null
+++ b/src/brevo/tier/types/update_tier_group_request_meta.py
@@ -0,0 +1,30 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+import typing_extensions
+from ...core.pydantic_utilities import IS_PYDANTIC_V2
+from ...core.serialization import FieldMetadata
+from ...core.unchecked_base_model import UncheckedBaseModel
+
+
+class UpdateTierGroupRequestMeta(UncheckedBaseModel):
+ """
+ Additional metadata for the tier group.
+ """
+
+ is_internal: typing_extensions.Annotated[
+ typing.Optional[bool],
+ FieldMetadata(alias="isInternal"),
+ pydantic.Field(alias="isInternal", description="Indicates whether the tier group is internal."),
+ ] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/brevo/transactional_emails/client.py b/src/brevo/transactional_emails/client.py
index 76cfafd..5876fec 100644
--- a/src/brevo/transactional_emails/client.py
+++ b/src/brevo/transactional_emails/client.py
@@ -591,13 +591,9 @@ def get_transac_email_content(
self, uuid_: str, *, request_options: typing.Optional[RequestOptions] = None
) -> GetTransacEmailContentResponse:
"""
-
- You can get the uuid using either of the following methods:
-
+ You can get the uuid using either of the following methods:
Send a GET request to https://api.brevo.com/v3/smtp/emails and pass the message_id in the url. Use your api-key to authenticate the request and you will get your uuid as a response.
-
- The uuid can also be fetched from the transactional logs page in your Brevo account, from the address URL.
-
+ The uuid can also be fetched from the transactional logs page in your Brevo account, from the address URL.
Parameters
----------
@@ -1833,13 +1829,9 @@ async def get_transac_email_content(
self, uuid_: str, *, request_options: typing.Optional[RequestOptions] = None
) -> GetTransacEmailContentResponse:
"""
-
- You can get the uuid using either of the following methods:
-
+ You can get the uuid using either of the following methods:
Send a GET request to https://api.brevo.com/v3/smtp/emails and pass the message_id in the url. Use your api-key to authenticate the request and you will get your uuid as a response.
-
- The uuid can also be fetched from the transactional logs page in your Brevo account, from the address URL.
-
+ The uuid can also be fetched from the transactional logs page in your Brevo account, from the address URL.
Parameters
----------
diff --git a/src/brevo/transactional_emails/raw_client.py b/src/brevo/transactional_emails/raw_client.py
index 03b3d47..c33ac31 100644
--- a/src/brevo/transactional_emails/raw_client.py
+++ b/src/brevo/transactional_emails/raw_client.py
@@ -819,13 +819,9 @@ def get_transac_email_content(
self, uuid_: str, *, request_options: typing.Optional[RequestOptions] = None
) -> HttpResponse[GetTransacEmailContentResponse]:
"""
-
- You can get the uuid using either of the following methods:
-
+ You can get the uuid using either of the following methods:
Send a GET request to https://api.brevo.com/v3/smtp/emails and pass the message_id in the url. Use your api-key to authenticate the request and you will get your uuid as a response.
-
- The uuid can also be fetched from the transactional logs page in your Brevo account, from the address URL.
-
+ The uuid can also be fetched from the transactional logs page in your Brevo account, from the address URL.
Parameters
----------
@@ -2503,13 +2499,9 @@ async def get_transac_email_content(
self, uuid_: str, *, request_options: typing.Optional[RequestOptions] = None
) -> AsyncHttpResponse[GetTransacEmailContentResponse]:
"""
-
- You can get the uuid using either of the following methods:
-
+ You can get the uuid using either of the following methods:
Send a GET request to https://api.brevo.com/v3/smtp/emails and pass the message_id in the url. Use your api-key to authenticate the request and you will get your uuid as a response.
-
- The uuid can also be fetched from the transactional logs page in your Brevo account, from the address URL.
-
+ The uuid can also be fetched from the transactional logs page in your Brevo account, from the address URL.
Parameters
----------
diff --git a/src/brevo/transactional_sms/client.py b/src/brevo/transactional_sms/client.py
index 201d08b..2edb5fb 100644
--- a/src/brevo/transactional_sms/client.py
+++ b/src/brevo/transactional_sms/client.py
@@ -50,15 +50,9 @@ def send_async_transactional_sms(
request_options: typing.Optional[RequestOptions] = None,
) -> SendAsyncTransactionalSmsResponse:
"""
-
- If the user includes stop code in the Transactional SMS, then it will be switched to Marketing SMS automatically and it will be interpreted as a Marketing SMS. To send Transactional SMS as Transactional, it is important not to use stop code.
-
- Note: For adding a stop code, client has to add reply STOP to [STOP_CODE] and the [STOP_CODE] will be replaced with the number.
-
-
-
- Transactional SMS can be sent at any time without time restrictions. However, if a message is categorized as Marketing, it must adhere to specific time restrictions. Messages sent outside of these restricted hours will experience delays and will be processed during allowable times. Specifically, Marketing SMS cannot be processed between 10pm and 8am, on Sundays, and on French public holidays.
-
+ If the user includes stop code in the Transactional SMS, then it will be switched to Marketing SMS automatically and it will be interpreted as a Marketing SMS. To send Transactional SMS as Transactional, it is important not to use stop code.
+ Note: For adding a stop code, client has to add reply STOP to [STOP_CODE] and the [STOP_CODE] will be replaced with the number.
+ Transactional SMS can be sent at any time without time restrictions. However, if a message is categorized as Marketing, it must adhere to specific time restrictions. Messages sent outside of these restricted hours will experience delays and will be processed during allowable times. Specifically, Marketing SMS cannot be processed between 10pm and 8am, on Sundays, and on French public holidays.
Parameters
----------
@@ -403,15 +397,9 @@ async def send_async_transactional_sms(
request_options: typing.Optional[RequestOptions] = None,
) -> SendAsyncTransactionalSmsResponse:
"""
-
- If the user includes stop code in the Transactional SMS, then it will be switched to Marketing SMS automatically and it will be interpreted as a Marketing SMS. To send Transactional SMS as Transactional, it is important not to use stop code.
-
- Note: For adding a stop code, client has to add reply STOP to [STOP_CODE] and the [STOP_CODE] will be replaced with the number.
-
-
-
- Transactional SMS can be sent at any time without time restrictions. However, if a message is categorized as Marketing, it must adhere to specific time restrictions. Messages sent outside of these restricted hours will experience delays and will be processed during allowable times. Specifically, Marketing SMS cannot be processed between 10pm and 8am, on Sundays, and on French public holidays.
-
+ If the user includes stop code in the Transactional SMS, then it will be switched to Marketing SMS automatically and it will be interpreted as a Marketing SMS. To send Transactional SMS as Transactional, it is important not to use stop code.
+ Note: For adding a stop code, client has to add reply STOP to [STOP_CODE] and the [STOP_CODE] will be replaced with the number.
+ Transactional SMS can be sent at any time without time restrictions. However, if a message is categorized as Marketing, it must adhere to specific time restrictions. Messages sent outside of these restricted hours will experience delays and will be processed during allowable times. Specifically, Marketing SMS cannot be processed between 10pm and 8am, on Sundays, and on French public holidays.
Parameters
----------
diff --git a/src/brevo/transactional_sms/raw_client.py b/src/brevo/transactional_sms/raw_client.py
index 26d7a25..4472ef0 100644
--- a/src/brevo/transactional_sms/raw_client.py
+++ b/src/brevo/transactional_sms/raw_client.py
@@ -48,15 +48,9 @@ def send_async_transactional_sms(
request_options: typing.Optional[RequestOptions] = None,
) -> HttpResponse[SendAsyncTransactionalSmsResponse]:
"""
-
- If the user includes stop code in the Transactional SMS, then it will be switched to Marketing SMS automatically and it will be interpreted as a Marketing SMS. To send Transactional SMS as Transactional, it is important not to use stop code.
-
- Note: For adding a stop code, client has to add reply STOP to [STOP_CODE] and the [STOP_CODE] will be replaced with the number.
-
-
-
- Transactional SMS can be sent at any time without time restrictions. However, if a message is categorized as Marketing, it must adhere to specific time restrictions. Messages sent outside of these restricted hours will experience delays and will be processed during allowable times. Specifically, Marketing SMS cannot be processed between 10pm and 8am, on Sundays, and on French public holidays.
-
+ If the user includes stop code in the Transactional SMS, then it will be switched to Marketing SMS automatically and it will be interpreted as a Marketing SMS. To send Transactional SMS as Transactional, it is important not to use stop code.
+ Note: For adding a stop code, client has to add reply STOP to [STOP_CODE] and the [STOP_CODE] will be replaced with the number.
+ Transactional SMS can be sent at any time without time restrictions. However, if a message is categorized as Marketing, it must adhere to specific time restrictions. Messages sent outside of these restricted hours will experience delays and will be processed during allowable times. Specifically, Marketing SMS cannot be processed between 10pm and 8am, on Sundays, and on French public holidays.
Parameters
----------
@@ -531,15 +525,9 @@ async def send_async_transactional_sms(
request_options: typing.Optional[RequestOptions] = None,
) -> AsyncHttpResponse[SendAsyncTransactionalSmsResponse]:
"""
-
- If the user includes stop code in the Transactional SMS, then it will be switched to Marketing SMS automatically and it will be interpreted as a Marketing SMS. To send Transactional SMS as Transactional, it is important not to use stop code.
-
- Note: For adding a stop code, client has to add reply STOP to [STOP_CODE] and the [STOP_CODE] will be replaced with the number.
-
-
-
- Transactional SMS can be sent at any time without time restrictions. However, if a message is categorized as Marketing, it must adhere to specific time restrictions. Messages sent outside of these restricted hours will experience delays and will be processed during allowable times. Specifically, Marketing SMS cannot be processed between 10pm and 8am, on Sundays, and on French public holidays.
-
+ If the user includes stop code in the Transactional SMS, then it will be switched to Marketing SMS automatically and it will be interpreted as a Marketing SMS. To send Transactional SMS as Transactional, it is important not to use stop code.
+ Note: For adding a stop code, client has to add reply STOP to [STOP_CODE] and the [STOP_CODE] will be replaced with the number.
+ Transactional SMS can be sent at any time without time restrictions. However, if a message is categorized as Marketing, it must adhere to specific time restrictions. Messages sent outside of these restricted hours will experience delays and will be processed during allowable times. Specifically, Marketing SMS cannot be processed between 10pm and 8am, on Sundays, and on French public holidays.
Parameters
----------
diff --git a/src/brevo/transactional_whats_app/client.py b/src/brevo/transactional_whats_app/client.py
index dcce40b..9983ada 100644
--- a/src/brevo/transactional_whats_app/client.py
+++ b/src/brevo/transactional_whats_app/client.py
@@ -34,7 +34,8 @@ def send_whatsapp_message(
self, *, request: SendWhatsappMessageRequest, request_options: typing.Optional[RequestOptions] = None
) -> SendWhatsappMessageResponse:
"""
- You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below. [Activating Whatsapp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
+ You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
+ [Activating Whatsapp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
This endpoint is used to send a WhatsApp message.
(**The first message you send using the API must contain a Template ID. You must create a template on WhatsApp on the Brevo platform to fetch the Template ID.**)
Parameters
@@ -160,7 +161,8 @@ async def send_whatsapp_message(
self, *, request: SendWhatsappMessageRequest, request_options: typing.Optional[RequestOptions] = None
) -> SendWhatsappMessageResponse:
"""
- You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below. [Activating Whatsapp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
+ You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
+ [Activating Whatsapp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
This endpoint is used to send a WhatsApp message.
(**The first message you send using the API must contain a Template ID. You must create a template on WhatsApp on the Brevo platform to fetch the Template ID.**)
Parameters
diff --git a/src/brevo/transactional_whats_app/raw_client.py b/src/brevo/transactional_whats_app/raw_client.py
index 1d52d43..63b8a60 100644
--- a/src/brevo/transactional_whats_app/raw_client.py
+++ b/src/brevo/transactional_whats_app/raw_client.py
@@ -30,7 +30,8 @@ def send_whatsapp_message(
self, *, request: SendWhatsappMessageRequest, request_options: typing.Optional[RequestOptions] = None
) -> HttpResponse[SendWhatsappMessageResponse]:
"""
- You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below. [Activating Whatsapp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
+ You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
+ [Activating Whatsapp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
This endpoint is used to send a WhatsApp message.
(**The first message you send using the API must contain a Template ID. You must create a template on WhatsApp on the Brevo platform to fetch the Template ID.**)
Parameters
@@ -191,7 +192,8 @@ async def send_whatsapp_message(
self, *, request: SendWhatsappMessageRequest, request_options: typing.Optional[RequestOptions] = None
) -> AsyncHttpResponse[SendWhatsappMessageResponse]:
"""
- You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below. [Activating Whatsapp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
+ You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
+ [Activating Whatsapp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
This endpoint is used to send a WhatsApp message.
(**The first message you send using the API must contain a Template ID. You must create a template on WhatsApp on the Brevo platform to fetch the Template ID.**)
Parameters
diff --git a/src/brevo/types/__init__.py b/src/brevo/types/__init__.py
index b563652..b4a1e03 100644
--- a/src/brevo/types/__init__.py
+++ b/src/brevo/types/__init__.py
@@ -16,6 +16,9 @@
BalanceDefinitionBalanceAvailabilityDurationModifier,
)
from .balance_limit import BalanceLimit
+ from .batch_accepted_response import BatchAcceptedResponse
+ from .batch_events_response import BatchEventsResponse
+ from .batch_events_response_errors_item import BatchEventsResponseErrorsItem
from .cart import Cart
from .company import Company
from .configuration import Configuration
@@ -48,6 +51,8 @@
from .get_contacts import GetContacts
from .get_coupon_collection import GetCouponCollection
from .get_device_browser_stats import GetDeviceBrowserStats
+ from .get_events_list import GetEventsList
+ from .get_events_list_events_item import GetEventsListEventsItem
from .get_extended_campaign_overview import GetExtendedCampaignOverview
from .get_extended_campaign_overview_sender import GetExtendedCampaignOverviewSender
from .get_extended_campaign_overview_status import GetExtendedCampaignOverviewStatus
@@ -67,6 +72,8 @@
from .get_webhook import GetWebhook
from .get_webhook_channel import GetWebhookChannel
from .get_webhook_type import GetWebhookType
+ from .internal_server_error_body import InternalServerErrorBody
+ from .internal_server_error_body_code import InternalServerErrorBodyCode
from .inviteuser import Inviteuser
from .inviteuser_privileges_item import InviteuserPrivilegesItem
from .inviteuser_privileges_item_feature import InviteuserPrivilegesItemFeature
@@ -129,6 +136,9 @@
"BalanceDefinition": ".balance_definition",
"BalanceDefinitionBalanceAvailabilityDurationModifier": ".balance_definition_balance_availability_duration_modifier",
"BalanceLimit": ".balance_limit",
+ "BatchAcceptedResponse": ".batch_accepted_response",
+ "BatchEventsResponse": ".batch_events_response",
+ "BatchEventsResponseErrorsItem": ".batch_events_response_errors_item",
"Cart": ".cart",
"Company": ".company",
"Configuration": ".configuration",
@@ -161,6 +171,8 @@
"GetContacts": ".get_contacts",
"GetCouponCollection": ".get_coupon_collection",
"GetDeviceBrowserStats": ".get_device_browser_stats",
+ "GetEventsList": ".get_events_list",
+ "GetEventsListEventsItem": ".get_events_list_events_item",
"GetExtendedCampaignOverview": ".get_extended_campaign_overview",
"GetExtendedCampaignOverviewSender": ".get_extended_campaign_overview_sender",
"GetExtendedCampaignOverviewStatus": ".get_extended_campaign_overview_status",
@@ -180,6 +192,8 @@
"GetWebhook": ".get_webhook",
"GetWebhookChannel": ".get_webhook_channel",
"GetWebhookType": ".get_webhook_type",
+ "InternalServerErrorBody": ".internal_server_error_body",
+ "InternalServerErrorBodyCode": ".internal_server_error_body_code",
"Inviteuser": ".inviteuser",
"InviteuserPrivilegesItem": ".inviteuser_privileges_item",
"InviteuserPrivilegesItemFeature": ".inviteuser_privileges_item_feature",
@@ -266,6 +280,9 @@ def __dir__():
"BalanceDefinition",
"BalanceDefinitionBalanceAvailabilityDurationModifier",
"BalanceLimit",
+ "BatchAcceptedResponse",
+ "BatchEventsResponse",
+ "BatchEventsResponseErrorsItem",
"Cart",
"Company",
"Configuration",
@@ -298,6 +315,8 @@ def __dir__():
"GetContacts",
"GetCouponCollection",
"GetDeviceBrowserStats",
+ "GetEventsList",
+ "GetEventsListEventsItem",
"GetExtendedCampaignOverview",
"GetExtendedCampaignOverviewSender",
"GetExtendedCampaignOverviewStatus",
@@ -317,6 +336,8 @@ def __dir__():
"GetWebhook",
"GetWebhookChannel",
"GetWebhookType",
+ "InternalServerErrorBody",
+ "InternalServerErrorBodyCode",
"Inviteuser",
"InviteuserPrivilegesItem",
"InviteuserPrivilegesItemFeature",
diff --git a/src/brevo/types/batch_accepted_response.py b/src/brevo/types/batch_accepted_response.py
new file mode 100644
index 0000000..67c0605
--- /dev/null
+++ b/src/brevo/types/batch_accepted_response.py
@@ -0,0 +1,32 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+
+
+class BatchAcceptedResponse(UncheckedBaseModel):
+ """
+ Response returned when all events in the batch are accepted for async processing
+ """
+
+ message: str = pydantic.Field()
+ """
+ Confirmation message indicating the batch was accepted
+ """
+
+ count: int = pydantic.Field()
+ """
+ Number of events queued for processing
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/brevo/types/batch_events_response.py b/src/brevo/types/batch_events_response.py
new file mode 100644
index 0000000..98ca42d
--- /dev/null
+++ b/src/brevo/types/batch_events_response.py
@@ -0,0 +1,48 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+from .batch_events_response_errors_item import BatchEventsResponseErrorsItem
+
+
+class BatchEventsResponse(UncheckedBaseModel):
+ """
+ Response returned when a batch of events is processed
+ """
+
+ status: str = pydantic.Field()
+ """
+ Status of the batch request
+ """
+
+ total_events: int = pydantic.Field()
+ """
+ Total number of events submitted in the batch
+ """
+
+ successful_events: int = pydantic.Field()
+ """
+ Number of events that were successfully processed
+ """
+
+ failed_events: int = pydantic.Field()
+ """
+ Number of events that failed to be processed
+ """
+
+ errors: typing.List[BatchEventsResponseErrorsItem] = pydantic.Field()
+ """
+ List of errors for the failed events
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/brevo/types/batch_events_response_errors_item.py b/src/brevo/types/batch_events_response_errors_item.py
new file mode 100644
index 0000000..01335fe
--- /dev/null
+++ b/src/brevo/types/batch_events_response_errors_item.py
@@ -0,0 +1,30 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+import typing_extensions
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.serialization import FieldMetadata
+from ..core.unchecked_base_model import UncheckedBaseModel
+
+
+class BatchEventsResponseErrorsItem(UncheckedBaseModel):
+ event_index: typing_extensions.Annotated[
+ typing.Optional[typing.List[int]],
+ FieldMetadata(alias="eventIndex"),
+ pydantic.Field(alias="eventIndex", description="Index positions (0-based) of the events that caused the error"),
+ ] = None
+ message: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ Description of the error
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/brevo/types/get_campaign_stats.py b/src/brevo/types/get_campaign_stats.py
index 45d3dc0..cf64e23 100644
--- a/src/brevo/types/get_campaign_stats.py
+++ b/src/brevo/types/get_campaign_stats.py
@@ -11,13 +11,13 @@
class GetCampaignStats(UncheckedBaseModel):
apple_mpp_opens: typing_extensions.Annotated[
- int,
+ typing.Optional[int],
FieldMetadata(alias="appleMppOpens"),
pydantic.Field(
alias="appleMppOpens",
description="Numbers of times your email has been opened automatically through Apple MPP.",
),
- ]
+ ] = None
clickers: int = pydantic.Field()
"""
Number of total clicks for the campaign
@@ -60,13 +60,13 @@ class GetCampaignStats(UncheckedBaseModel):
),
] = None
opens_rate: typing_extensions.Annotated[
- float,
+ typing.Optional[float],
FieldMetadata(alias="opensRate"),
pydantic.Field(
alias="opensRate",
description="Percentage of recipients who open the email out of your total number of recipients. Depending on your Campaign settings, they may include Apple MPP opens.",
),
- ]
+ ] = None
return_bounce: typing_extensions.Annotated[
typing.Optional[int],
FieldMetadata(alias="returnBounce"),
diff --git a/src/brevo/types/get_events_list.py b/src/brevo/types/get_events_list.py
new file mode 100644
index 0000000..a51a28f
--- /dev/null
+++ b/src/brevo/types/get_events_list.py
@@ -0,0 +1,33 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+from .get_events_list_events_item import GetEventsListEventsItem
+
+
+class GetEventsList(UncheckedBaseModel):
+ """
+ Response containing a list of events and the total count for pagination
+ """
+
+ events: typing.Optional[typing.List[GetEventsListEventsItem]] = pydantic.Field(default=None)
+ """
+ List of matching events ordered by event_date descending
+ """
+
+ count: int = pydantic.Field()
+ """
+ Total count of events matching the filters (use for pagination)
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/brevo/types/get_events_list_events_item.py b/src/brevo/types/get_events_list_events_item.py
new file mode 100644
index 0000000..7807926
--- /dev/null
+++ b/src/brevo/types/get_events_list_events_item.py
@@ -0,0 +1,59 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+
+
+class GetEventsListEventsItem(UncheckedBaseModel):
+ contact_id: typing.Optional[int] = pydantic.Field(default=None)
+ """
+ Contact ID associated with the event
+ """
+
+ event_date: typing.Optional[dt.datetime] = pydantic.Field(default=None)
+ """
+ Date and time of the event
+ """
+
+ event_name: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ Name of the event
+ """
+
+ event_filter_id: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ Filter ID of the event
+ """
+
+ source: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ Source of the event
+ """
+
+ object_type: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ Object type associated with the event
+ """
+
+ event_properties: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(default=None)
+ """
+ Event-level custom properties
+ """
+
+ contact_properties: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(default=None)
+ """
+ Contact-level properties at time of event
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/brevo/types/get_extended_campaign_overview.py b/src/brevo/types/get_extended_campaign_overview.py
index b777a01..97b2198 100644
--- a/src/brevo/types/get_extended_campaign_overview.py
+++ b/src/brevo/types/get_extended_campaign_overview.py
@@ -13,6 +13,14 @@
class GetExtendedCampaignOverview(UncheckedBaseModel):
+ attachment_file: typing_extensions.Annotated[
+ typing.Optional[str],
+ FieldMetadata(alias="attachmentFile"),
+ pydantic.Field(
+ alias="attachmentFile",
+ description="Url of the attachment file. Only available if the campaign has an attachment.",
+ ),
+ ] = None
ab_testing: typing_extensions.Annotated[
typing.Optional[bool],
FieldMetadata(alias="abTesting"),
@@ -188,6 +196,11 @@ class GetExtendedCampaignOverview(UncheckedBaseModel):
Tag of the campaign
"""
+ tags: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
+ """
+ List of tags of the campaign
+ """
+
test_sent: typing_extensions.Annotated[
bool,
FieldMetadata(alias="testSent"),
diff --git a/src/brevo/types/get_extended_campaign_overview_status.py b/src/brevo/types/get_extended_campaign_overview_status.py
index 03db24c..befc76c 100644
--- a/src/brevo/types/get_extended_campaign_overview_status.py
+++ b/src/brevo/types/get_extended_campaign_overview_status.py
@@ -3,5 +3,8 @@
import typing
GetExtendedCampaignOverviewStatus = typing.Union[
- typing.Literal["draft", "sent", "archive", "queued", "suspended", "in_process"], typing.Any
+ typing.Literal[
+ "draft", "sent", "archive", "queued", "suspended", "in_process", "in_review", "cancelling", "cancelled"
+ ],
+ typing.Any,
]
diff --git a/src/brevo/types/get_product_details.py b/src/brevo/types/get_product_details.py
index 4720420..b4eb03e 100644
--- a/src/brevo/types/get_product_details.py
+++ b/src/brevo/types/get_product_details.py
@@ -10,6 +10,11 @@
class GetProductDetails(UncheckedBaseModel):
+ brand: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ Brand of the product
+ """
+
categories: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
"""
Category ID-s of the product
@@ -22,6 +27,11 @@ class GetProductDetails(UncheckedBaseModel):
alias="createdAt", description="Creation UTC date-time of the product (YYYY-MM-DDTHH:mm:ss.SSSZ)"
),
]
+ description: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ Description of the product
+ """
+
id: str = pydantic.Field()
"""
Product ID for which you requested the details
diff --git a/src/brevo/types/internal_server_error_body.py b/src/brevo/types/internal_server_error_body.py
new file mode 100644
index 0000000..ee7c5f9
--- /dev/null
+++ b/src/brevo/types/internal_server_error_body.py
@@ -0,0 +1,29 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2
+from ..core.unchecked_base_model import UncheckedBaseModel
+from .internal_server_error_body_code import InternalServerErrorBodyCode
+
+
+class InternalServerErrorBody(UncheckedBaseModel):
+ code: InternalServerErrorBodyCode = pydantic.Field()
+ """
+ Error code displayed in case of a failure
+ """
+
+ message: str = pydantic.Field()
+ """
+ Readable message associated to the failure
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/brevo/types/internal_server_error_body_code.py b/src/brevo/types/internal_server_error_body_code.py
new file mode 100644
index 0000000..3baaf27
--- /dev/null
+++ b/src/brevo/types/internal_server_error_body_code.py
@@ -0,0 +1,45 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+InternalServerErrorBodyCode = typing.Union[
+ typing.Literal[
+ "invalid_parameter",
+ "missing_parameter",
+ "out_of_range",
+ "campaign_processing",
+ "campaign_sent",
+ "document_not_found",
+ "not_enough_credits",
+ "permission_denied",
+ "duplicate_parameter",
+ "duplicate_request",
+ "method_not_allowed",
+ "unauthorized",
+ "account_under_validation",
+ "not_acceptable",
+ "bad_request",
+ "unprocessable_entity",
+ "Domain does not exist",
+ "Contact email not found",
+ "Attribute not found",
+ "Category id not found",
+ "Invalid parameters passed",
+ "Record(s) for identifier not found",
+ "Returned when query params are invalid",
+ "Returned when invalid data posted",
+ "Feed not found",
+ "Campaign ID not found",
+ "api-key not found",
+ "DMARC policy requires domain authentication",
+ "DNS records not properly configured",
+ "Invalid OTP code provided",
+ "OTP code has expired",
+ "Domain already exists in your account",
+ "The sum of all IP weights must equal 100",
+ "Authentication failed",
+ "Insufficient credits",
+ "Request already processed",
+ ],
+ typing.Any,
+]
diff --git a/src/brevo/types/order_products_item.py b/src/brevo/types/order_products_item.py
index e09913f..ce05361 100644
--- a/src/brevo/types/order_products_item.py
+++ b/src/brevo/types/order_products_item.py
@@ -22,16 +22,26 @@ class OrderProductsItem(UncheckedBaseModel):
product_id: typing_extensions.Annotated[
str, FieldMetadata(alias="productId"), pydantic.Field(alias="productId", description="ID of the product.")
]
- quantity: float = pydantic.Field()
- """
- How many pieces of the product the visitor has added to the cart.
- """
-
variant_id: typing_extensions.Annotated[
typing.Optional[str],
FieldMetadata(alias="variantId"),
pydantic.Field(alias="variantId", description="Product ID of the red color shirts."),
] = None
+ quantity: typing.Optional[int] = pydantic.Field(default=None)
+ """
+ **Required if quantityFloat is empty.**
+
+ Number of product units added to the cart (whole numbers only, e.g., 10)
+ """
+
+ quantity_float: typing_extensions.Annotated[
+ typing.Optional[float],
+ FieldMetadata(alias="quantityFloat"),
+ pydantic.Field(
+ alias="quantityFloat",
+ description="**Required if quantity is empty.**\n\nNumber of product units added to the cart(supports decimals, e.g., 20.52)",
+ ),
+ ] = None
if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
diff --git a/src/brevo/types/update_campaign_status_status.py b/src/brevo/types/update_campaign_status_status.py
index 982d48c..fc52bf9 100644
--- a/src/brevo/types/update_campaign_status_status.py
+++ b/src/brevo/types/update_campaign_status_status.py
@@ -3,6 +3,8 @@
import typing
UpdateCampaignStatusStatus = typing.Union[
- typing.Literal["suspended", "archive", "darchive", "sent", "queued", "replicate", "replicateTemplate", "draft"],
+ typing.Literal[
+ "suspended", "archive", "darchive", "sent", "queued", "replicate", "replicateTemplate", "cancel", "draft"
+ ],
typing.Any,
]
diff --git a/src/brevo/webhooks/client.py b/src/brevo/webhooks/client.py
index 92a378f..de76f7c 100644
--- a/src/brevo/webhooks/client.py
+++ b/src/brevo/webhooks/client.py
@@ -139,6 +139,7 @@ def create_webhook(
type **Marketing** channel **SMS** ####
`sent`,`delivered`,`softBounce`,`hardBounce`,`unsubscribe`,`reply`,
`subscribe`,`skip`
+ #### `reply`
url : str
URL of the webhook
@@ -215,22 +216,16 @@ def export_webhooks_history(
request_options: typing.Optional[RequestOptions] = None,
) -> ExportWebhooksHistoryResponse:
"""
-
- To have it activated please send us a request and we will activate it for your account.
+
+ This is an enterprise feature. Contact us to activate it for your account.
- Exports webhook event history to CSV format for analysis and reporting.
+ Submits a request to export webhook event history as a CSV file. The download link is sent to the `notifyURL` you provide in the request body.
- Use this to:
- - Generate comprehensive webhook event reports
- - Analyze webhook delivery patterns and success rates
- - Export event data for external analysis tools
- - Create historical reports for compliance and auditing
- - Track webhook performance and reliability metrics
-
- Key information returned:
- - Process ID for tracking export completion
- - CSV file will be delivered to specified webhook URL
+ Use this endpoint to:
+ - Export webhook event history filtered by date range, event type, or email address
+ - Generate reports for compliance, auditing, or performance analysis
+ - Track delivery patterns and webhook reliability over time
Parameters
----------
@@ -401,6 +396,7 @@ def update_webhook(
#### `spam`, `opened`, `click`, `hardBounce`, `softBounce`,
`unsubscribed`, `listAddition` & `delivered` - Possible values
for **Inbound** type webhook: #### `inboundEmailProcessed`
+ #### `reply`
headers : typing.Optional[typing.Sequence[UpdateWebhookRequestHeadersItem]]
Custom headers to be send with webhooks
@@ -600,6 +596,7 @@ async def create_webhook(
type **Marketing** channel **SMS** ####
`sent`,`delivered`,`softBounce`,`hardBounce`,`unsubscribe`,`reply`,
`subscribe`,`skip`
+ #### `reply`
url : str
URL of the webhook
@@ -684,22 +681,16 @@ async def export_webhooks_history(
request_options: typing.Optional[RequestOptions] = None,
) -> ExportWebhooksHistoryResponse:
"""
-
- To have it activated please send us a request and we will activate it for your account.
+
+ This is an enterprise feature. Contact us to activate it for your account.
- Exports webhook event history to CSV format for analysis and reporting.
+ Submits a request to export webhook event history as a CSV file. The download link is sent to the `notifyURL` you provide in the request body.
- Use this to:
- - Generate comprehensive webhook event reports
- - Analyze webhook delivery patterns and success rates
- - Export event data for external analysis tools
- - Create historical reports for compliance and auditing
- - Track webhook performance and reliability metrics
-
- Key information returned:
- - Process ID for tracking export completion
- - CSV file will be delivered to specified webhook URL
+ Use this endpoint to:
+ - Export webhook event history filtered by date range, event type, or email address
+ - Generate reports for compliance, auditing, or performance analysis
+ - Track delivery patterns and webhook reliability over time
Parameters
----------
@@ -888,6 +879,7 @@ async def update_webhook(
#### `spam`, `opened`, `click`, `hardBounce`, `softBounce`,
`unsubscribed`, `listAddition` & `delivered` - Possible values
for **Inbound** type webhook: #### `inboundEmailProcessed`
+ #### `reply`
headers : typing.Optional[typing.Sequence[UpdateWebhookRequestHeadersItem]]
Custom headers to be send with webhooks
diff --git a/src/brevo/webhooks/raw_client.py b/src/brevo/webhooks/raw_client.py
index 20af09a..3175548 100644
--- a/src/brevo/webhooks/raw_client.py
+++ b/src/brevo/webhooks/raw_client.py
@@ -164,6 +164,7 @@ def create_webhook(
type **Marketing** channel **SMS** ####
`sent`,`delivered`,`softBounce`,`hardBounce`,`unsubscribe`,`reply`,
`subscribe`,`skip`
+ #### `reply`
url : str
URL of the webhook
@@ -268,22 +269,16 @@ def export_webhooks_history(
request_options: typing.Optional[RequestOptions] = None,
) -> HttpResponse[ExportWebhooksHistoryResponse]:
"""
-
- To have it activated please send us a request and we will activate it for your account.
+
+ This is an enterprise feature. Contact us to activate it for your account.
- Exports webhook event history to CSV format for analysis and reporting.
+ Submits a request to export webhook event history as a CSV file. The download link is sent to the `notifyURL` you provide in the request body.
- Use this to:
- - Generate comprehensive webhook event reports
- - Analyze webhook delivery patterns and success rates
- - Export event data for external analysis tools
- - Create historical reports for compliance and auditing
- - Track webhook performance and reliability metrics
-
- Key information returned:
- - Process ID for tracking export completion
- - CSV file will be delivered to specified webhook URL
+ Use this endpoint to:
+ - Export webhook event history filtered by date range, event type, or email address
+ - Generate reports for compliance, auditing, or performance analysis
+ - Track delivery patterns and webhook reliability over time
Parameters
----------
@@ -511,6 +506,7 @@ def update_webhook(
#### `spam`, `opened`, `click`, `hardBounce`, `softBounce`,
`unsubscribed`, `listAddition` & `delivered` - Possible values
for **Inbound** type webhook: #### `inboundEmailProcessed`
+ #### `reply`
headers : typing.Optional[typing.Sequence[UpdateWebhookRequestHeadersItem]]
Custom headers to be send with webhooks
@@ -777,6 +773,7 @@ async def create_webhook(
type **Marketing** channel **SMS** ####
`sent`,`delivered`,`softBounce`,`hardBounce`,`unsubscribe`,`reply`,
`subscribe`,`skip`
+ #### `reply`
url : str
URL of the webhook
@@ -881,22 +878,16 @@ async def export_webhooks_history(
request_options: typing.Optional[RequestOptions] = None,
) -> AsyncHttpResponse[ExportWebhooksHistoryResponse]:
"""
-
- To have it activated please send us a request and we will activate it for your account.
+
+ This is an enterprise feature. Contact us to activate it for your account.
- Exports webhook event history to CSV format for analysis and reporting.
+ Submits a request to export webhook event history as a CSV file. The download link is sent to the `notifyURL` you provide in the request body.
- Use this to:
- - Generate comprehensive webhook event reports
- - Analyze webhook delivery patterns and success rates
- - Export event data for external analysis tools
- - Create historical reports for compliance and auditing
- - Track webhook performance and reliability metrics
-
- Key information returned:
- - Process ID for tracking export completion
- - CSV file will be delivered to specified webhook URL
+ Use this endpoint to:
+ - Export webhook event history filtered by date range, event type, or email address
+ - Generate reports for compliance, auditing, or performance analysis
+ - Track delivery patterns and webhook reliability over time
Parameters
----------
@@ -1124,6 +1115,7 @@ async def update_webhook(
#### `spam`, `opened`, `click`, `hardBounce`, `softBounce`,
`unsubscribed`, `listAddition` & `delivered` - Possible values
for **Inbound** type webhook: #### `inboundEmailProcessed`
+ #### `reply`
headers : typing.Optional[typing.Sequence[UpdateWebhookRequestHeadersItem]]
Custom headers to be send with webhooks
diff --git a/src/brevo/webhooks/types/create_webhook_request_events_item.py b/src/brevo/webhooks/types/create_webhook_request_events_item.py
index efae50f..39d7ee3 100644
--- a/src/brevo/webhooks/types/create_webhook_request_events_item.py
+++ b/src/brevo/webhooks/types/create_webhook_request_events_item.py
@@ -21,6 +21,7 @@
"contactUpdated",
"contactDeleted",
"inboundEmailProcessed",
+ "reply",
],
typing.Any,
]
diff --git a/src/brevo/webhooks/types/update_webhook_request_events_item.py b/src/brevo/webhooks/types/update_webhook_request_events_item.py
index 6e46c12..f6bd64a 100644
--- a/src/brevo/webhooks/types/update_webhook_request_events_item.py
+++ b/src/brevo/webhooks/types/update_webhook_request_events_item.py
@@ -21,6 +21,7 @@
"contactUpdated",
"contactDeleted",
"inboundEmailProcessed",
+ "reply",
],
typing.Any,
]
diff --git a/src/brevo/whats_app_campaigns/client.py b/src/brevo/whats_app_campaigns/client.py
index 0698637..31cd13d 100644
--- a/src/brevo/whats_app_campaigns/client.py
+++ b/src/brevo/whats_app_campaigns/client.py
@@ -104,19 +104,11 @@ def create_whats_app_campaign(
request_options: typing.Optional[RequestOptions] = None,
) -> CreateWhatsAppCampaignResponse:
"""
-
- You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
-
- [Activating Whatsapp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
-
-
-
- This API requires the List and Segment ids as recipients in Body params. You can use the below Contact endpoints to get the required information.
-
+ You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
+ [Activating Whatsapp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
+ This API requires the List and Segment ids as recipients in Body params.You can use the below Contact endpoints to get the required information.
[Get all the Lists](https://developers.brevo.com/reference/getlists-1)
-
- [Get all the Segments](https://developers.brevo.com/reference/getsegments)
-
+ [Get all the Segments](https://developers.brevo.com/reference/getsegments)
Parameters
----------
@@ -168,11 +160,8 @@ def get_whats_app_config(
self, *, request_options: typing.Optional[RequestOptions] = None
) -> GetWhatsAppConfigResponse:
"""
-
- You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
-
- [Activating WhatsApp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
-
+ You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
+ [Activating WhatsApp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
Parameters
----------
@@ -209,11 +198,8 @@ def create_whats_app_template(
request_options: typing.Optional[RequestOptions] = None,
) -> CreateWhatsAppTemplateResponse:
"""
-
- You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
-
- [Activating WhatsApp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
-
+ You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
+ [Activating WhatsApp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
Parameters
----------
@@ -337,11 +323,8 @@ def send_whats_app_template_approval(
self, template_id: int, *, request_options: typing.Optional[RequestOptions] = None
) -> None:
"""
-
- You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
-
- [Activating WhatsApp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
-
+ You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
+ [Activating WhatsApp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
Parameters
----------
@@ -373,11 +356,11 @@ def get_whats_app_campaign(
self, campaign_id: int, *, request_options: typing.Optional[RequestOptions] = None
) -> GetWhatsAppCampaignResponse:
"""
-
- You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
-
- [Activating Whatsapp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
-
+ You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
+ [Activating Whatsapp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
+ This API requires the List and Segment ids as recipients in Body params.You can use the below Contact endpoints to get the required information.
+ [Get all the Lists](https://developers.brevo.com/reference/getlists-1)
+ [Get all the Segments](https://developers.brevo.com/reference/getsegments)
Parameters
----------
@@ -417,19 +400,11 @@ def update_whats_app_campaign(
request_options: typing.Optional[RequestOptions] = None,
) -> None:
"""
-
- You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
-
- [Activating Whatsapp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
-
-
-
- This API requires the List and Segment ids as recipients in Body params. You can use the below Contact endpoints to get the required information.
-
+ You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
+ [Activating Whatsapp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
+ This API requires the List and Segment ids as recipients in Body params.You can use the below Contact endpoints to get the required information.
[Get all the Lists](https://developers.brevo.com/reference/getlists-1)
-
- [Get all the Segments](https://developers.brevo.com/reference/getsegments)
-
+ [Get all the Segments](https://developers.brevo.com/reference/getsegments)
Parameters
----------
@@ -595,19 +570,11 @@ async def create_whats_app_campaign(
request_options: typing.Optional[RequestOptions] = None,
) -> CreateWhatsAppCampaignResponse:
"""
-
- You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
-
- [Activating Whatsapp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
-
-
-
- This API requires the List and Segment ids as recipients in Body params. You can use the below Contact endpoints to get the required information.
-
+ You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
+ [Activating Whatsapp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
+ This API requires the List and Segment ids as recipients in Body params.You can use the below Contact endpoints to get the required information.
[Get all the Lists](https://developers.brevo.com/reference/getlists-1)
-
- [Get all the Segments](https://developers.brevo.com/reference/getsegments)
-
+ [Get all the Segments](https://developers.brevo.com/reference/getsegments)
Parameters
----------
@@ -667,11 +634,8 @@ async def get_whats_app_config(
self, *, request_options: typing.Optional[RequestOptions] = None
) -> GetWhatsAppConfigResponse:
"""
-
- You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
-
- [Activating WhatsApp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
-
+ You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
+ [Activating WhatsApp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
Parameters
----------
@@ -716,11 +680,8 @@ async def create_whats_app_template(
request_options: typing.Optional[RequestOptions] = None,
) -> CreateWhatsAppTemplateResponse:
"""
-
- You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
-
- [Activating WhatsApp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
-
+ You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
+ [Activating WhatsApp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
Parameters
----------
@@ -860,11 +821,8 @@ async def send_whats_app_template_approval(
self, template_id: int, *, request_options: typing.Optional[RequestOptions] = None
) -> None:
"""
-
- You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
-
- [Activating WhatsApp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
-
+ You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
+ [Activating WhatsApp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
Parameters
----------
@@ -906,11 +864,11 @@ async def get_whats_app_campaign(
self, campaign_id: int, *, request_options: typing.Optional[RequestOptions] = None
) -> GetWhatsAppCampaignResponse:
"""
-
- You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
-
- [Activating Whatsapp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
-
+ You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
+ [Activating Whatsapp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
+ This API requires the List and Segment ids as recipients in Body params.You can use the below Contact endpoints to get the required information.
+ [Get all the Lists](https://developers.brevo.com/reference/getlists-1)
+ [Get all the Segments](https://developers.brevo.com/reference/getsegments)
Parameters
----------
@@ -958,19 +916,11 @@ async def update_whats_app_campaign(
request_options: typing.Optional[RequestOptions] = None,
) -> None:
"""
-
- You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
-
- [Activating Whatsapp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
-
-
-
- This API requires the List and Segment ids as recipients in Body params. You can use the below Contact endpoints to get the required information.
-
+ You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
+ [Activating Whatsapp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
+ This API requires the List and Segment ids as recipients in Body params.You can use the below Contact endpoints to get the required information.
[Get all the Lists](https://developers.brevo.com/reference/getlists-1)
-
- [Get all the Segments](https://developers.brevo.com/reference/getsegments)
-
+ [Get all the Segments](https://developers.brevo.com/reference/getsegments)
Parameters
----------
diff --git a/src/brevo/whats_app_campaigns/raw_client.py b/src/brevo/whats_app_campaigns/raw_client.py
index 9c3880e..3e52023 100644
--- a/src/brevo/whats_app_campaigns/raw_client.py
+++ b/src/brevo/whats_app_campaigns/raw_client.py
@@ -125,19 +125,11 @@ def create_whats_app_campaign(
request_options: typing.Optional[RequestOptions] = None,
) -> HttpResponse[CreateWhatsAppCampaignResponse]:
"""
-
- You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
-
- [Activating Whatsapp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
-
-
-
- This API requires the List and Segment ids as recipients in Body params. You can use the below Contact endpoints to get the required information.
-
+ You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
+ [Activating Whatsapp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
+ This API requires the List and Segment ids as recipients in Body params.You can use the below Contact endpoints to get the required information.
[Get all the Lists](https://developers.brevo.com/reference/getlists-1)
-
- [Get all the Segments](https://developers.brevo.com/reference/getsegments)
-
+ [Get all the Segments](https://developers.brevo.com/reference/getsegments)
Parameters
----------
@@ -212,11 +204,8 @@ def get_whats_app_config(
self, *, request_options: typing.Optional[RequestOptions] = None
) -> HttpResponse[GetWhatsAppConfigResponse]:
"""
-
- You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
-
- [Activating WhatsApp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
-
+ You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
+ [Activating WhatsApp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
Parameters
----------
@@ -276,11 +265,8 @@ def create_whats_app_template(
request_options: typing.Optional[RequestOptions] = None,
) -> HttpResponse[CreateWhatsAppTemplateResponse]:
"""
-
- You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
-
- [Activating WhatsApp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
-
+ You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
+ [Activating WhatsApp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
Parameters
----------
@@ -449,11 +435,8 @@ def send_whats_app_template_approval(
self, template_id: int, *, request_options: typing.Optional[RequestOptions] = None
) -> HttpResponse[None]:
"""
-
- You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
-
- [Activating WhatsApp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
-
+ You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
+ [Activating WhatsApp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
Parameters
----------
@@ -499,11 +482,11 @@ def get_whats_app_campaign(
self, campaign_id: int, *, request_options: typing.Optional[RequestOptions] = None
) -> HttpResponse[GetWhatsAppCampaignResponse]:
"""
-
- You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
-
- [Activating Whatsapp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
-
+ You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
+ [Activating Whatsapp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
+ This API requires the List and Segment ids as recipients in Body params.You can use the below Contact endpoints to get the required information.
+ [Get all the Lists](https://developers.brevo.com/reference/getlists-1)
+ [Get all the Segments](https://developers.brevo.com/reference/getsegments)
Parameters
----------
@@ -575,19 +558,11 @@ def update_whats_app_campaign(
request_options: typing.Optional[RequestOptions] = None,
) -> HttpResponse[None]:
"""
-
- You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
-
- [Activating Whatsapp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
-
-
-
- This API requires the List and Segment ids as recipients in Body params. You can use the below Contact endpoints to get the required information.
-
+ You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
+ [Activating Whatsapp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
+ This API requires the List and Segment ids as recipients in Body params.You can use the below Contact endpoints to get the required information.
[Get all the Lists](https://developers.brevo.com/reference/getlists-1)
-
- [Get all the Segments](https://developers.brevo.com/reference/getsegments)
-
+ [Get all the Segments](https://developers.brevo.com/reference/getsegments)
Parameters
----------
@@ -801,19 +776,11 @@ async def create_whats_app_campaign(
request_options: typing.Optional[RequestOptions] = None,
) -> AsyncHttpResponse[CreateWhatsAppCampaignResponse]:
"""
-
- You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
-
- [Activating Whatsapp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
-
-
-
- This API requires the List and Segment ids as recipients in Body params. You can use the below Contact endpoints to get the required information.
-
+ You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
+ [Activating Whatsapp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
+ This API requires the List and Segment ids as recipients in Body params.You can use the below Contact endpoints to get the required information.
[Get all the Lists](https://developers.brevo.com/reference/getlists-1)
-
- [Get all the Segments](https://developers.brevo.com/reference/getsegments)
-
+ [Get all the Segments](https://developers.brevo.com/reference/getsegments)
Parameters
----------
@@ -888,11 +855,8 @@ async def get_whats_app_config(
self, *, request_options: typing.Optional[RequestOptions] = None
) -> AsyncHttpResponse[GetWhatsAppConfigResponse]:
"""
-
- You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
-
- [Activating WhatsApp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
-
+ You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
+ [Activating WhatsApp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
Parameters
----------
@@ -952,11 +916,8 @@ async def create_whats_app_template(
request_options: typing.Optional[RequestOptions] = None,
) -> AsyncHttpResponse[CreateWhatsAppTemplateResponse]:
"""
-
- You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
-
- [Activating WhatsApp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
-
+ You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
+ [Activating WhatsApp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
Parameters
----------
@@ -1125,11 +1086,8 @@ async def send_whats_app_template_approval(
self, template_id: int, *, request_options: typing.Optional[RequestOptions] = None
) -> AsyncHttpResponse[None]:
"""
-
- You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
-
- [Activating WhatsApp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
-
+ You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
+ [Activating WhatsApp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
Parameters
----------
@@ -1175,11 +1133,11 @@ async def get_whats_app_campaign(
self, campaign_id: int, *, request_options: typing.Optional[RequestOptions] = None
) -> AsyncHttpResponse[GetWhatsAppCampaignResponse]:
"""
-
- You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
-
- [Activating Whatsapp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
-
+ You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
+ [Activating Whatsapp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
+ This API requires the List and Segment ids as recipients in Body params.You can use the below Contact endpoints to get the required information.
+ [Get all the Lists](https://developers.brevo.com/reference/getlists-1)
+ [Get all the Segments](https://developers.brevo.com/reference/getsegments)
Parameters
----------
@@ -1251,19 +1209,11 @@ async def update_whats_app_campaign(
request_options: typing.Optional[RequestOptions] = None,
) -> AsyncHttpResponse[None]:
"""
-
- You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
-
- [Activating Whatsapp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
-
-
-
- This API requires the List and Segment ids as recipients in Body params. You can use the below Contact endpoints to get the required information.
-
+ You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
+ [Activating Whatsapp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account
+ This API requires the List and Segment ids as recipients in Body params.You can use the below Contact endpoints to get the required information.
[Get all the Lists](https://developers.brevo.com/reference/getlists-1)
-
- [Get all the Segments](https://developers.brevo.com/reference/getsegments)
-
+ [Get all the Segments](https://developers.brevo.com/reference/getsegments)
Parameters
----------
diff --git a/tests/wire/test_balance.py b/tests/wire/test_balance.py
index eeded51..0a006fc 100644
--- a/tests/wire/test_balance.py
+++ b/tests/wire/test_balance.py
@@ -190,13 +190,13 @@ def test_balance_get_transaction_history_api() -> None:
client.balance.get_transaction_history_api(
pid="pid",
contact_id=1,
- balance_definition_id="balance_definition_id",
+ balance_definition_id="balanceDefinitionId",
)
verify_request_count(
test_id,
"GET",
"/loyalty/balance/programs/pid/transaction-history",
- {"contact_id": "1", "balance_definition_id": "balance_definition_id"},
+ {"contactId": "1", "balanceDefinitionId": "balanceDefinitionId"},
1,
)
diff --git a/tests/wire/test_companies.py b/tests/wire/test_companies.py
index 4f80451..3d6e396 100644
--- a/tests/wire/test_companies.py
+++ b/tests/wire/test_companies.py
@@ -81,6 +81,26 @@ def test_companies_create_a_company_deal_attribute() -> None:
verify_request_count(test_id, "POST", "/crm/attributes", None, 1)
+def test_companies_delete_an_attribute() -> None:
+ """Test deleteAnAttribute endpoint with WireMock"""
+ test_id = "companies.delete_an_attribute.0"
+ client = get_client(test_id)
+ client.companies.delete_an_attribute(
+ id="id",
+ )
+ verify_request_count(test_id, "DELETE", "/crm/attributes/id", None, 1)
+
+
+def test_companies_update_an_attribute() -> None:
+ """Test updateAnAttribute endpoint with WireMock"""
+ test_id = "companies.update_an_attribute.0"
+ client = get_client(test_id)
+ client.companies.update_an_attribute(
+ id="id",
+ )
+ verify_request_count(test_id, "PATCH", "/crm/attributes/id", None, 1)
+
+
def test_companies_get_company_attributes() -> None:
"""Test getCompanyAttributes endpoint with WireMock"""
test_id = "companies.get_company_attributes.0"
diff --git a/tests/wire/test_ecommerce.py b/tests/wire/test_ecommerce.py
index 468b990..be1d947 100644
--- a/tests/wire/test_ecommerce.py
+++ b/tests/wire/test_ecommerce.py
@@ -133,7 +133,6 @@ def test_ecommerce_create_order() -> None:
OrderProductsItem(
price=99.99,
product_id="P1",
- quantity=10,
)
],
status="completed",
@@ -156,7 +155,6 @@ def test_ecommerce_create_batch_order() -> None:
OrderProductsItem(
price=99.99,
product_id="P1",
- quantity=10,
)
],
status="completed",
diff --git a/tests/wire/test_event.py b/tests/wire/test_event.py
index 5323f5b..7665eab 100644
--- a/tests/wire/test_event.py
+++ b/tests/wire/test_event.py
@@ -1,6 +1,18 @@
from .conftest import get_client, verify_request_count
-from brevo.event import CreateEventRequestIdentifiers
+from brevo.event import (
+ CreateBatchEventsRequestItem,
+ CreateBatchEventsRequestItemIdentifiers,
+ CreateEventRequestIdentifiers,
+)
+
+
+def test_event_get_events() -> None:
+ """Test getEvents endpoint with WireMock"""
+ test_id = "event.get_events.0"
+ client = get_client(test_id)
+ client.event.get_events()
+ verify_request_count(test_id, "GET", "/events", None, 1)
def test_event_create_event() -> None:
@@ -12,3 +24,18 @@ def test_event_create_event() -> None:
identifiers=CreateEventRequestIdentifiers(),
)
verify_request_count(test_id, "POST", "/events", None, 1)
+
+
+def test_event_create_batch_events() -> None:
+ """Test createBatchEvents endpoint with WireMock"""
+ test_id = "event.create_batch_events.0"
+ client = get_client(test_id)
+ client.event.create_batch_events(
+ request=[
+ CreateBatchEventsRequestItem(
+ event_name="order_created",
+ identifiers=CreateBatchEventsRequestItemIdentifiers(),
+ )
+ ],
+ )
+ verify_request_count(test_id, "POST", "/events/batch", None, 1)
diff --git a/tests/wire/test_program.py b/tests/wire/test_program.py
index 94a18f1..d784fce 100644
--- a/tests/wire/test_program.py
+++ b/tests/wire/test_program.py
@@ -70,6 +70,17 @@ def test_program_get_parameter_subscription_info() -> None:
verify_request_count(test_id, "GET", "/loyalty/config/programs/pid/account-info", None, 1)
+def test_program_delete_contact_subscription() -> None:
+ """Test deleteContactSubscription endpoint with WireMock"""
+ test_id = "program.delete_contact_subscription.0"
+ client = get_client(test_id)
+ client.program.delete_contact_subscription(
+ pid="pid",
+ cid=1,
+ )
+ verify_request_count(test_id, "DELETE", "/loyalty/config/programs/pid/contact/1", None, 1)
+
+
def test_program_publish_loyalty_program() -> None:
"""Test publishLoyaltyProgram endpoint with WireMock"""
test_id = "program.publish_loyalty_program.0"
diff --git a/wiremock/wiremock-mappings.json b/wiremock/wiremock-mappings.json
index c9c2ced..2a73540 100644
--- a/wiremock/wiremock-mappings.json
+++ b/wiremock/wiremock-mappings.json
@@ -1 +1 @@
-{"mappings":[{"id":"1211c905-93ae-4aa1-a220-5b0994166727","name":"Get account details - default","request":{"urlPathTemplate":"/account","method":"GET"},"response":{"status":200,"body":"{\n \"organization_id\": \"5fa2b8c123456789abcdef01\",\n \"user_id\": 1234567,\n \"enterprise\": false,\n \"companyName\": \"Acme Marketing Corp\",\n \"email\": \"michael.davis@example.com\",\n \"firstName\": \"Michael\",\n \"lastName\": \"Davis\",\n \"address\": {\n \"city\": \"New York\",\n \"country\": \"United States\",\n \"street\": \"456 Business Ave\",\n \"zipCode\": \"10001\"\n },\n \"dateTimePreferences\": {\n \"timezone\": \"America/New_York\",\n \"timeFormat\": \"12\",\n \"dateFormat\": \"mm-dd-yyyy\"\n },\n \"marketingAutomation\": {\n \"enabled\": true,\n \"key\": \"ma8k2x9v4h7p3d6f1c5e8b2a\"\n },\n \"plan\": [\n {\n \"credits\": 250,\n \"creditsType\": \"sendLimit\",\n \"endDate\": \"1753826567\",\n \"startDate\": \"1751234567\",\n \"type\": \"free\"\n },\n {\n \"credits\": 15,\n \"creditsType\": \"sendLimit\",\n \"endDate\": \"1753826567\",\n \"startDate\": \"1751234567\",\n \"type\": \"sms\"\n }\n ],\n \"planVerticals\": [\n {\n \"planCategory\": \"Marketing\",\n \"planType\": \"free\",\n \"name\": \"Free\",\n \"status\": \"active\",\n \"startDate\": \"1751234567\",\n \"endDate\": \"1753826567\",\n \"users\": {\n \"purchasedSeats\": \"1\",\n \"usedSeats\": \"1\"\n },\n \"credits\": \"250\"\n },\n {\n \"planCategory\": \"Chat\",\n \"planType\": \"free\",\n \"name\": \"Free\",\n \"status\": \"active\",\n \"startDate\": \"1735678901\",\n \"endDate\": \"1767214901\",\n \"users\": {\n \"purchasedSeats\": \"1\",\n \"usedSeats\": \"1\"\n },\n \"credits\": \"250\"\n },\n {\n \"planCategory\": \"CRM\",\n \"planType\": \"free\",\n \"name\": \"Free\",\n \"status\": \"active\",\n \"startDate\": \"1735678900\",\n \"endDate\": \"1767214900\",\n \"users\": {\n \"purchasedSeats\": \"1\",\n \"usedSeats\": \"1\"\n },\n \"credits\": \"250\"\n }\n ],\n \"relay\": {\n \"data\": {\n \"port\": 587,\n \"relay\": \"smtp-relay.brevo.com\",\n \"userName\": \"michael.davis@example.com\"\n },\n \"enabled\": true\n }\n}","headers":{"Content-Type":"application/json"}},"uuid":"1211c905-93ae-4aa1-a220-5b0994166727","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"8875a0d0-f755-470c-bb61-f8ad06810a28","name":"getAccountActivity - default","request":{"urlPathTemplate":"/organization/activities","method":"GET"},"response":{"status":200,"body":"{\n \"logs\": [\n {\n \"action\": \"login-success\",\n \"date\": \"2023-03-16T16:49:23+05:30\",\n \"user_agent\": \"Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us)\",\n \"user_email\": \"test@mycompany.com\",\n \"user_ip\": \"192.158.1.34\"\n },\n {\n \"action\": \"update-profile\",\n \"date\": \"2023-03-15T16:49:23+05:30\",\n \"user_agent\": \"Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us)\",\n \"user_email\": \"test@myexample.com\",\n \"user_ip\": \"192.158.1.38\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"8875a0d0-f755-470c-bb61-f8ad06810a28","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"22e8ec1f-e4ba-4f4b-996b-17fb7412b82b","name":"Create a new group of sub-accounts - default","request":{"urlPathTemplate":"/corporate/group","method":"POST"},"response":{"status":201,"body":"{\n \"id\": \"659xxxxxxxxxxxxxxxx6ef9c8\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"22e8ec1f-e4ba-4f4b-996b-17fb7412b82b","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"553c0be2-9f70-4b5f-867b-1d2543c96f46","name":"Delete sub-account from group - default","request":{"urlPathTemplate":"/corporate/group/unlink/{groupId}/subAccounts","method":"PUT","pathParameters":{"groupId":{"equalTo":"groupId"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"553c0be2-9f70-4b5f-867b-1d2543c96f46","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"569cac67-bd04-4628-af18-b29f58c3426a","name":"GET a group details - default","request":{"urlPathTemplate":"/corporate/group/{id}","method":"GET","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"{\n \"group\": {\n \"createdAt\": \"2024-02-09T06:14:40+00:00\",\n \"groupName\": \"My group\",\n \"id\": \"5f926dba72a405440a4efc97\"\n },\n \"sub-accounts\": [\n {\n \"companyName\": \"My sub organization\",\n \"createdAt\": \"2024-02-09T06:14:40+00:00\",\n \"id\": 7866556\n },\n {\n \"companyName\": \"Your sub organization\",\n \"createdAt\": \"2024-01-05T03:11:40+00:00\",\n \"id\": 6563051\n }\n ],\n \"users\": [\n {\n \"email\": \"my-user@my-org.com\",\n \"firstName\": \"John\",\n \"lastName\": \"Smith\"\n },\n {\n \"email\": \"your-user@your-org.com\",\n \"firstName\": \"firstName\",\n \"lastName\": \"lastName\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"569cac67-bd04-4628-af18-b29f58c3426a","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"15046c07-f5ad-4826-99a4-368a6abcc9d5","name":"Update a group of sub-accounts - default","request":{"urlPathTemplate":"/corporate/group/{id}","method":"PUT","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"15046c07-f5ad-4826-99a4-368a6abcc9d5","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"204960c9-0571-4a3d-a030-f9779c6aea08","name":"Delete a group - default","request":{"urlPathTemplate":"/corporate/group/{id}","method":"DELETE","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"204960c9-0571-4a3d-a030-f9779c6aea08","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"d15212a9-7d53-42ef-996e-cbae118ba999","name":"Get the list of groups - default","request":{"urlPathTemplate":"/corporate/groups","method":"GET"},"response":{"status":200,"body":"[\n {\n \"groupName\": \"My group 1\",\n \"id\": \"d3b142c709d6ed67ef1cd903\"\n },\n {\n \"groupName\": \"My group 2\",\n \"id\": \"a5b192a709d6ed67ef8fd922\"\n },\n {\n \"groupName\": \"My group 3\",\n \"id\": \"bbb142c709d6ed67ef1cd910\"\n }\n]","headers":{"Content-Type":"application/json"}},"uuid":"d15212a9-7d53-42ef-996e-cbae118ba999","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"431c56cb-581f-459e-a434-b2378dfbb177","name":"Get the list of all admin users - default","request":{"urlPathTemplate":"/corporate/invited/users","method":"GET"},"response":{"status":200,"body":"{\n \"users\": [\n {\n \"email\": \"master-user2@company.com\",\n \"feature_access\": {\n \"analytics\": [\n \"download_data\",\n \"create_alerts\",\n \"my_looks\",\n \"explore_create\"\n ],\n \"api_keys\": [\n \"all\"\n ],\n \"apps_management\": [\n \"none\"\n ],\n \"create_sub_organizations\": [\n \"all\"\n ],\n \"manage_sub_organizations\": [\n \"all\"\n ],\n \"my_plan\": [\n \"all\",\n \"all\"\n ],\n \"sub_organization_groups\": [\n \"create\",\n \"edit_delete\"\n ],\n \"user_management\": [\n \"none\"\n ]\n },\n \"groups\": {\n \"id\": \"a5c4f22c08d9ed37ef1ca342\",\n \"name\": \"My group\"\n },\n \"is_owner\": \"is_owner\",\n \"status\": \"active\"\n },\n {\n \"email\": \"master-user3@company.com\",\n \"feature_access\": {\n \"analytics\": [\n \"create_alerts\",\n \"my_looks\"\n ],\n \"api_keys\": [\n \"none\"\n ],\n \"apps_management\": [\n \"all\"\n ],\n \"create_sub_organizations\": [\n \"all\"\n ],\n \"manage_sub_organizations\": [\n \"all\"\n ],\n \"my_plan\": [\n \"none\",\n \"none\"\n ],\n \"sub_organization_groups\": [\n \"edit_delete\"\n ],\n \"user_management\": [\n \"all\"\n ]\n },\n \"groups\": {\n \"id\": \"a5c4f22c08d9ed37ef1ca342\",\n \"name\": \"My group\"\n },\n \"is_owner\": \"is_owner\",\n \"status\": \"active\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"431c56cb-581f-459e-a434-b2378dfbb177","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"47be7c71-5117-47ca-8146-e166b37fbd89","name":"List of all IPs - default","request":{"urlPathTemplate":"/corporate/ip","method":"GET"},"response":{"status":200,"body":"[\n {\n \"domain\": \"example.com\",\n \"ip\": \"192.168.1.1\",\n \"transactional\": true\n },\n {\n \"domain\": \"example.com\",\n \"ip\": \"192.168.1.2\",\n \"transactional\": false\n }\n]","headers":{"Content-Type":"application/json"}},"uuid":"47be7c71-5117-47ca-8146-e166b37fbd89","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"c8f6e272-2e8b-4912-b109-ef644f37c748","name":"Get the details of requested master account - default","request":{"urlPathTemplate":"/corporate/masterAccount","method":"GET"},"response":{"status":200,"body":"{\n \"billingInfo\": {\n \"address\": {\n \"countryCode\": \"IN\",\n \"locality\": \"Pandav Nagar, New Delhi\",\n \"postalCode\": \"560048\",\n \"stateCode\": \"UP\",\n \"streetAddress\": \"C-92\"\n },\n \"companyName\": \"Corp Sample 1-1\",\n \"email\": \"sample@example.com\",\n \"name\": {\n \"familyName\": \"Pandit\",\n \"givenName\": \"Uday\"\n }\n },\n \"companyName\": \"Corp Sample 1-1\",\n \"currencyCode\": \"INR\",\n \"email\": \"sample@example.com\",\n \"id\": 1003286,\n \"planInfo\": {\n \"currencyCode\": \"INR\",\n \"features\": [\n {\n \"name\": \"MULTI_USER\",\n \"quantity\": 10,\n \"remaining\": 0,\n \"unitValue\": \"unitValue\",\n \"used\": 15\n },\n {\n \"name\": \"ADVANCED_REPORTING\",\n \"quantity\": 12,\n \"remaining\": 11,\n \"unitValue\": \"unitValue\",\n \"used\": 1\n },\n {\n \"name\": \"INBOX\",\n \"quantity\": 10,\n \"remaining\": 0,\n \"unitValue\": \"unitValue\",\n \"used\": 10\n },\n {\n \"name\": \"LANDING_PAGE\",\n \"quantity\": 10,\n \"remaining\": 0,\n \"unitValue\": \"unitValue\",\n \"used\": 11\n },\n {\n \"name\": \"RECURRING_CREDITS\",\n \"quantity\": 500,\n \"remaining\": 499,\n \"unitValue\": \"unitValue\",\n \"used\": 1\n }\n ],\n \"nextBillingAt\": 1637739295,\n \"planPeriod\": \"month\",\n \"price\": 2100,\n \"subAccounts\": 15\n },\n \"timezone\": \"Europe/Paris\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"c8f6e272-2e8b-4912-b109-ef644f37c748","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"8fea4e4d-838b-4875-b315-9790bd457518","name":"Generate SSO token to access admin account - default","request":{"urlPathTemplate":"/corporate/ssoToken","method":"POST"},"response":{"status":200,"body":"{\n \"token\": \"5cadaxxxxxxxxxxxxxxxxxxxx5a179f85a0\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"8fea4e4d-838b-4875-b315-9790bd457518","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"45b2935e-aecb-4ad4-8888-9a0e585bcd23","name":"Get the list of all the sub-accounts of the master account. - default","request":{"urlPathTemplate":"/corporate/subAccount","method":"GET","queryParameters":{"offset":{"equalTo":"1"},"limit":{"equalTo":"1"}}},"response":{"status":200,"body":"{\n \"count\": 3,\n \"subAccounts\": [\n {\n \"active\": true,\n \"companyName\": \"Company1\",\n \"createdAt\": 1631523176,\n \"groups\": [\n {\n \"id\": \"5f8f8c3b5f56a02d4433b3a8\",\n \"name\": \"Group 1\"\n },\n {\n \"id\": \"4fbf3c3b1f56a02ac465b1a0\",\n \"name\": \"Group 2\"\n }\n ],\n \"id\": 4043629\n },\n {\n \"active\": true,\n \"companyName\": \"Company2\",\n \"createdAt\": 1629439311,\n \"groups\": [\n {}\n ],\n \"id\": 3984002\n },\n {\n \"active\": true,\n \"companyName\": \"Company3\",\n \"createdAt\": 1614713641,\n \"groups\": [\n {}\n ],\n \"id\": 3524191\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"45b2935e-aecb-4ad4-8888-9a0e585bcd23","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"27e8ff22-470d-462b-a9e2-6cd1c428b361","name":"Create a new sub-account under a master account. - default","request":{"urlPathTemplate":"/corporate/subAccount","method":"POST"},"response":{"status":201,"body":"{\n \"id\": 4109344\n}","headers":{"Content-Type":"application/json"}},"uuid":"27e8ff22-470d-462b-a9e2-6cd1c428b361","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"0b1c8ee5-ea29-4bb0-a233-53d0ff4d86fa","name":"Associate an IP to sub-accounts - default","request":{"urlPathTemplate":"/corporate/subAccount/ip/associate","method":"POST"},"response":{"status":201,"body":"{\n \"key\": \"value\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"0b1c8ee5-ea29-4bb0-a233-53d0ff4d86fa","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"b9524079-a627-4ed4-8f2a-abb0390700aa","name":"Dissociate an IP to sub-accounts - default","request":{"urlPathTemplate":"/corporate/subAccount/ip/dissociate","method":"PUT"},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"b9524079-a627-4ed4-8f2a-abb0390700aa","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"69800c09-607d-406d-8817-7c7c51ff5ae1","name":"Create an API key for a sub-account - default","request":{"urlPathTemplate":"/corporate/subAccount/key","method":"POST"},"response":{"status":201,"body":"{\n \"key\": \"xkeysib-21881axxxxxcc92e04-mIrexxxx7z\",\n \"status\": \"success\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"69800c09-607d-406d-8817-7c7c51ff5ae1","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"c6174a85-f3d7-4550-bc89-0e9814e58cfb","name":"Generate SSO token to access sub-account - default","request":{"urlPathTemplate":"/corporate/subAccount/ssoToken","method":"POST"},"response":{"status":200,"body":"{\n \"token\": \"5cadaxxxxxxxxxxxxxxxxxxxx5a179f85a0\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"c6174a85-f3d7-4550-bc89-0e9814e58cfb","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"a2fc395f-9a4c-407e-bcf3-5eb067c54991","name":"Get sub-account details - default","request":{"urlPathTemplate":"/corporate/subAccount/{id}","method":"GET","pathParameters":{"id":{"equalTo":"1000000"}}},"response":{"status":200,"body":"{\n \"companyName\": \"API-Sub-26thOct21-4\",\n \"email\": \"uday+1@brevo.com\",\n \"groups\": [\n {\n \"id\": \"5f8f8c3b5f56a02d4433b3a7\",\n \"name\": \"Group 1\"\n },\n {\n \"id\": \"5f8f8c3b5f56a02d4433b3a8\",\n \"name\": \"Group 2\"\n }\n ],\n \"name\": \"Uday Pandit\",\n \"planInfo\": {\n \"credits\": {\n \"emails\": {\n \"quantity\": 2000,\n \"remaining\": 1955\n },\n \"externalFeeds\": {\n \"quantity\": 1,\n \"remaining\": 1\n },\n \"sms\": {\n \"quantity\": 2000,\n \"remaining\": 1955\n },\n \"whatsapp\": {\n \"quantity\": 100,\n \"remaining\": 50\n },\n \"wpSubscribers\": {\n \"quantity\": 2000,\n \"remaining\": 1955\n }\n },\n \"features\": {\n \"inbox\": {\n \"quantity\": 20,\n \"remaining\": 12\n },\n \"landingPage\": {\n \"quantity\": 25,\n \"remaining\": 14\n },\n \"salesUsers\": {\n \"quantity\": 30,\n \"remaining\": 14\n },\n \"users\": {\n \"quantity\": 30,\n \"remaining\": 14\n }\n },\n \"planType\": \"paid\"\n }\n}","headers":{"Content-Type":"application/json"}},"uuid":"a2fc395f-9a4c-407e-bcf3-5eb067c54991","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"574c16a0-400c-46fe-aea7-88b6b1a0b812","name":"Delete a sub-account - default","request":{"urlPathTemplate":"/corporate/subAccount/{id}","method":"DELETE","pathParameters":{"id":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"574c16a0-400c-46fe-aea7-88b6b1a0b812","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"769c18cf-d0ef-4284-83e9-bc297f635f71","name":"Enable/disable sub-account application(s) - default","request":{"urlPathTemplate":"/corporate/subAccount/{id}/applications/toggle","method":"PUT","pathParameters":{"id":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"769c18cf-d0ef-4284-83e9-bc297f635f71","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"85c53397-13d2-43ec-986d-7d85858e7c8e","name":"Update sub-account plan - default","request":{"urlPathTemplate":"/corporate/subAccount/{id}/plan","method":"PUT","pathParameters":{"id":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"85c53397-13d2-43ec-986d-7d85858e7c8e","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"41b0f555-e1b6-4e40-9e6a-17c8bd025f53","name":"Update sub-accounts plan - default","request":{"urlPathTemplate":"/corporate/subAccounts/plan","method":"PUT"},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"41b0f555-e1b6-4e40-9e6a-17c8bd025f53","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"2d522f1e-c89e-42da-b070-ffb9ff715ec2","name":"Send invitation to an admin user - default","request":{"urlPathTemplate":"/corporate/user/invitation/send","method":"POST"},"response":{"status":201,"body":"{\n \"id\": \"659xxxxxxxxxxxxxxxx6ef9c8\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"2d522f1e-c89e-42da-b070-ffb9ff715ec2","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"d9c935a4-0eec-4d97-9162-0ecfcc38abbb","name":"Resend / cancel admin user invitation - default","request":{"urlPathTemplate":"/corporate/user/invitation/{action}/{email}","method":"PUT","pathParameters":{"action":{"equalTo":"resend"},"email":{"equalTo":"email"}}},"response":{"status":200,"body":"{\n \"message\": \"Invitation resent successfully\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"d9c935a4-0eec-4d97-9162-0ecfcc38abbb","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"a6f000f1-1ae0-4b47-842f-edac9954cb1d","name":"Revoke an admin user - default","request":{"urlPathTemplate":"/corporate/user/revoke/{email}","method":"DELETE","pathParameters":{"email":{"equalTo":"email"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"a6f000f1-1ae0-4b47-842f-edac9954cb1d","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"f295c79b-1b65-4112-8b0c-b6ce9d87d44f","name":"Check admin user permissions - default","request":{"urlPathTemplate":"/corporate/user/{email}/permissions","method":"GET","pathParameters":{"email":{"equalTo":"email"}}},"response":{"status":200,"body":"{\n \"email\": \"invitedUser@company.com\",\n \"feature_access\": {\n \"analytics\": [\n \"download_data\",\n \"create_alerts\",\n \"my_looks\",\n \"explore_create\"\n ],\n \"api_keys\": [\n \"all\"\n ],\n \"apps_management\": [\n \"all\"\n ],\n \"create_sub_organizations\": [\n \"all\"\n ],\n \"manage_sub_organizations\": [\n \"all\"\n ],\n \"my_plan\": [\n \"all\",\n \"all\"\n ],\n \"sub_organization_groups\": [\n \"create\",\n \"edit_delete\"\n ],\n \"user_management\": [\n \"none\"\n ]\n },\n \"groups\": [\n {\n \"id\": \"6543ab3667ffbb00142e4486\",\n \"name\": \"Support\"\n },\n {\n \"id\": \"174bab366732bbce142e4412\",\n \"name\": \"Technical\"\n }\n ],\n \"status\": \"active\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"f295c79b-1b65-4112-8b0c-b6ce9d87d44f","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"c29d9b3d-5506-4699-8d63-cb5be4b098e1","name":"Change admin user permissions - default","request":{"urlPathTemplate":"/corporate/user/{email}/permissions","method":"PUT","pathParameters":{"email":{"equalTo":"email"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"c29d9b3d-5506-4699-8d63-cb5be4b098e1","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"5b756ab9-0c76-4ea0-86e3-2629a91ee517","name":"Get the list of all your users - default","request":{"urlPathTemplate":"/organization/invited/users","method":"GET"},"response":{"status":200,"body":"{\n \"users\": [\n {\n \"email\": \"owner@company.com\",\n \"feature_access\": {\n \"conversations\": \"owner\",\n \"crm\": \"owner\",\n \"marketing\": \"owner\"\n },\n \"is_owner\": \"is_owner\",\n \"status\": \"active\"\n },\n {\n \"email\": \"pendingInvitedUser@company.com\",\n \"feature_access\": {\n \"conversations\": \"none\",\n \"crm\": \"full\",\n \"marketing\": \"custom\"\n },\n \"is_owner\": \"is_owner\",\n \"status\": \"pending\"\n },\n {\n \"email\": \"connectedInvitedUser@company.com\",\n \"feature_access\": {\n \"conversations\": \"full\",\n \"crm\": \"none\",\n \"marketing\": \"none\"\n },\n \"is_owner\": \"is_owner\",\n \"status\": \"active\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"5b756ab9-0c76-4ea0-86e3-2629a91ee517","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"027416a7-5144-402b-8e13-ff098d91ec53","name":"Revoke user permission - default","request":{"urlPathTemplate":"/organization/user/invitation/revoke/{email}","method":"PUT","pathParameters":{"email":{"equalTo":"email"}}},"response":{"status":200,"body":"{\n \"credit_notes\": [\n \"TEST-123\"\n ],\n \"status\": \"OK\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"027416a7-5144-402b-8e13-ff098d91ec53","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"3380168e-886f-4ab1-9489-1f453e144d97","name":"Send invitation to user - default","request":{"urlPathTemplate":"/organization/user/invitation/send","method":"POST"},"response":{"status":200,"body":"{\n \"invoice_id\": \"invoice_id\",\n \"status\": \"OK\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"3380168e-886f-4ab1-9489-1f453e144d97","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"fda4aa42-d57d-4f82-8b2b-30f5d0abffa2","name":"Resend / Cancel invitation - default","request":{"urlPathTemplate":"/organization/user/invitation/{action}/{email}","method":"PUT","pathParameters":{"action":{"equalTo":"resend"},"email":{"equalTo":"email"}}},"response":{"status":200,"body":"{\n \"credit_notes\": [\n \"TEST-123\"\n ],\n \"status\": \"OK\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"fda4aa42-d57d-4f82-8b2b-30f5d0abffa2","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"e3763191-26a9-488e-9abf-c8b9ca82c709","name":"Update permission for a user - default","request":{"urlPathTemplate":"/organization/user/update/permissions","method":"POST"},"response":{"status":200,"body":"{\n \"credit_notes\": [\n \"TEST-123\"\n ],\n \"invoice_id\": \"invoice_id\",\n \"status\": \"OK\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"e3763191-26a9-488e-9abf-c8b9ca82c709","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"8d0fdcb2-801b-46ec-98ff-ef29fa70f35d","name":"Check user permission - default","request":{"urlPathTemplate":"/organization/user/{email}/permissions","method":"GET","pathParameters":{"email":{"equalTo":"email"}}},"response":{"status":200,"body":"{\n \"email\": \"invitedUser@company.com\",\n \"privileges\": [\n {\n \"feature\": \"Email campaign\",\n \"permissions\": [\n \"Create / edit / delete\",\n \"Send / schedule / suspend\"\n ]\n },\n {\n \"feature\": \"Templates\",\n \"permissions\": [\n \"Create / edit / delete\",\n \"Activate / deactivate\"\n ]\n },\n {\n \"feature\": \"SMS campaign\",\n \"permissions\": [\n \"Create / edit / delete\",\n \"Send / schedule / suspend\"\n ]\n },\n {\n \"feature\": \"Facebook Ads\",\n \"permissions\": [\n \"Schedule / pause\"\n ]\n },\n {\n \"feature\": \"Landing pages\",\n \"permissions\": [\n \"All\"\n ]\n },\n {\n \"feature\": \"Workflows\",\n \"permissions\": [\n \"Create / edit / delete\",\n \"Activate / deactivate / Pause\"\n ]\n },\n {\n \"feature\": \"Contacts\",\n \"permissions\": [\n \"View\",\n \"Contact forms\"\n ]\n },\n {\n \"feature\": \"SMTP & API\",\n \"permissions\": [\n \"SMTP\",\n \"API Keys\",\n \"Authorized IPs\"\n ]\n },\n {\n \"feature\": \"User management\",\n \"permissions\": [\n \"None\"\n ]\n },\n {\n \"feature\": \"Sales Platform\",\n \"permissions\": [\n \"Create / edit / delete owned deals and tasks\",\n \"Manage deals and tasks from other users\",\n \"Reports\",\n \"Settings\"\n ]\n },\n {\n \"feature\": \"Conversations\",\n \"permissions\": [\n \"None\"\n ]\n },\n {\n \"feature\": \"Senders, Domains & Dedicated IPs\",\n \"permissions\": [\n \"Senders management\",\n \"Domains management\",\n \"Dedicated IPs management\"\n ]\n },\n {\n \"feature\": \"Push\",\n \"permissions\": [\n \"View\",\n \"Create / edit / delete\",\n \"Send\",\n \"Settings\"\n ]\n },\n {\n \"feature\": \"Companies\",\n \"permissions\": [\n \"Create / edit / delete owned companies\",\n \"Manage companies from other users\",\n \"Settings\"\n ]\n }\n ],\n \"status\": \"active\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"8d0fdcb2-801b-46ec-98ff-ef29fa70f35d","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"ec86c15f-d950-46af-8cc4-d9670d01ec3e","name":"Get background processes - default","request":{"urlPathTemplate":"/processes","method":"GET"},"response":{"status":200,"body":"{\n \"count\": 198,\n \"processes\": [\n {\n \"id\": 217,\n \"name\": \"IMPORTUSER\",\n \"status\": \"completed\",\n \"export_url\": \"https://s3.eu-west-1.amazonaws.com/api-export.example.com/upload/contacts_export.csv\",\n \"error\": \"Processing timeout exceeded\",\n \"created_at\": \"2024-01-15T10:30:00Z\",\n \"completed_at\": \"2024-01-15T10:35:00Z\"\n },\n {\n \"id\": 213,\n \"name\": \"SEARCH_EXPORT_USERS\",\n \"status\": \"completed\",\n \"export_url\": \"https://s3.eu-west-1.amazonaws.com/api-export.example.com/upload/contacts_export.csv\",\n \"error\": \"Processing timeout exceeded\",\n \"created_at\": \"2024-01-15T10:30:00Z\",\n \"completed_at\": \"2024-01-15T10:35:00Z\"\n },\n {\n \"id\": 212,\n \"name\": \"IMPORTUSER\",\n \"status\": \"queued\",\n \"export_url\": \"https://s3.eu-west-1.amazonaws.com/api-export.example.com/upload/contacts_export.csv\",\n \"error\": \"Processing timeout exceeded\",\n \"created_at\": \"2024-01-15T10:30:00Z\",\n \"completed_at\": \"2024-01-15T10:35:00Z\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"ec86c15f-d950-46af-8cc4-d9670d01ec3e","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"5cd8a4a8-5754-4b87-aa94-fc464c24ad7a","name":"Get process details - default","request":{"urlPathTemplate":"/processes/{processId}","method":"GET","pathParameters":{"processId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"{\n \"id\": 217,\n \"name\": \"IMPORTUSER\",\n \"status\": \"queued\",\n \"info\": {\n \"import\": {\n \"invalid_emails\": 2,\n \"duplicate_contact_id\": 0,\n \"duplicate_ext_id\": 1,\n \"duplicate_email_id\": 5,\n \"duplicate_phone_id\": 1,\n \"duplicate_whatsapp_id\": 1,\n \"duplicate_landline_number_id\": 1\n },\n \"export\": {\n \"total_records\": 1250,\n \"file_size\": 102400\n }\n },\n \"export_url\": \"https://s3.eu-west-1.amazonaws.com/api-export.example.com/upload/contacts_export.csv\",\n \"error\": \"Processing timeout exceeded after 30 minutes\",\n \"created_at\": \"2024-01-15T10:30:00Z\",\n \"completed_at\": \"2024-01-15T10:32:15Z\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"5cd8a4a8-5754-4b87-aa94-fc464c24ad7a","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"6ee5e306-247b-485b-9f81-14d36b3a0bda","name":"Get email senders - default","request":{"urlPathTemplate":"/senders","method":"GET"},"response":{"status":200,"body":"{\n \"senders\": [\n {\n \"active\": true,\n \"email\": \"support@example.com\",\n \"id\": 1,\n \"ips\": [\n {\n \"domain\": \"example.com\",\n \"ip\": \"203.0.113.100\",\n \"weight\": 50\n }\n ],\n \"name\": \"Support Team\"\n },\n {\n \"active\": false,\n \"email\": \"hello@example.com\",\n \"id\": 3,\n \"ips\": [\n {\n \"domain\": \"example.com\",\n \"ip\": \"203.0.113.100\",\n \"weight\": 50\n }\n ],\n \"name\": \"Customer Service\"\n },\n {\n \"active\": false,\n \"email\": \"marketing@testcompany.com\",\n \"id\": 5,\n \"ips\": [\n {\n \"domain\": \"example.com\",\n \"ip\": \"203.0.113.100\",\n \"weight\": 50\n }\n ],\n \"name\": \"Marketing Team\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"6ee5e306-247b-485b-9f81-14d36b3a0bda","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"04b1327d-3b58-45aa-a665-8f8430486eca","name":"Create email sender - default","request":{"urlPathTemplate":"/senders","method":"POST"},"response":{"status":201,"body":"{\n \"dkimError\": false,\n \"id\": 15,\n \"spfError\": false\n}","headers":{"Content-Type":"application/json"}},"uuid":"04b1327d-3b58-45aa-a665-8f8430486eca","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"17fe3a57-60da-42b1-a435-e4cf134d171e","name":"getIps - default","request":{"urlPathTemplate":"/senders/ips","method":"GET"},"response":{"status":200,"body":"{\n \"ips\": [\n {\n \"active\": true,\n \"domain\": \"mailing.enterprise.com\",\n \"id\": 3,\n \"ip\": \"192.168.1.100\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"17fe3a57-60da-42b1-a435-e4cf134d171e","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"a0fc45b1-4252-4d1d-a02e-f542df6bf33e","name":"updateSender - default","request":{"urlPathTemplate":"/senders/{senderId}","method":"PUT","pathParameters":{"senderId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"a0fc45b1-4252-4d1d-a02e-f542df6bf33e","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"f691a271-1b98-49eb-b4a0-124162e8a7d5","name":"deleteSender - default","request":{"urlPathTemplate":"/senders/{senderId}","method":"DELETE","pathParameters":{"senderId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"f691a271-1b98-49eb-b4a0-124162e8a7d5","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"a90c739a-2ce1-4058-a434-60d316495970","name":"getIpsFromSender - default","request":{"urlPathTemplate":"/senders/{senderId}/ips","method":"GET","pathParameters":{"senderId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"{\n \"ips\": [\n {\n \"domain\": \"mailing.enterprise.com\",\n \"id\": 3,\n \"ip\": \"192.168.1.100\",\n \"weight\": 75\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"a90c739a-2ce1-4058-a434-60d316495970","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"868b537b-a700-40e2-bc48-c51dfd0ef8ed","name":"validateSenderByOTP - default","request":{"urlPathTemplate":"/senders/{senderId}/validate","method":"PUT","pathParameters":{"senderId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"868b537b-a700-40e2-bc48-c51dfd0ef8ed","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"6efe0f37-1aad-44ee-a626-e10a2df32e40","name":"getDomains - default","request":{"urlPathTemplate":"/senders/domains","method":"GET"},"response":{"status":200,"body":"{\n \"domains\": [\n {\n \"id\": \"67e57b40130375f045064c45\",\n \"domain_name\": \"mycompany.com\",\n \"authenticated\": true,\n \"verified\": true,\n \"ip\": \"192.168.1.100\",\n \"provider\": \"Cloudflare\",\n \"creator\": {\n \"id\": \"62e4fce597550d0b0177cb0c\",\n \"email\": \"admin@mycompany.com\",\n \"creationDate\": \"2025-03-27T16:22:24Z\"\n }\n },\n {\n \"id\": \"67f778570dd65f97c70910ed\",\n \"domain_name\": \"newsletter.mycompany.com\",\n \"authenticated\": false,\n \"verified\": true,\n \"provider\": \"GoDaddy\",\n \"creator\": {\n \"id\": \"62e4fce597550d0b0177cb0c\",\n \"email\": \"admin@mycompany.com\",\n \"creationDate\": \"2025-04-10T07:50:47Z\"\n }\n },\n {\n \"id\": \"688cd306d8893504e50ea615\",\n \"domain_name\": \"test.example.com\",\n \"authenticated\": false,\n \"verified\": false,\n \"provider\": \"Other\",\n \"creator\": {\n \"id\": \"62e4fce597550d0b0177cb0c\",\n \"email\": \"admin@mycompany.com\",\n \"creationDate\": \"2025-08-01T14:45:26Z\"\n }\n }\n ],\n \"count\": 3,\n \"current_page\": 1,\n \"total_pages\": 1\n}","headers":{"Content-Type":"application/json"}},"uuid":"6efe0f37-1aad-44ee-a626-e10a2df32e40","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"d932d31f-c588-47e7-8703-1fc734a1dffd","name":"createDomain - default","request":{"urlPathTemplate":"/senders/domains","method":"POST"},"response":{"status":200,"body":"{\n \"id\": 5,\n \"domain_name\": \"mycompany.com\",\n \"domain_provider\": \"Cloudflare\",\n \"message\": \"Domain added successfully. To authenticate it, add following DNS records\",\n \"dns_records\": {\n \"brevo_code\": {\n \"host_name\": \"@\",\n \"type\": \"TXT\",\n \"value\": \"brevo-code=abc123def456\",\n \"status\": false\n },\n \"dkim_record\": {\n \"host_name\": \"mail._domainkey\",\n \"type\": \"TXT\",\n \"value\": \"v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GN...\",\n \"status\": false\n },\n \"dmarc_record\": {\n \"host_name\": \"_dmarc\",\n \"type\": \"TXT\",\n \"value\": \"v=DMARC1; p=none; rua=mailto:dmarc@mycompany.com\",\n \"status\": false\n }\n }\n}","headers":{"Content-Type":"application/json"}},"uuid":"d932d31f-c588-47e7-8703-1fc734a1dffd","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"184d536e-335a-4ef0-8445-30b9081f5725","name":"getDomainConfiguration - default","request":{"urlPathTemplate":"/senders/domains/{domainName}","method":"GET","pathParameters":{"domainName":{"equalTo":"domainName"}}},"response":{"status":200,"body":"{\n \"domain\": \"mycompany.com\",\n \"verified\": true,\n \"authenticated\": true,\n \"dns_records\": {\n \"brevo_code\": {\n \"host_name\": \"@\",\n \"type\": \"TXT\",\n \"value\": \"brevo-code=abc123def456\",\n \"status\": true\n },\n \"dkim_record\": {\n \"host_name\": \"mail._domainkey\",\n \"type\": \"TXT\",\n \"value\": \"v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GN...\",\n \"status\": true\n },\n \"dmarc_record\": {\n \"host_name\": \"_dmarc\",\n \"type\": \"TXT\",\n \"value\": \"v=DMARC1; p=quarantine; rua=mailto:dmarc@mycompany.com\",\n \"status\": true\n }\n }\n}","headers":{"Content-Type":"application/json"}},"uuid":"184d536e-335a-4ef0-8445-30b9081f5725","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"85cfda0d-d298-48b3-8a8f-fcdc75ac72c2","name":"deleteDomain - default","request":{"urlPathTemplate":"/senders/domains/{domainName}","method":"DELETE","pathParameters":{"domainName":{"equalTo":"domainName"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"85cfda0d-d298-48b3-8a8f-fcdc75ac72c2","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"9028b6d6-1ed0-4272-bf1a-30fca4d35a1b","name":"authenticateDomain - default","request":{"urlPathTemplate":"/senders/domains/{domainName}/authenticate","method":"PUT","pathParameters":{"domainName":{"equalTo":"domainName"}}},"response":{"status":200,"body":"{\n \"domain_name\": \"mycompany.com\",\n \"message\": \"Domain has been authenticated successfully.\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"9028b6d6-1ed0-4272-bf1a-30fca4d35a1b","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"71fd7de8-a010-43ca-bce7-8d0788df718a","name":"getWebhooks - default","request":{"urlPathTemplate":"/webhooks","method":"GET"},"response":{"status":200,"body":"{\n \"webhooks\": [\n {\n \"auth\": {\n \"token\": \"test-auth-token1234\",\n \"type\": \"bearer\"\n },\n \"batched\": true,\n \"channel\": \"email\",\n \"createdAt\": \"2016-07-18T12:30:09Z\",\n \"description\": \"Webhook triggered on campaign openings\",\n \"events\": [\n \"opened\"\n ],\n \"headers\": [\n {\n \"key\": \"cf-secret\",\n \"value\": \"test-header-value\"\n }\n ],\n \"id\": 9864,\n \"modifiedAt\": \"2016-07-18T16:00:50Z\",\n \"type\": \"transactional\",\n \"url\": \"https://example.domain.com/webhook/events/kzfxxxxxxxx0uyo1\"\n },\n {\n \"auth\": {\n \"token\": \"test-auth-token1234\",\n \"type\": \"bearer\"\n },\n \"batched\": true,\n \"channel\": \"sms\",\n \"createdAt\": \"2017-02-20T14:30:00Z\",\n \"description\": \"Webhook triggered on campaign hard bounces\",\n \"events\": [\n \"hardBounces\"\n ],\n \"headers\": [\n {\n \"key\": \"cf-secret\",\n \"value\": \"test-header-value\"\n }\n ],\n \"id\": 22770,\n \"modifiedAt\": \"2017-02-20T19:00:00Z\",\n \"type\": \"marketing\",\n \"url\": \"http://exmaple.domain.com/15kxxxxxn1\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"71fd7de8-a010-43ca-bce7-8d0788df718a","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"657ec845-de7a-4389-887a-888df91d2433","name":"createWebhook - default","request":{"urlPathTemplate":"/webhooks","method":"POST"},"response":{"status":201,"body":"{\n \"id\": 5\n}","headers":{"Content-Type":"application/json"}},"uuid":"657ec845-de7a-4389-887a-888df91d2433","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"747584ac-68ed-4ed6-a905-9c093c09d9f6","name":"Export weekly events - default","request":{"urlPathTemplate":"/webhooks/export","method":"POST"},"response":{"status":202,"body":"{\n \"processId\": 78\n}","headers":{"Content-Type":"application/json"}},"uuid":"747584ac-68ed-4ed6-a905-9c093c09d9f6","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"adc43c28-964b-4170-aee2-5bb24add0d04","name":"getWebhook - default","request":{"urlPathTemplate":"/webhooks/{webhookId}","method":"GET","pathParameters":{"webhookId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"{\n \"auth\": {\n \"token\": \"test-auth-token1234\",\n \"type\": \"bearer\"\n },\n \"batched\": true,\n \"channel\": \"sms\",\n \"createdAt\": \"2016-06-07T09:10:10Z\",\n \"description\": \"Webhook triggered on campaign openings and addition of lists\",\n \"events\": [\n \"listAdditions\",\n \"opened\"\n ],\n \"headers\": [\n {\n \"key\": \"cf-secret\",\n \"value\": \"test-header-value\"\n }\n ],\n \"id\": 7287,\n \"modifiedAt\": \"2016-06-08T11:30:00Z\",\n \"type\": \"marketing\",\n \"url\": \"http://example.domain.com/1brxxxxxx5p1\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"adc43c28-964b-4170-aee2-5bb24add0d04","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"ffcb1664-4c31-4340-a525-2b616cf4334c","name":"updateWebhook - default","request":{"urlPathTemplate":"/webhooks/{webhookId}","method":"PUT","pathParameters":{"webhookId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"ffcb1664-4c31-4340-a525-2b616cf4334c","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"be23bfc5-4a58-4cb4-8191-aee4cb8f244f","name":"deleteWebhook - default","request":{"urlPathTemplate":"/webhooks/{webhookId}","method":"DELETE","pathParameters":{"webhookId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"be23bfc5-4a58-4cb4-8191-aee4cb8f244f","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"2a8a03cd-cea2-4501-94e0-c2dccdd68f00","name":"Get all external feeds - default","request":{"urlPathTemplate":"/feeds","method":"GET","queryParameters":{"search":{"equalTo":"product"},"startDate":{"equalTo":"2024-01-01"},"endDate":{"equalTo":"2024-01-31"}}},"response":{"status":200,"body":"{\n \"count\": 18,\n \"feeds\": [\n {\n \"id\": \"b1c2d3e4-f5a6-47b8-89c0-d1e2f3a4b5c6\",\n \"name\": \"Product Catalog Feed\",\n \"alias\": \"product_catalog_feed\",\n \"url\": \"https://api.example.com/products\",\n \"authType\": \"noAuth\",\n \"username\": \"apiuser\",\n \"password\": \"apipass\",\n \"token\": \"abc123token456\",\n \"maxRetries\": 3,\n \"cache\": true,\n \"isInternal\": false,\n \"headers\": [\n {\n \"name\": \"Authorization\",\n \"value\": \"Bearer xyz789\"\n }\n ],\n \"createdAt\": \"2025-09-18T13:29:27Z\",\n \"modifiedAt\": \"2025-09-18T13:29:27Z\"\n },\n {\n \"id\": \"c2d3e4f5-a6b7-48c9-90d1-e2f3a4b5c6d7\",\n \"name\": \"Blog News Feed\",\n \"alias\": \"blog_news_feed\",\n \"url\": \"https://blog.example.com/api/posts\",\n \"authType\": \"noAuth\",\n \"username\": \"apiuser\",\n \"password\": \"apipass\",\n \"token\": \"abc123token456\",\n \"maxRetries\": 3,\n \"cache\": true,\n \"isInternal\": true,\n \"headers\": [\n {\n \"name\": \"Authorization\",\n \"value\": \"Bearer xyz789\"\n }\n ],\n \"createdAt\": \"2025-09-17T16:03:25Z\",\n \"modifiedAt\": \"2025-09-17T16:03:25Z\"\n },\n {\n \"id\": \"d3e4f5a6-b7c8-49d0-91e2-f3a4b5c6d7e8\",\n \"name\": \"Public Data Feed\",\n \"alias\": \"public_data_feed\",\n \"url\": \"https://jsonplaceholder.typicode.com/posts\",\n \"authType\": \"noAuth\",\n \"username\": \"apiuser\",\n \"password\": \"apipass\",\n \"token\": \"abc123token456\",\n \"maxRetries\": 3,\n \"cache\": true,\n \"isInternal\": true,\n \"headers\": [\n {\n \"name\": \"Authorization\",\n \"value\": \"Bearer xyz789\"\n }\n ],\n \"createdAt\": \"2025-09-05T09:06:42Z\",\n \"modifiedAt\": \"2025-09-05T09:06:42Z\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"2a8a03cd-cea2-4501-94e0-c2dccdd68f00","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"6feaee25-9e8b-4798-b9ee-ae7b3aad1442","name":"Create external feed - default","request":{"urlPathTemplate":"/feeds","method":"POST"},"response":{"status":201,"body":"{\n \"id\": \"b1c2d3e4-f5a6-47b8-89c0-d1e2f3a4b5c6\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"6feaee25-9e8b-4798-b9ee-ae7b3aad1442","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"2239ff35-3a80-42f1-b822-81e1d785db03","name":"Get external feed details - default","request":{"urlPathTemplate":"/feeds/{uuid}","method":"GET","pathParameters":{"uuid":{"equalTo":"b1c2d3e4-f5a6-47b8-89c0-d1e2f3a4b5c6"}}},"response":{"status":200,"body":"{\n \"id\": \"b1c2d3e4-f5a6-47b8-89c0-d1e2f3a4b5c6\",\n \"name\": \"Product Catalog Feed\",\n \"url\": \"https://api.example.com/products\",\n \"authType\": \"noAuth\",\n \"personalization\": false,\n \"defaultAttr\": \"\",\n \"defaultContact\": \"\",\n \"maxRetries\": 0,\n \"cache\": false,\n \"createdAt\": \"2025-09-18T13:29:27Z\",\n \"modifiedAt\": \"2025-09-18T13:29:27Z\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"2239ff35-3a80-42f1-b822-81e1d785db03","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"c1cb8e28-7845-4479-a233-737a81218df9","name":"Update external feed - default","request":{"urlPathTemplate":"/feeds/{uuid}","method":"PUT","pathParameters":{"uuid":{"equalTo":"b1c2d3e4-f5a6-47b8-89c0-d1e2f3a4b5c6"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"c1cb8e28-7845-4479-a233-737a81218df9","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"63a2125b-2244-41b0-8f75-6e2eb3cfb682","name":"Delete external feed - default","request":{"urlPathTemplate":"/feeds/{uuid}","method":"DELETE","pathParameters":{"uuid":{"equalTo":"b1c2d3e4-f5a6-47b8-89c0-d1e2f3a4b5c6"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"63a2125b-2244-41b0-8f75-6e2eb3cfb682","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"03da01c2-0cff-47d2-996c-4317cabb22c4","name":"Create/Update object records in bulk - default","request":{"urlPathTemplate":"/objects/{object_type}/batch/upsert","method":"POST","pathParameters":{"object_type":{"equalTo":"vehicle"}}},"response":{"status":202,"body":"{\n \"message\": \"Batch object records are being processed\",\n \"processId\": 21\n}","headers":{"Content-Type":"application/json"}},"uuid":"03da01c2-0cff-47d2-996c-4317cabb22c4","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"90e40ddc-ba7b-4979-8f3d-67bcfe9be80d","name":"Get the list of object records and total records count for an object. - default","request":{"urlPathTemplate":"/objects/{object_type}/records","method":"GET","pathParameters":{"object_type":{"equalTo":"vehicle"}},"queryParameters":{"limit":{"equalTo":"1000000"},"page_num":{"equalTo":"1000000"}}},"response":{"status":200,"body":"{\n \"count\": 350,\n \"records\": [\n {\n \"associations\": [\n {\n \"object_type\": \"garage\",\n \"records\": [\n {\n \"identifiers\": {\n \"id\": 12345\n }\n }\n ]\n }\n ],\n \"attributes\": {\n \"color\": \"Black\",\n \"engine_type\": \"Hybrid\",\n \"make\": \"Toyoto\",\n \"model\": \"Corolla\",\n \"year\": 2020\n },\n \"createdAt\": \"2025-07-22T10:20:30Z\",\n \"identifiers\": {\n \"ext_id\": \"507f1f77bc\",\n \"id\": 16789\n },\n \"updatedAt\": \"2025-07-22T10:20:30Z\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"90e40ddc-ba7b-4979-8f3d-67bcfe9be80d","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"dc28fc32-e60d-4ec0-a256-912ae9ca2cbd","name":"Delete multiple object records (up to 1000) asynchronously - default","request":{"urlPathTemplate":"/objects/{object_type}/batch/delete","method":"POST","pathParameters":{"object_type":{"equalTo":"vehicle"}}},"response":{"status":202,"body":"{\n \"processId\": 21,\n \"message\": \"Batch object records are being processed for deletion.\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"dc28fc32-e60d-4ec0-a256-912ae9ca2cbd","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"8729f948-4808-4d8f-b027-70b35a734218","name":"Get all the contacts - default","request":{"urlPathTemplate":"/contacts","method":"GET"},"response":{"status":200,"body":"{\n \"contacts\": [\n {\n \"attributes\": {},\n \"createdAt\": \"2017-05-01T17:05:03Z\",\n \"email\": \"contact1@example.com\",\n \"emailBlacklisted\": true,\n \"id\": 247,\n \"listIds\": [\n 43,\n 58\n ],\n \"listUnsubscribed\": [\n 1000000\n ],\n \"modifiedAt\": \"2017-05-01T17:05:03Z\",\n \"smsBlacklisted\": true\n },\n {\n \"attributes\": {},\n \"createdAt\": \"2017-05-01T17:05:03Z\",\n \"email\": \"33058407248@mailin-sms.com\",\n \"emailBlacklisted\": true,\n \"id\": 245,\n \"listIds\": [\n 43,\n 61,\n 58\n ],\n \"listUnsubscribed\": [\n 1000000\n ],\n \"modifiedAt\": \"2017-05-01T17:05:03Z\",\n \"smsBlacklisted\": false\n }\n ],\n \"count\": 3\n}","headers":{"Content-Type":"application/json"}},"uuid":"8729f948-4808-4d8f-b027-70b35a734218","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"fe3c55db-75e2-4d78-85c0-eaed9f642c83","name":"Create a contact - default","request":{"urlPathTemplate":"/contacts","method":"POST"},"response":{"status":201,"body":"{\n \"id\": 21\n}","headers":{"Content-Type":"application/json"}},"uuid":"fe3c55db-75e2-4d78-85c0-eaed9f642c83","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"dd0aa44d-f601-4c28-8481-1c0b25bb46aa","name":"List all attributes - default","request":{"urlPathTemplate":"/contacts/attributes","method":"GET"},"response":{"status":200,"body":"{\n \"attributes\": [\n {\n \"calculatedValue\": \"COUNT[ORDER_ID,ORDER_DATE,==,NOW(-1)]\",\n \"category\": \"normal\",\n \"enumeration\": [\n {\n \"label\": \"Women\",\n \"value\": 1\n }\n ],\n \"multiCategoryOptions\": [\n \"USA\"\n ],\n \"name\": \"LASTNAME\",\n \"type\": \"text\"\n },\n {\n \"calculatedValue\": \"COUNT[ORDER_ID,ORDER_DATE,==,NOW(-1)]\",\n \"category\": \"normal\",\n \"enumeration\": [\n {\n \"label\": \"Women\",\n \"value\": 1\n }\n ],\n \"multiCategoryOptions\": [\n \"USA\"\n ],\n \"name\": \"FIRSTNAME\",\n \"type\": \"text\"\n },\n {\n \"calculatedValue\": \"COUNT[ORDER_ID,ORDER_DATE,==,NOW(-1)]\",\n \"category\": \"normal\",\n \"enumeration\": [\n {\n \"label\": \"Women\",\n \"value\": 1\n }\n ],\n \"multiCategoryOptions\": [\n \"USA\"\n ],\n \"name\": \"DOB\",\n \"type\": \"date\"\n },\n {\n \"calculatedValue\": \"COUNT[ORDER_ID,ORDER_DATE,==,NOW(-1)]\",\n \"category\": \"category\",\n \"enumeration\": [\n {\n \"label\": \"Men\",\n \"value\": 1\n },\n {\n \"label\": \"Women\",\n \"value\": 2\n },\n {\n \"label\": \"Kid\",\n \"value\": 3\n }\n ],\n \"multiCategoryOptions\": [\n \"USA\"\n ],\n \"name\": \"GENDER\",\n \"type\": \"text\"\n },\n {\n \"calculatedValue\": \"COUNT[ORDER_ID,ORDER_DATE,==,NOW(-1)]\",\n \"category\": \"normal\",\n \"enumeration\": [\n {\n \"label\": \"Women\",\n \"value\": 1\n }\n ],\n \"multiCategoryOptions\": [\n \"USA\"\n ],\n \"name\": \"BDO\",\n \"type\": \"user\"\n },\n {\n \"calculatedValue\": \"COUNT[ORDER_ID,ORDER_DATE,==,NOW(-1)]\",\n \"category\": \"normal\",\n \"enumeration\": [\n {\n \"label\": \"Women\",\n \"value\": 1\n }\n ],\n \"multiCategoryOptions\": [\n \"USA\",\n \"India\",\n \"France\"\n ],\n \"name\": \"COUNTRY\",\n \"type\": \"multiple-choice\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"dd0aa44d-f601-4c28-8481-1c0b25bb46aa","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"1253fdcb-3d6c-4957-88ab-df297d7154ab","name":"Create contact attribute - default","request":{"urlPathTemplate":"/contacts/attributes/{attributeCategory}/{attributeName}","method":"POST","pathParameters":{"attributeCategory":{"equalTo":"normal"},"attributeName":{"equalTo":"attributeName"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"1253fdcb-3d6c-4957-88ab-df297d7154ab","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"f02e59a5-f5b5-400d-8697-22eace5165c5","name":"Update contact attribute - default","request":{"urlPathTemplate":"/contacts/attributes/{attributeCategory}/{attributeName}","method":"PUT","pathParameters":{"attributeCategory":{"equalTo":"category"},"attributeName":{"equalTo":"attributeName"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"f02e59a5-f5b5-400d-8697-22eace5165c5","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"eed9112c-42ea-4dba-a3c1-5bc5eea04b6a","name":"Delete an attribute - default","request":{"urlPathTemplate":"/contacts/attributes/{attributeCategory}/{attributeName}","method":"DELETE","pathParameters":{"attributeCategory":{"equalTo":"normal"},"attributeName":{"equalTo":"attributeName"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"eed9112c-42ea-4dba-a3c1-5bc5eea04b6a","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"827de4b0-dfdc-45c9-a27a-819a6acaece3","name":"Delete a multiple-choice attribute option - default","request":{"urlPathTemplate":"/contacts/attributes/{attributeType}/{multipleChoiceAttribute}/{multipleChoiceAttributeOption}","method":"DELETE","pathParameters":{"attributeType":{"equalTo":"multiple-choice"},"multipleChoiceAttribute":{"equalTo":"multipleChoiceAttribute"},"multipleChoiceAttributeOption":{"equalTo":"multipleChoiceAttributeOption"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"827de4b0-dfdc-45c9-a27a-819a6acaece3","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"6ba8cd16-ea25-49a7-8288-e0cf22a8b065","name":"Update multiple contacts - default","request":{"urlPathTemplate":"/contacts/batch","method":"POST"},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"6ba8cd16-ea25-49a7-8288-e0cf22a8b065","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"2b7fdfe7-8f83-41bd-81d2-b42f70ff4603","name":"Create Contact via DOI (Double-Opt-In) Flow - default","request":{"urlPathTemplate":"/contacts/doubleOptinConfirmation","method":"POST"},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"2b7fdfe7-8f83-41bd-81d2-b42f70ff4603","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"1a2d075b-a8de-4135-b0c9-58bcfe31c7e4","name":"Export contacts - default","request":{"urlPathTemplate":"/contacts/export","method":"POST"},"response":{"status":202,"body":"{\n \"processId\": 78\n}","headers":{"Content-Type":"application/json"}},"uuid":"1a2d075b-a8de-4135-b0c9-58bcfe31c7e4","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"c175e62d-23d7-4d5a-bc46-7093ac21de08","name":"Get all folders - default","request":{"urlPathTemplate":"/contacts/folders","method":"GET"},"response":{"status":200,"body":"{\n \"count\": 2,\n \"folders\": [\n {\n \"id\": 42,\n \"name\": \"Ninja_Form\",\n \"totalBlacklisted\": 98,\n \"totalSubscribers\": 4567,\n \"uniqueSubscribers\": 4665\n },\n {\n \"id\": 29,\n \"name\": \"Prestashop\",\n \"totalBlacklisted\": 10,\n \"totalSubscribers\": 6543,\n \"uniqueSubscribers\": 6553\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"c175e62d-23d7-4d5a-bc46-7093ac21de08","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"40d55e83-c362-440b-9ad3-3cbb47ed0eb0","name":"Create a folder - default","request":{"urlPathTemplate":"/contacts/folders","method":"POST"},"response":{"status":201,"body":"{\n \"id\": 5\n}","headers":{"Content-Type":"application/json"}},"uuid":"40d55e83-c362-440b-9ad3-3cbb47ed0eb0","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"64a96da1-15c5-426f-a455-f6ec46ff0434","name":"Returns a folder's details - default","request":{"urlPathTemplate":"/contacts/folders/{folderId}","method":"GET","pathParameters":{"folderId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"{\n \"id\": 1,\n \"name\": \"Client_Folder\",\n \"totalBlacklisted\": 987,\n \"totalSubscribers\": 16778,\n \"uniqueSubscribers\": 17765\n}","headers":{"Content-Type":"application/json"}},"uuid":"64a96da1-15c5-426f-a455-f6ec46ff0434","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"701dc90d-1130-42e1-93d3-8ef73e8f8596","name":"Update a folder - default","request":{"urlPathTemplate":"/contacts/folders/{folderId}","method":"PUT","pathParameters":{"folderId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"701dc90d-1130-42e1-93d3-8ef73e8f8596","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"a33a22a6-f7ae-41f1-9646-c37d999a9421","name":"Delete a folder (and all its lists) - default","request":{"urlPathTemplate":"/contacts/folders/{folderId}","method":"DELETE","pathParameters":{"folderId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"a33a22a6-f7ae-41f1-9646-c37d999a9421","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"1bbaf637-2edd-4ded-8338-3f42e8e93b45","name":"Get lists in a folder - default","request":{"urlPathTemplate":"/contacts/folders/{folderId}/lists","method":"GET","pathParameters":{"folderId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"{\n \"count\": 3,\n \"lists\": [\n {\n \"id\": 46,\n \"name\": \"Reactiv\",\n \"totalBlacklisted\": 0,\n \"totalSubscribers\": 7655,\n \"uniqueSubscribers\": 7655\n },\n {\n \"id\": 41,\n \"name\": \"NY_Area\",\n \"totalBlacklisted\": 23,\n \"totalSubscribers\": 3654,\n \"uniqueSubscribers\": 3677\n },\n {\n \"id\": 22,\n \"name\": \"VIP_Customer\",\n \"totalBlacklisted\": 72,\n \"totalSubscribers\": 8753,\n \"uniqueSubscribers\": 8826\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"1bbaf637-2edd-4ded-8338-3f42e8e93b45","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"c104d034-1156-452e-a1f5-90baae3a120e","name":"Import contacts - default","request":{"urlPathTemplate":"/contacts/import","method":"POST"},"response":{"status":202,"body":"{\n \"processId\": 78\n}","headers":{"Content-Type":"application/json"}},"uuid":"c104d034-1156-452e-a1f5-90baae3a120e","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"ede870d3-ebf8-4b09-851f-f8abb13c3b81","name":"Get all the lists - default","request":{"urlPathTemplate":"/contacts/lists","method":"GET"},"response":{"status":200,"body":"{\n \"count\": 2,\n \"lists\": [\n {\n \"id\": 53,\n \"name\": \"Spanish_Speakers\",\n \"totalBlacklisted\": 65,\n \"totalSubscribers\": 5432,\n \"uniqueSubscribers\": 5497,\n \"folderId\": 1\n },\n {\n \"id\": 50,\n \"name\": \"Other\",\n \"totalBlacklisted\": 765,\n \"totalSubscribers\": 10976,\n \"uniqueSubscribers\": 11741,\n \"folderId\": 2\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"ede870d3-ebf8-4b09-851f-f8abb13c3b81","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"ecaaf193-0526-47f7-a447-6866f25d6a35","name":"Create a list - default","request":{"urlPathTemplate":"/contacts/lists","method":"POST"},"response":{"status":201,"body":"{\n \"id\": 5\n}","headers":{"Content-Type":"application/json"}},"uuid":"ecaaf193-0526-47f7-a447-6866f25d6a35","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"d2bcf613-ab25-4a1d-acfc-f9189c9abdce","name":"Get a list's details - default","request":{"urlPathTemplate":"/contacts/lists/{listId}","method":"GET","pathParameters":{"listId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"{\n \"id\": 12,\n \"name\": \"Newsletter_Weekly\",\n \"totalBlacklisted\": 63,\n \"totalSubscribers\": 6533,\n \"uniqueSubscribers\": 6596,\n \"campaignStats\": [\n {\n \"campaignId\": 15,\n \"stats\": {\n \"appleMppOpens\": 10,\n \"clickers\": 789,\n \"complaints\": 0,\n \"deferred\": 0,\n \"delivered\": 6632,\n \"estimatedViews\": 560,\n \"hardBounces\": 4,\n \"listId\": 2,\n \"opensRate\": 29.54,\n \"returnBounce\": 5,\n \"sent\": 6645,\n \"softBounces\": 34,\n \"trackableViews\": 5661,\n \"trackableViewsRate\": 23.45,\n \"uniqueClicks\": 701,\n \"uniqueViews\": 3442,\n \"unsubscriptions\": 4,\n \"viewed\": 4322\n }\n },\n {\n \"campaignId\": 45,\n \"stats\": {\n \"appleMppOpens\": 10,\n \"clickers\": 788,\n \"complaints\": 1,\n \"deferred\": 0,\n \"delivered\": 4078,\n \"estimatedViews\": 560,\n \"hardBounces\": 2,\n \"listId\": 2,\n \"opensRate\": 29.54,\n \"returnBounce\": 5,\n \"sent\": 4334,\n \"softBounces\": 18,\n \"trackableViews\": 5661,\n \"trackableViewsRate\": 23.45,\n \"uniqueClicks\": 654,\n \"uniqueViews\": 987,\n \"unsubscriptions\": 4,\n \"viewed\": 1555\n }\n }\n ],\n \"createdAt\": \"2016-02-26T11:56:08Z\",\n \"dynamicList\": false,\n \"folderId\": 1\n}","headers":{"Content-Type":"application/json"}},"uuid":"d2bcf613-ab25-4a1d-acfc-f9189c9abdce","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"fd940864-d48a-47f4-8db8-5960a7657dcc","name":"Update a list - default","request":{"urlPathTemplate":"/contacts/lists/{listId}","method":"PUT","pathParameters":{"listId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"fd940864-d48a-47f4-8db8-5960a7657dcc","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"f9aace2d-f1ee-48cf-9a00-2ce8a8e876de","name":"Delete a list - default","request":{"urlPathTemplate":"/contacts/lists/{listId}","method":"DELETE","pathParameters":{"listId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"f9aace2d-f1ee-48cf-9a00-2ce8a8e876de","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"1e736496-14de-4379-b319-5857e47950dc","name":"Get contacts in a list - default","request":{"urlPathTemplate":"/contacts/lists/{listId}/contacts","method":"GET","pathParameters":{"listId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"{\n \"contacts\": [\n {\n \"attributes\": {},\n \"createdAt\": \"2017-05-12T12:30:00Z\",\n \"email\": \"alex.pain@example.com\",\n \"emailBlacklisted\": false,\n \"id\": 45,\n \"listIds\": [\n 12,\n 9,\n 20\n ],\n \"listUnsubscribed\": [\n 1,\n 2\n ],\n \"modifiedAt\": \"2017-05-12T12:30:00Z\",\n \"smsBlacklisted\": true\n },\n {\n \"attributes\": {},\n \"createdAt\": \"2017-05-12T12:30:00Z\",\n \"email\": \"john.smith@example.com\",\n \"emailBlacklisted\": true,\n \"id\": 32,\n \"listIds\": [\n 12\n ],\n \"listUnsubscribed\": [\n 1\n ],\n \"modifiedAt\": \"2017-05-12T12:30:00Z\",\n \"smsBlacklisted\": false\n },\n {\n \"attributes\": {},\n \"createdAt\": \"2017-05-12T12:30:00Z\",\n \"email\": \"helen.rose@example.com\",\n \"emailBlacklisted\": true,\n \"id\": 65,\n \"listIds\": [\n 12,\n 9,\n 20\n ],\n \"listUnsubscribed\": [\n 1\n ],\n \"modifiedAt\": \"2017-05-12T12:30:00Z\",\n \"smsBlacklisted\": false\n }\n ],\n \"count\": 17655\n}","headers":{"Content-Type":"application/json"}},"uuid":"1e736496-14de-4379-b319-5857e47950dc","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"f1dbcb2f-9c0d-4ccd-a750-28e2c2f9e6f9","name":"Add existing contacts to a list - default","request":{"urlPathTemplate":"/contacts/lists/{listId}/contacts/add","method":"POST","pathParameters":{"listId":{"equalTo":"1000000"}}},"response":{"status":201,"body":"{\n \"contacts\": {\n \"failure\": [\n \"jeff32@example.com, jim56@example.com\"\n ],\n \"processId\": 78,\n \"success\": [\n \"success\"\n ],\n \"total\": 27\n }\n}","headers":{"Content-Type":"application/json"}},"uuid":"f1dbcb2f-9c0d-4ccd-a750-28e2c2f9e6f9","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"36e0a4db-6281-4b17-bcbe-d10a330348a5","name":"Delete a contact from a list - default","request":{"urlPathTemplate":"/contacts/lists/{listId}/contacts/remove","method":"POST","pathParameters":{"listId":{"equalTo":"1000000"}}},"response":{"status":201,"body":"{\n \"contacts\": {\n \"failure\": [\n \"jeff32@example.com, jim56@example.com\"\n ],\n \"processId\": 78,\n \"success\": [\n \"success\"\n ],\n \"total\": 27\n }\n}","headers":{"Content-Type":"application/json"}},"uuid":"36e0a4db-6281-4b17-bcbe-d10a330348a5","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"dd30aa5c-59ad-4ff0-a95f-bf685d7b279e","name":"Get all the segments - default","request":{"urlPathTemplate":"/contacts/segments","method":"GET"},"response":{"status":200,"body":"{\n \"count\": 2,\n \"segments\": [\n {\n \"categoryName\": \"Name1\",\n \"id\": 53,\n \"segmentName\": \"Segment1\",\n \"updatedAt\": \"2017-03-12T12:30:00Z\"\n },\n {\n \"categoryName\": \"Name2\",\n \"id\": 50,\n \"segmentName\": \"Segment2\",\n \"updatedAt\": \"2017-03-12T12:30:00Z\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"dd30aa5c-59ad-4ff0-a95f-bf685d7b279e","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"5a0e7075-a413-4c22-a2bf-aa2f8e383d6d","name":"Get a contact's details - default","request":{"urlPathTemplate":"/contacts/{identifier}","method":"GET","pathParameters":{"identifier":{"equalTo":"identifier"}}},"response":{"status":200,"body":"{\n \"attributes\": {},\n \"createdAt\": \"2017-05-02T16:40:31Z\",\n \"email\": \"peggy.rain@example.com\",\n \"emailBlacklisted\": false,\n \"id\": 42,\n \"listIds\": [\n 40\n ],\n \"listUnsubscribed\": [\n 1000000\n ],\n \"modifiedAt\": \"2017-05-02T16:40:31Z\",\n \"smsBlacklisted\": false,\n \"statistics\": {\n \"clicked\": [\n {\n \"campaignId\": 21,\n \"links\": [\n {\n \"count\": 2,\n \"eventTime\": \"2016-05-03T21:25:01Z\",\n \"ip\": \"66.249.93.118\",\n \"url\": \"https://url.domain.com/fbe5387ec717e333628380454f68670010b205ff/1/go?uid={EMAIL}&utm_source=brevo&utm_campaign=test_camp&utm_medium=email\"\n }\n ]\n }\n ],\n \"complaints\": [\n {\n \"campaignId\": 3,\n \"eventTime\": \"2017-03-12T20:15:13Z\"\n }\n ],\n \"delivered\": [\n {\n \"campaignId\": 21,\n \"eventTime\": \"2016-05-03T21:24:56Z\"\n }\n ],\n \"hardBounces\": [\n {\n \"campaignId\": 3,\n \"eventTime\": \"2017-03-12T20:15:13Z\"\n }\n ],\n \"messagesSent\": [\n {\n \"campaignId\": 21,\n \"eventTime\": \"2016-05-03T20:15:13Z\"\n },\n {\n \"campaignId\": 42,\n \"eventTime\": \"2016-10-17T10:30:01Z\"\n }\n ],\n \"opened\": [\n {\n \"campaignId\": 21,\n \"count\": 2,\n \"eventTime\": \"2016-05-03T21:24:56Z\",\n \"ip\": \"66.249.93.118\"\n },\n {\n \"campaignId\": 68,\n \"count\": 1,\n \"eventTime\": \"2017-01-30T13:56:40Z\",\n \"ip\": \"66.249.93.217\"\n }\n ],\n \"softBounces\": [\n {\n \"campaignId\": 3,\n \"eventTime\": \"2017-03-12T20:15:13Z\"\n }\n ],\n \"transacAttributes\": [\n {}\n ],\n \"unsubscriptions\": {\n \"adminUnsubscription\": [\n {\n \"eventTime\": \"2017-03-12T20:15:13Z\",\n \"ip\": \"165.87.3.15\"\n }\n ],\n \"userUnsubscription\": [\n {\n \"campaignId\": 3,\n \"eventTime\": \"2017-03-12T20:15:13Z\",\n \"ip\": \"165.87.3.15\"\n }\n ]\n }\n }\n}","headers":{"Content-Type":"application/json"}},"uuid":"5a0e7075-a413-4c22-a2bf-aa2f8e383d6d","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"75a6a0e6-ae00-42cb-82ae-0bbe1f8bd2d1","name":"Update a contact - default","request":{"urlPathTemplate":"/contacts/{identifier}","method":"PUT","pathParameters":{"identifier":{"equalTo":"identifier"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"75a6a0e6-ae00-42cb-82ae-0bbe1f8bd2d1","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"fb8d40ed-00fd-4acc-88a7-32580773691f","name":"Delete a contact - default","request":{"urlPathTemplate":"/contacts/{identifier}","method":"DELETE","pathParameters":{"identifier":{"equalTo":"identifier"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"fb8d40ed-00fd-4acc-88a7-32580773691f","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"9797e88c-e80c-4130-9605-8986d5de0403","name":"Get email campaigns' statistics for a contact - default","request":{"urlPathTemplate":"/contacts/{identifier}/campaignStats","method":"GET","pathParameters":{"identifier":{"equalTo":"identifier"}}},"response":{"status":200,"body":"{\n \"clicked\": [\n {\n \"campaignId\": 21,\n \"links\": [\n {\n \"count\": 2,\n \"eventTime\": \"2016-05-03T21:25:01Z\",\n \"ip\": \"66.249.93.118\",\n \"url\": \"https://url.domain.com/fbe5387ec717e333628380454f68670010b205ff/1/go?uid={EMAIL}&utm_source=brevo&utm_campaign=test_camp&utm_medium=email\"\n }\n ]\n }\n ],\n \"complaints\": [\n {\n \"campaignId\": 3,\n \"eventTime\": \"2017-03-12T20:15:13Z\"\n }\n ],\n \"delivered\": [\n {\n \"campaignId\": 21,\n \"eventTime\": \"2016-05-03T21:24:56Z\"\n }\n ],\n \"hardBounces\": [\n {\n \"campaignId\": 3,\n \"eventTime\": \"2017-03-12T20:15:13Z\"\n }\n ],\n \"messagesSent\": [\n {\n \"campaignId\": 21,\n \"eventTime\": \"2016-05-03T20:15:13Z\"\n },\n {\n \"campaignId\": 42,\n \"eventTime\": \"2016-10-17T10:30:01Z\"\n },\n {\n \"campaignId\": 45,\n \"eventTime\": \"2016-11-09T11:45:02Z\"\n }\n ],\n \"opened\": [\n {\n \"campaignId\": 21,\n \"count\": 2,\n \"eventTime\": \"2016-05-03T21:24:56Z\",\n \"ip\": \"66.249.93.118\"\n },\n {\n \"campaignId\": 45,\n \"count\": 1,\n \"eventTime\": \"2017-01-30T13:56:40Z\",\n \"ip\": \"66.249.93.217\"\n }\n ],\n \"softBounces\": [\n {\n \"campaignId\": 3,\n \"eventTime\": \"2017-03-12T20:15:13Z\"\n }\n ],\n \"transacAttributes\": [\n {\n \"orderDate\": \"2017-03-12\",\n \"orderId\": 248,\n \"orderPrice\": 24.99\n }\n ],\n \"unsubscriptions\": {\n \"adminUnsubscription\": [\n {\n \"eventTime\": \"2017-03-12T20:15:13Z\",\n \"ip\": \"165.87.3.15\"\n }\n ],\n \"userUnsubscription\": [\n {\n \"campaignId\": 3,\n \"eventTime\": \"2017-03-12T20:15:13Z\",\n \"ip\": \"165.87.3.15\"\n }\n ]\n }\n}","headers":{"Content-Type":"application/json"}},"uuid":"9797e88c-e80c-4130-9605-8986d5de0403","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"989a2ce4-8788-48cc-963d-3d86cc2b2dd2","name":"Sets agent’s status to online for 2-3 minutes - default","request":{"urlPathTemplate":"/conversations/agentOnlinePing","method":"POST"},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"989a2ce4-8788-48cc-963d-3d86cc2b2dd2","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"0b2458f6-3c0f-4f03-9f63-8051466d793b","name":"Send a message as an agent - default","request":{"urlPathTemplate":"/conversations/messages","method":"POST"},"response":{"status":200,"body":"{\n \"agentId\": \"d9nKoegKSjmCtyK78\",\n \"agentName\": \"Liz\",\n \"agentUserpic\": \"https://www.brevo.com/\",\n \"attachments\": [\n {\n \"fileName\": \"fileName\",\n \"inlineId\": \"inlineId\",\n \"isImage\": true,\n \"isInline\": \"isInline\",\n \"size\": 1000000,\n \"url\": \"url\"\n }\n ],\n \"bcc\": [\n {\n \"email\": \"email\",\n \"name\": \"name\"\n }\n ],\n \"cc\": [\n {\n \"email\": \"email\",\n \"name\": \"name\"\n }\n ],\n \"createdAt\": 1482512803740,\n \"file\": {\n \"filename\": \"conversations.png\",\n \"imageInfo\": {\n \"height\": 525,\n \"previewUrl\": \"https://ucarecdn.com/03cd56cd-1de9-4f65-996d-08afdf27fa1b/-/preview/800x800/-/quality/lighter/\",\n \"width\": 1129\n },\n \"isImage\": true,\n \"size\": 15538,\n \"url\": \"https://ucarecdn.com/cee5c10c-8302-45c1-b1fb-43860ca941a9/\"\n },\n \"forwardedToSourceStatus\": {\n \"error\": \"error\",\n \"isSuccess\": true\n },\n \"from\": {\n \"email\": \"email\",\n \"name\": \"name\"\n },\n \"html\": \"Hello! How can I help you?\",\n \"id\": \"eYBEm3gq3zc5ayE2g\",\n \"integrations\": {\n \"key\": \"value\"\n },\n \"isBot\": true,\n \"isMissed\": false,\n \"isMissedByVisitor\": false,\n \"isPushed\": false,\n \"isTrigger\": false,\n \"rawUnsafeHtml\": \"Good morning!
How can I help you?\",\n \"receivedFrom\": \"SuperAwesomeHelpdesk\",\n \"replyTo\": {\n \"email\": \"email\",\n \"name\": \"name\"\n },\n \"sourceMessageId\": \"sourceMessageId\",\n \"subject\": \"Invitation to a meeting\",\n \"text\": \"Hello! How can I help you?\",\n \"to\": [\n {\n \"email\": \"email\",\n \"name\": \"name\"\n }\n ],\n \"type\": \"agent\",\n \"visitorId\": \"kZMvWhf8npAu3H6qd57w2Hv6nh6rnxvg\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"0b2458f6-3c0f-4f03-9f63-8051466d793b","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"73c7e27f-534f-4bff-ae89-6508af694971","name":"Get a message - default","request":{"urlPathTemplate":"/conversations/messages/{id}","method":"GET","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"{\n \"agentId\": \"d9nKoegKSjmCtyK78\",\n \"agentName\": \"Liz\",\n \"agentUserpic\": \"https://www.brevo.com/\",\n \"attachments\": [\n {\n \"fileName\": \"fileName\",\n \"inlineId\": \"inlineId\",\n \"isImage\": true,\n \"isInline\": \"isInline\",\n \"size\": 1000000,\n \"url\": \"url\"\n }\n ],\n \"bcc\": [\n {\n \"email\": \"email\",\n \"name\": \"name\"\n }\n ],\n \"cc\": [\n {\n \"email\": \"email\",\n \"name\": \"name\"\n }\n ],\n \"createdAt\": 1482512803740,\n \"file\": {\n \"filename\": \"conversations.png\",\n \"imageInfo\": {\n \"height\": 525,\n \"previewUrl\": \"https://ucarecdn.com/03cd56cd-1de9-4f65-996d-08afdf27fa1b/-/preview/800x800/-/quality/lighter/\",\n \"width\": 1129\n },\n \"isImage\": true,\n \"size\": 15538,\n \"url\": \"https://ucarecdn.com/cee5c10c-8302-45c1-b1fb-43860ca941a9/\"\n },\n \"forwardedToSourceStatus\": {\n \"error\": \"error\",\n \"isSuccess\": true\n },\n \"from\": {\n \"email\": \"email\",\n \"name\": \"name\"\n },\n \"html\": \"Hello! How can I help you?\",\n \"id\": \"eYBEm3gq3zc5ayE2g\",\n \"integrations\": {\n \"key\": \"value\"\n },\n \"isBot\": true,\n \"isMissed\": false,\n \"isMissedByVisitor\": false,\n \"isPushed\": false,\n \"isTrigger\": false,\n \"rawUnsafeHtml\": \"Good morning!
How can I help you?\",\n \"receivedFrom\": \"SuperAwesomeHelpdesk\",\n \"replyTo\": {\n \"email\": \"email\",\n \"name\": \"name\"\n },\n \"sourceMessageId\": \"sourceMessageId\",\n \"subject\": \"Invitation to a meeting\",\n \"text\": \"Hello! How can I help you?\",\n \"to\": [\n {\n \"email\": \"email\",\n \"name\": \"name\"\n }\n ],\n \"type\": \"agent\",\n \"visitorId\": \"kZMvWhf8npAu3H6qd57w2Hv6nh6rnxvg\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"73c7e27f-534f-4bff-ae89-6508af694971","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"92155bd1-c19b-4aad-99c9-8a69133fc185","name":"Update a message sent by an agent - default","request":{"urlPathTemplate":"/conversations/messages/{id}","method":"PUT","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"{\n \"agentId\": \"d9nKoegKSjmCtyK78\",\n \"agentName\": \"Liz\",\n \"agentUserpic\": \"https://www.brevo.com/\",\n \"attachments\": [\n {\n \"fileName\": \"fileName\",\n \"inlineId\": \"inlineId\",\n \"isImage\": true,\n \"isInline\": \"isInline\",\n \"size\": 1000000,\n \"url\": \"url\"\n }\n ],\n \"bcc\": [\n {\n \"email\": \"email\",\n \"name\": \"name\"\n }\n ],\n \"cc\": [\n {\n \"email\": \"email\",\n \"name\": \"name\"\n }\n ],\n \"createdAt\": 1482512803740,\n \"file\": {\n \"filename\": \"conversations.png\",\n \"imageInfo\": {\n \"height\": 525,\n \"previewUrl\": \"https://ucarecdn.com/03cd56cd-1de9-4f65-996d-08afdf27fa1b/-/preview/800x800/-/quality/lighter/\",\n \"width\": 1129\n },\n \"isImage\": true,\n \"size\": 15538,\n \"url\": \"https://ucarecdn.com/cee5c10c-8302-45c1-b1fb-43860ca941a9/\"\n },\n \"forwardedToSourceStatus\": {\n \"error\": \"error\",\n \"isSuccess\": true\n },\n \"from\": {\n \"email\": \"email\",\n \"name\": \"name\"\n },\n \"html\": \"Hello! How can I help you?\",\n \"id\": \"eYBEm3gq3zc5ayE2g\",\n \"integrations\": {\n \"key\": \"value\"\n },\n \"isBot\": true,\n \"isMissed\": false,\n \"isMissedByVisitor\": false,\n \"isPushed\": false,\n \"isTrigger\": false,\n \"rawUnsafeHtml\": \"Good morning!
How can I help you?\",\n \"receivedFrom\": \"SuperAwesomeHelpdesk\",\n \"replyTo\": {\n \"email\": \"email\",\n \"name\": \"name\"\n },\n \"sourceMessageId\": \"sourceMessageId\",\n \"subject\": \"Invitation to a meeting\",\n \"text\": \"Hello! How can I help you?\",\n \"to\": [\n {\n \"email\": \"email\",\n \"name\": \"name\"\n }\n ],\n \"type\": \"agent\",\n \"visitorId\": \"kZMvWhf8npAu3H6qd57w2Hv6nh6rnxvg\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"92155bd1-c19b-4aad-99c9-8a69133fc185","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"55448424-484f-42a8-b091-f8c24234f898","name":"Delete a message sent by an agent - default","request":{"urlPathTemplate":"/conversations/messages/{id}","method":"DELETE","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"55448424-484f-42a8-b091-f8c24234f898","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"7da39f40-5660-4486-b572-835f3f204973","name":"Send an automated message to a visitor - default","request":{"urlPathTemplate":"/conversations/pushedMessages","method":"POST"},"response":{"status":200,"body":"{\n \"agentId\": \"d9nKoegKSjmCtyK78\",\n \"agentName\": \"Liz\",\n \"agentUserpic\": \"https://www.brevo.com/\",\n \"attachments\": [\n {\n \"fileName\": \"fileName\",\n \"inlineId\": \"inlineId\",\n \"isImage\": true,\n \"isInline\": \"isInline\",\n \"size\": 1000000,\n \"url\": \"url\"\n }\n ],\n \"bcc\": [\n {\n \"email\": \"email\",\n \"name\": \"name\"\n }\n ],\n \"cc\": [\n {\n \"email\": \"email\",\n \"name\": \"name\"\n }\n ],\n \"createdAt\": 1470222622433,\n \"file\": {\n \"filename\": \"conversations.png\",\n \"imageInfo\": {\n \"height\": 525,\n \"previewUrl\": \"https://ucarecdn.com/03cd56cd-1de9-4f65-996d-08afdf27fa1b/-/preview/800x800/-/quality/lighter/\",\n \"width\": 1129\n },\n \"isImage\": true,\n \"size\": 15538,\n \"url\": \"https://ucarecdn.com/cee5c10c-8302-45c1-b1fb-43860ca941a9/\"\n },\n \"forwardedToSourceStatus\": {\n \"error\": \"error\",\n \"isSuccess\": true\n },\n \"from\": {\n \"email\": \"email\",\n \"name\": \"name\"\n },\n \"html\": \"Your order has shipped! Here’s your tracking number: 9114 5847 3325 9667 4328 88\",\n \"id\": \"AXCR3k9bpSY7bpuh7\",\n \"integrations\": {\n \"key\": \"value\"\n },\n \"isBot\": true,\n \"isMissed\": false,\n \"isMissedByVisitor\": false,\n \"isPushed\": true,\n \"isTrigger\": false,\n \"rawUnsafeHtml\": \"Good morning!
How can I help you?\",\n \"receivedFrom\": \"SuperAwesomeHelpdesk\",\n \"replyTo\": {\n \"email\": \"email\",\n \"name\": \"name\"\n },\n \"sourceMessageId\": \"sourceMessageId\",\n \"subject\": \"Invitation to a meeting\",\n \"text\": \"Your order has shipped! Here’s your tracking number: 9114 5847 3325 9667 4328 88\",\n \"to\": [\n {\n \"email\": \"email\",\n \"name\": \"name\"\n }\n ],\n \"type\": \"agent\",\n \"visitorId\": \"kZMvWhf8npAu3H6qd57w2Hv6nh6rnxvg\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"7da39f40-5660-4486-b572-835f3f204973","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"12a96082-f3dc-4674-b4a6-a2fc4b6aea92","name":"Get an automated message - default","request":{"urlPathTemplate":"/conversations/pushedMessages/{id}","method":"GET","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"{\n \"agentId\": \"d9nKoegKSjmCtyK78\",\n \"agentName\": \"Liz\",\n \"agentUserpic\": \"https://www.brevo.com/\",\n \"attachments\": [\n {\n \"fileName\": \"fileName\",\n \"inlineId\": \"inlineId\",\n \"isImage\": true,\n \"isInline\": \"isInline\",\n \"size\": 1000000,\n \"url\": \"url\"\n }\n ],\n \"bcc\": [\n {\n \"email\": \"email\",\n \"name\": \"name\"\n }\n ],\n \"cc\": [\n {\n \"email\": \"email\",\n \"name\": \"name\"\n }\n ],\n \"createdAt\": 1470222622433,\n \"file\": {\n \"filename\": \"conversations.png\",\n \"imageInfo\": {\n \"height\": 525,\n \"previewUrl\": \"https://ucarecdn.com/03cd56cd-1de9-4f65-996d-08afdf27fa1b/-/preview/800x800/-/quality/lighter/\",\n \"width\": 1129\n },\n \"isImage\": true,\n \"size\": 15538,\n \"url\": \"https://ucarecdn.com/cee5c10c-8302-45c1-b1fb-43860ca941a9/\"\n },\n \"forwardedToSourceStatus\": {\n \"error\": \"error\",\n \"isSuccess\": true\n },\n \"from\": {\n \"email\": \"email\",\n \"name\": \"name\"\n },\n \"html\": \"Your order has shipped! Here’s your tracking number: 9114 5847 3325 9667 4328 88\",\n \"id\": \"AXCR3k9bpSY7bpuh7\",\n \"integrations\": {\n \"key\": \"value\"\n },\n \"isBot\": true,\n \"isMissed\": false,\n \"isMissedByVisitor\": false,\n \"isPushed\": true,\n \"isTrigger\": false,\n \"rawUnsafeHtml\": \"Good morning!
How can I help you?\",\n \"receivedFrom\": \"SuperAwesomeHelpdesk\",\n \"replyTo\": {\n \"email\": \"email\",\n \"name\": \"name\"\n },\n \"sourceMessageId\": \"sourceMessageId\",\n \"subject\": \"Invitation to a meeting\",\n \"text\": \"Your order has shipped! Here’s your tracking number: 9114 5847 3325 9667 4328 88\",\n \"to\": [\n {\n \"email\": \"email\",\n \"name\": \"name\"\n }\n ],\n \"type\": \"agent\",\n \"visitorId\": \"kZMvWhf8npAu3H6qd57w2Hv6nh6rnxvg\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"12a96082-f3dc-4674-b4a6-a2fc4b6aea92","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"88f6c974-0fa5-4c85-bd4a-2c306144fb5a","name":"Update an automated message - default","request":{"urlPathTemplate":"/conversations/pushedMessages/{id}","method":"PUT","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"{\n \"agentId\": \"d9nKoegKSjmCtyK78\",\n \"agentName\": \"Liz\",\n \"agentUserpic\": \"https://www.brevo.com/\",\n \"attachments\": [\n {\n \"fileName\": \"fileName\",\n \"inlineId\": \"inlineId\",\n \"isImage\": true,\n \"isInline\": \"isInline\",\n \"size\": 1000000,\n \"url\": \"url\"\n }\n ],\n \"bcc\": [\n {\n \"email\": \"email\",\n \"name\": \"name\"\n }\n ],\n \"cc\": [\n {\n \"email\": \"email\",\n \"name\": \"name\"\n }\n ],\n \"createdAt\": 1470222622433,\n \"file\": {\n \"filename\": \"conversations.png\",\n \"imageInfo\": {\n \"height\": 525,\n \"previewUrl\": \"https://ucarecdn.com/03cd56cd-1de9-4f65-996d-08afdf27fa1b/-/preview/800x800/-/quality/lighter/\",\n \"width\": 1129\n },\n \"isImage\": true,\n \"size\": 15538,\n \"url\": \"https://ucarecdn.com/cee5c10c-8302-45c1-b1fb-43860ca941a9/\"\n },\n \"forwardedToSourceStatus\": {\n \"error\": \"error\",\n \"isSuccess\": true\n },\n \"from\": {\n \"email\": \"email\",\n \"name\": \"name\"\n },\n \"html\": \"Your order has shipped! Here’s your tracking number: 9114 5847 4668 7775 9233 54\",\n \"id\": \"AXCR3k9bpSY7bpuh7\",\n \"integrations\": {\n \"key\": \"value\"\n },\n \"isBot\": true,\n \"isMissed\": false,\n \"isMissedByVisitor\": false,\n \"isPushed\": true,\n \"isTrigger\": false,\n \"rawUnsafeHtml\": \"Good morning!
How can I help you?\",\n \"receivedFrom\": \"SuperAwesomeHelpdesk\",\n \"replyTo\": {\n \"email\": \"email\",\n \"name\": \"name\"\n },\n \"sourceMessageId\": \"sourceMessageId\",\n \"subject\": \"Invitation to a meeting\",\n \"text\": \"Your order has shipped! Here’s your tracking number: 9114 5847 4668 7775 9233 54\",\n \"to\": [\n {\n \"email\": \"email\",\n \"name\": \"name\"\n }\n ],\n \"type\": \"agent\",\n \"visitorId\": \"kZMvWhf8npAu3H6qd57w2Hv6nh6rnxvg\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"88f6c974-0fa5-4c85-bd4a-2c306144fb5a","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"a43cca1b-0cb5-4197-ad31-8ce0e455a7fe","name":"Delete an automated message - default","request":{"urlPathTemplate":"/conversations/pushedMessages/{id}","method":"DELETE","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"a43cca1b-0cb5-4197-ad31-8ce0e455a7fe","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"27ddcd9f-5f2e-408f-a518-a4e395c047ee","name":"Set visitor group assignment - default","request":{"urlPathTemplate":"/conversations/visitorGroup","method":"PUT"},"response":{"status":200,"body":"{\n \"groupId\": \"PjRBMhWGen6aRHjif\",\n \"visitorId\": \"AXCR3k9bpSY7bpuh7\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"27ddcd9f-5f2e-408f-a518-a4e395c047ee","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"6e38c169-881b-465d-ae5b-201dfe4364a5","name":"Return all your categories - default","request":{"urlPathTemplate":"/categories","method":"GET"},"response":{"status":200,"body":"{\n \"categories\": [\n {\n \"createdAt\": \"2021-12-31T11:42:35.638Z\",\n \"id\": \"C19\",\n \"isDeleted\": true,\n \"modifiedAt\": \"2022-03-03T14:48:31.867Z\",\n \"name\": \"Food\",\n \"url\": \"http://mydomain.com/category/food\"\n },\n {\n \"createdAt\": \"2021-12-31T11:42:35.638Z\",\n \"id\": \"C20\",\n \"isDeleted\": true,\n \"modifiedAt\": \"2022-03-03T14:48:31.867Z\",\n \"name\": \"clothing\",\n \"url\": \"http://mydomain.com/category/clothing\"\n }\n ],\n \"count\": 2\n}","headers":{"Content-Type":"application/json"}},"uuid":"6e38c169-881b-465d-ae5b-201dfe4364a5","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"c1c0c1db-676d-40e5-954f-ce7abd8fa780","name":"Create/Update a category - default","request":{"urlPathTemplate":"/categories","method":"POST"},"response":{"status":201,"body":"{\n \"id\": 21\n}","headers":{"Content-Type":"application/json"}},"uuid":"c1c0c1db-676d-40e5-954f-ce7abd8fa780","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"3355346d-e446-4635-9316-d9de9c0c8459","name":"Create categories in batch - default","request":{"urlPathTemplate":"/categories/batch","method":"POST"},"response":{"status":201,"body":"{\n \"createdCount\": 2,\n \"updatedCount\": 7\n}","headers":{"Content-Type":"application/json"}},"uuid":"3355346d-e446-4635-9316-d9de9c0c8459","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"e9a3bc64-c4fb-42bc-a44c-51ff0565f57d","name":"Get a category details - default","request":{"urlPathTemplate":"/categories/{id}","method":"GET","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"{\n \"createdAt\": \"2017-05-12T12:30:00Z\",\n \"id\": \"C11\",\n \"isDeleted\": true,\n \"modifiedAt\": \"2017-05-12T12:30:00Z\",\n \"name\": \"Electronics\",\n \"url\": \"http://mydomain.com/category/clothing\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"e9a3bc64-c4fb-42bc-a44c-51ff0565f57d","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"4aa9f4f1-3b05-446e-a5c8-175ce020f7dd","name":"Activate the eCommerce app - default","request":{"urlPathTemplate":"/ecommerce/activate","method":"POST"},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"4aa9f4f1-3b05-446e-a5c8-175ce020f7dd","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"ef76fef3-dd84-4cf8-9fa5-ff136eea6618","name":"Get attribution metrics for one or more Brevo campaigns or workflows - default","request":{"urlPathTemplate":"/ecommerce/attribution/metrics","method":"GET","queryParameters":{"periodFrom":{"equalTo":"2022-01-02T00:00:00Z"},"periodTo":{"equalTo":"2022-01-03T00:00:00Z"}}},"response":{"status":200,"body":"{\n \"results\": [\n {\n \"averageBasket\": 3,\n \"conversionSource\": \"email_campaign\",\n \"id\": 1.1,\n \"ordersCount\": 300,\n \"revenue\": 900\n },\n {\n \"averageBasket\": 4,\n \"conversionSource\": \"email_campaign\",\n \"id\": 1.1,\n \"ordersCount\": 200,\n \"revenue\": 800\n }\n ],\n \"totals\": {\n \"averageBasket\": 3.4,\n \"ordersCount\": 500,\n \"revenue\": 1700\n }\n}","headers":{"Content-Type":"application/json"}},"uuid":"ef76fef3-dd84-4cf8-9fa5-ff136eea6618","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"a673ac7e-f9a7-4c21-bd80-b49ff3c73efc","name":"Get detailed attribution metrics for a single Brevo campaign or workflow - default","request":{"urlPathTemplate":"/ecommerce/attribution/metrics/{conversionSource}/{conversionSourceId}","method":"GET","pathParameters":{"conversionSource":{"equalTo":"email_campaign"},"conversionSourceId":{"equalTo":"sale"}}},"response":{"status":200,"body":"{\n \"averageBasket\": 1.1,\n \"conversionSource\": \"email_campaign\",\n \"id\": 1.1,\n \"ordersCount\": 1.1,\n \"revenue\": 1.1,\n \"newCustomersCount\": 1.1\n}","headers":{"Content-Type":"application/json"}},"uuid":"a673ac7e-f9a7-4c21-bd80-b49ff3c73efc","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"d80e42ab-4376-47f6-9971-baead08cd9ec","name":"Get attributed product sales for a single Brevo campaign or workflow - default","request":{"urlPathTemplate":"/ecommerce/attribution/products/{conversionSource}/{conversionSourceId}","method":"GET","pathParameters":{"conversionSource":{"equalTo":"email_campaign"},"conversionSourceId":{"equalTo":"sale"}}},"response":{"status":200,"body":"{\n \"products\": [\n {\n \"id\": \"1\",\n \"imageUrl\": \"http://mydomain.com/product-absoulte-url/img.jpeg\",\n \"name\": \"Milky Way Galaxy\",\n \"ordersCount\": 200,\n \"price\": 1000,\n \"revenue\": 999.99,\n \"sku\": \"sku-1\",\n \"url\": \"https://mydomain.com/products/alpina-panoma-classic\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"d80e42ab-4376-47f6-9971-baead08cd9ec","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"ab816e77-ae78-42da-b0ac-c9e2a426dd38","name":"Get the ISO 4217 compliant display currency code for your Brevo account - default","request":{"urlPathTemplate":"/ecommerce/config/displayCurrency","method":"GET"},"response":{"status":200,"body":"{\n \"code\": \"EUR\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"ab816e77-ae78-42da-b0ac-c9e2a426dd38","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"c8c71b7b-bc9d-4d4f-83d0-1d4a57463596","name":"Set the ISO 4217 compliant display currency code for your Brevo account - default","request":{"urlPathTemplate":"/ecommerce/config/displayCurrency","method":"POST"},"response":{"status":200,"body":"{\n \"code\": \"EUR\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"c8c71b7b-bc9d-4d4f-83d0-1d4a57463596","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"a36a1140-3b78-405a-bb99-4be25b0e6f61","name":"Get order details - default","request":{"urlPathTemplate":"/orders","method":"GET"},"response":{"status":200,"body":"{\n \"count\": 1,\n \"orders\": [\n {\n \"amount\": 2000,\n \"billing\": {\n \"address\": \"Sec 62, Noida\",\n \"city\": \"Noida\",\n \"country\": \"India\",\n \"countryCode\": \"IN\",\n \"paymentMethod\": \"Net banking\",\n \"phone\": 9238283982,\n \"postCode\": 110001,\n \"region\": \"North India\"\n },\n \"contact_id\": 2,\n \"coupons\": [\n \"flat50\",\n \"flat40\"\n ],\n \"createdAt\": \"2021-12-31T11:42:35.638Z\",\n \"email\": \"testvisitor@sendinblue.com\",\n \"id\": \"order1803\",\n \"identifiers\": {\n \"ext_id\": \"ab12\",\n \"loyalty_subscription_id\": \"1234\"\n },\n \"products\": [\n {\n \"price\": 100,\n \"productId\": 21,\n \"quantity\": 2,\n \"variantId\": \"P100\"\n },\n {\n \"price\": 100,\n \"productId\": 21,\n \"quantity\": 2,\n \"variantId\": \"P15756\"\n }\n ],\n \"status\": \"complete\",\n \"storeId\": \"123\",\n \"updatedAt\": \"2022-03-03T14:48:31.867Z\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"a36a1140-3b78-405a-bb99-4be25b0e6f61","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"7063107e-0ad5-4bbd-97ec-def7bdb05465","name":"Managing the status of the order - default","request":{"urlPathTemplate":"/orders/status","method":"POST"},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"7063107e-0ad5-4bbd-97ec-def7bdb05465","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"1d3a52e5-1eb4-4b21-9a58-9136f4d6cdda","name":"Create orders in batch - default","request":{"urlPathTemplate":"/orders/status/batch","method":"POST"},"response":{"status":202,"body":"{\n \"batchId\": 1.1,\n \"count\": 17655\n}","headers":{"Content-Type":"application/json"}},"uuid":"1d3a52e5-1eb4-4b21-9a58-9136f4d6cdda","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"fd7eae8c-354e-4a43-8cea-0aa947291dea","name":"Return all your products - default","request":{"urlPathTemplate":"/products","method":"GET"},"response":{"status":200,"body":"{\n \"count\": 2,\n \"products\": [\n {\n \"categories\": [\n \"279638835374\",\n \"279502848174\"\n ],\n \"createdAt\": \"2022-06-30T10:29:16.078Z\",\n \"id\": \"P11\",\n \"imageUrl\": \"http://mydomain.com/product-absoulte-url/img.jpeg\",\n \"isDeleted\": true,\n \"metaInfo\": {\n \"brand\": \"addidas\",\n \"description\": \"Shoes for sports\"\n },\n \"modifiedAt\": \"2022-06-30T10:29:16.078Z\",\n \"name\": \"Alpina Panoma Classic\",\n \"parentId\": \"parentId\",\n \"price\": 49.95,\n \"s3Original\": \"https://img-ecom.mailinblue.com/path-to-original/img.jpg\",\n \"s3ThumbAnalytics\": \"https://img-ecom.mailinblue.com/path-to-analytics/img.jpg\",\n \"s3ThumbEditor\": \"https://img-ecom.mailinblue.com/path-to-editor/img.jpg\",\n \"sku\": \"186622-9\",\n \"stock\": 100,\n \"url\": \"https://mydomain.com/products/alpina-panoma-classic\"\n },\n {\n \"categories\": [\n \"2d79638835374\",\n \"27d9502848174\"\n ],\n \"createdAt\": \"2022-06-30T10:29:16.078Z\",\n \"id\": \"P11\",\n \"imageUrl\": \"http://mydomain.com/product-absoulte-url/img.jpeg\",\n \"isDeleted\": true,\n \"metaInfo\": {\n \"brand\": \"addidas\",\n \"description\": \"Shoes for sports\"\n },\n \"modifiedAt\": \"2022-06-30T10:29:16.078Z\",\n \"name\": \"Alpina Panoma Classic2\",\n \"parentId\": \"parentId\",\n \"price\": 49.95,\n \"s3Original\": \"https://img-ecom.mailinblue.com/path-to-original/img.jpg\",\n \"s3ThumbAnalytics\": \"https://img-ecom.mailinblue.com/path-to-analytics/img.jpg\",\n \"s3ThumbEditor\": \"https://img-ecom.mailinblue.com/path-to-editor/img.jpg\",\n \"sku\": \"186622-9\",\n \"stock\": 350,\n \"url\": \"https://mydomain.com/products/alpina-panoma-classic2\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"fd7eae8c-354e-4a43-8cea-0aa947291dea","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"8a42981c-cdd8-404e-bdb0-edaac19b7e0c","name":"Create/Update a product - default","request":{"urlPathTemplate":"/products","method":"POST"},"response":{"status":201,"body":"{\n \"id\": 21\n}","headers":{"Content-Type":"application/json"}},"uuid":"8a42981c-cdd8-404e-bdb0-edaac19b7e0c","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"5f2f0859-18a7-463c-bee7-4afb4ba092b0","name":"Create products in batch - default","request":{"urlPathTemplate":"/products/batch","method":"POST"},"response":{"status":201,"body":"{\n \"createdCount\": 2,\n \"updatedCount\": 7\n}","headers":{"Content-Type":"application/json"}},"uuid":"5f2f0859-18a7-463c-bee7-4afb4ba092b0","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"dcc8be20-9ebc-41b7-a9e0-2e9b9004756a","name":"Get a product's details - default","request":{"urlPathTemplate":"/products/{id}","method":"GET","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"{\n \"categories\": [\n \"categories\"\n ],\n \"createdAt\": \"2017-05-12T12:30:00Z\",\n \"id\": \"P11\",\n \"imageUrl\": \"http://mydomain.com/product-absoulte-url/img.jpeg\",\n \"isDeleted\": true,\n \"metaInfo\": {\n \"brand\": \"addidas\",\n \"description\": \"Shoes for sports\"\n },\n \"modifiedAt\": \"2017-05-12T12:30:00Z\",\n \"name\": \"Iphone 11\",\n \"parentId\": \"parentId\",\n \"price\": 1.1,\n \"s3Original\": \"s3Original\",\n \"s3ThumbAnalytics\": \"s3ThumbAnalytics\",\n \"s3ThumbEditor\": \"s3ThumbEditor\",\n \"sku\": \"sku\",\n \"stock\": 100,\n \"url\": \"http://mydomain.com/product/electronics/product1\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"dcc8be20-9ebc-41b7-a9e0-2e9b9004756a","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"e82388ef-e4d4-4ac5-874c-2f802a602bed","name":"Create a product alert for a contact - default","request":{"urlPathTemplate":"/products/{id}/alerts/{type}","method":"POST","pathParameters":{"id":{"equalTo":"id"},"type":{"equalTo":"back_in_stock"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"e82388ef-e4d4-4ac5-874c-2f802a602bed","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"1afa5f6e-118c-4482-b744-5ef2a9799cf5","name":"Get all your coupon collections - default","request":{"urlPathTemplate":"/couponCollections","method":"GET"},"response":{"status":200,"body":"{\n \"createdAt\": \"2023-01-06T05:03:47Z\",\n \"defaultCoupon\": \"10 OFF\",\n \"expirationDate\": \"2024-01-01T00:00:00Z\",\n \"id\": \"23befbae-1505-47a8-bd27-e30ef739f32c\",\n \"name\": \"SummerPromotions\",\n \"remainingCoupons\": 5000,\n \"remainingCouponsAlert\": 5,\n \"remainingDaysAlert\": 5,\n \"totalCoupons\": 10000\n}","headers":{"Content-Type":"application/json"}},"uuid":"1afa5f6e-118c-4482-b744-5ef2a9799cf5","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"e6cacd7a-7ba8-4b0a-822c-0d6971f40073","name":"Create а coupon collection - default","request":{"urlPathTemplate":"/couponCollections","method":"POST"},"response":{"status":201,"body":"{\n \"id\": \"23befbae-1505-47a8-bd27-e30ef739f32c\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"e6cacd7a-7ba8-4b0a-822c-0d6971f40073","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"dff4a2fb-73ac-479f-ab4c-2c9110fd1537","name":"Get a coupon collection by id - default","request":{"urlPathTemplate":"/couponCollections/{id}","method":"GET","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"{\n \"createdAt\": \"2023-01-06T05:03:47Z\",\n \"defaultCoupon\": \"10 OFF\",\n \"expirationDate\": \"2024-01-01T00:00:00Z\",\n \"id\": \"23befbae-1505-47a8-bd27-e30ef739f32c\",\n \"name\": \"SummerPromotions\",\n \"remainingCoupons\": 5000,\n \"remainingCouponsAlert\": 5,\n \"remainingDaysAlert\": 5,\n \"totalCoupons\": 10000\n}","headers":{"Content-Type":"application/json"}},"uuid":"dff4a2fb-73ac-479f-ab4c-2c9110fd1537","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"e28907c7-b011-4634-bb47-d32e210b128b","name":"Update a coupon collection by id - default","request":{"urlPathTemplate":"/couponCollections/{id}","method":"PATCH","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"{\n \"defaultCoupon\": \"10 OFF\",\n \"id\": \"23befbae-1505-47a8-bd27-e30ef739f32c\",\n \"name\": \"SummerPromotions\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"e28907c7-b011-4634-bb47-d32e210b128b","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"eef10e8c-75d8-4adc-9fb0-8c2daeb31145","name":"Create coupons for a coupon collection - default","request":{"urlPathTemplate":"/coupons","method":"POST"},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"eef10e8c-75d8-4adc-9fb0-8c2daeb31145","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"35f2e6da-c185-4829-b6ce-3bd466f76681","name":"Create a payment request - default","request":{"urlPathTemplate":"/payments/requests","method":"POST"},"response":{"status":201,"body":"{\n \"id\": 122,\n \"url\": \"https://pay.brevo.com/payment/6d4ec0b2b48ef803df4103ve\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"35f2e6da-c185-4829-b6ce-3bd466f76681","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"173baf22-0f60-411a-b5e3-f68c427c3a5d","name":"Get payment request details - default","request":{"urlPathTemplate":"/payments/requests/{id}","method":"GET","pathParameters":{"id":{"equalTo":"050db7b0-9bb7-4c1e-9c68-5a8dace8c1dc"}}},"response":{"status":200,"body":"{\n \"cart\": {\n \"currency\": \"EUR\",\n \"specificAmount\": 1200\n },\n \"configuration\": {\n \"customSuccessUrl\": \"https://my-company.com/payment-success\"\n },\n \"contactId\": 43,\n \"notification\": {\n \"channel\": \"email\",\n \"text\": \"Please pay for your yoga class.\"\n },\n \"numberOfRemindersSent\": 5,\n \"reference\": \"Invoice #INV0001\\n\",\n \"status\": \"paid\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"173baf22-0f60-411a-b5e3-f68c427c3a5d","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"87ef813d-0336-4656-a5b5-e0899662397f","name":"Delete a payment request. - default","request":{"urlPathTemplate":"/payments/requests/{id}","method":"DELETE","pathParameters":{"id":{"equalTo":"9ae7d68a-565c-4695-9381-d8fb3e3a14cc"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"87ef813d-0336-4656-a5b5-e0899662397f","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"aed029ff-9be1-4acb-9dcf-a4c3e218a560","name":"Create an event - default","request":{"urlPathTemplate":"/events","method":"POST"},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"aed029ff-9be1-4acb-9dcf-a4c3e218a560","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"09aa7143-15a9-433c-a1e0-3444863bbf64","name":"Get the list of all the events for the received emails. - default","request":{"urlPathTemplate":"/inbound/events","method":"GET"},"response":{"status":200,"body":"{\n \"events\": [\n {\n \"date\": \"2017-03-11T12:30:00Z\",\n \"recipient\": \"alexa@example.com\",\n \"sender\": \"john@example.com\",\n \"uuid\": \"1a825d56-029b-4a41-b8e4-1a825d56\"\n },\n {\n \"date\": \"2017-03-12T12:30:00Z\",\n \"recipient\": \"bob@example.com\",\n \"sender\": \"alice@example.com\",\n \"uuid\": \"1a825d56-029b-4a41-b8e4-61670463431b\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"09aa7143-15a9-433c-a1e0-3444863bbf64","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"ee4248db-9736-4af1-a32a-5a7de6f5328a","name":"Fetch all events history for one particular received email. - default","request":{"urlPathTemplate":"/inbound/events/{uuid}","method":"GET","pathParameters":{"uuid":{"equalTo":"uuid"}}},"response":{"status":200,"body":"{\n \"attachments\": [\n {\n \"contentLength\": 12345,\n \"contentType\": \"application/pdf\",\n \"name\": \"invoice.pdf\"\n }\n ],\n \"deliveredAt\": \"2017-03-12T12:31:00Z\",\n \"logs\": [\n {\n \"date\": \"2017-03-12T12:30:00Z\",\n \"type\": \"received\"\n },\n {\n \"date\": \"2017-03-12T12:30:04Z\",\n \"type\": \"webhookFailed\"\n },\n {\n \"date\": \"2017-03-12T12:31:04Z\",\n \"type\": \"webhookDelivered\"\n }\n ],\n \"messageId\": \"\",\n \"receivedAt\": \"2017-03-12T12:30:00Z\",\n \"recipient\": \"bob@example.com\",\n \"sender\": \"alice@example.com\",\n \"subject\": \"Re: Question about your API\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"ee4248db-9736-4af1-a32a-5a7de6f5328a","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"3426b7cd-c7c6-4cd0-8359-916c1482c4a3","name":"Retrieve inbound attachment with download token. - default","request":{"urlPathTemplate":"/inbound/attachments/{downloadToken}","method":"GET","pathParameters":{"downloadToken":{"equalTo":"downloadToken"}}},"response":{"status":200,"body":"{\n \"key\": \"value\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"3426b7cd-c7c6-4cd0-8359-916c1482c4a3","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"b8273ac4-3d1a-4b9a-b003-bb49ef16337f","name":"Get Active Balances API - default","request":{"urlPathTemplate":"/loyalty/balance/programs/{pid}/active-balance","method":"GET","pathParameters":{"pid":{"equalTo":"pid"}},"queryParameters":{"contact_id":{"equalTo":"1"},"balance_definition_id":{"equalTo":"balance_definition_id"}}},"response":{"status":200,"body":"{\n \"balanceDefinitionId\": \"balanceDefinitionId\",\n \"constraintType\": \"constraintType\",\n \"createdAt\": \"createdAt\",\n \"durationUnit\": \"durationUnit\",\n \"durationValue\": 1,\n \"id\": \"id\",\n \"slidingSchedule\": true,\n \"transactionType\": \"transactionType\",\n \"updatedAt\": \"updatedAt\",\n \"value\": 1\n}","headers":{"Content-Type":"application/json"}},"uuid":"b8273ac4-3d1a-4b9a-b003-bb49ef16337f","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"7ed4ff5a-868f-45ef-a95a-550b62f69d5a","name":"Get balance definition list - default","request":{"urlPathTemplate":"/loyalty/balance/programs/{pid}/balance-definitions","method":"GET","pathParameters":{"pid":{"equalTo":"pid"}}},"response":{"status":200,"body":"{\n \"items\": [\n {\n \"balanceAvailabilityDurationModifier\": \"startOfPeriod\",\n \"balanceAvailabilityDurationUnit\": \"balanceAvailabilityDurationUnit\",\n \"balanceAvailabilityDurationValue\": 1,\n \"balanceExpirationDate\": \"2024-01-15T09:30:00Z\",\n \"balanceOptionAmountOvertakingStrategy\": \"balanceOptionAmountOvertakingStrategy\",\n \"balanceOptionCreditRounding\": \"balanceOptionCreditRounding\",\n \"balanceOptionDebitRounding\": \"balanceOptionDebitRounding\",\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"deletedAt\": \"deletedAt\",\n \"description\": \"description\",\n \"id\": \"id\",\n \"imageRef\": \"imageRef\",\n \"maxAmount\": 1.1,\n \"maxCreditAmountLimit\": 1.1,\n \"maxDebitAmountLimit\": 1.1,\n \"meta\": {\n \"key\": \"value\"\n },\n \"minAmount\": 1.1,\n \"name\": \"name\",\n \"unit\": \"unit\",\n \"updatedAt\": \"updatedAt\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"7ed4ff5a-868f-45ef-a95a-550b62f69d5a","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"9db15f6f-dd09-4033-bff7-9d94ef6ae471","name":"Create balance definition - default","request":{"urlPathTemplate":"/loyalty/balance/programs/{pid}/balance-definitions","method":"POST","pathParameters":{"pid":{"equalTo":"pid"}}},"response":{"status":200,"body":"{\n \"balanceAvailabilityDurationModifier\": \"startOfPeriod\",\n \"balanceAvailabilityDurationUnit\": \"balanceAvailabilityDurationUnit\",\n \"balanceAvailabilityDurationValue\": 1,\n \"balanceExpirationDate\": \"2024-01-15T09:30:00Z\",\n \"balanceOptionAmountOvertakingStrategy\": \"balanceOptionAmountOvertakingStrategy\",\n \"balanceOptionCreditRounding\": \"balanceOptionCreditRounding\",\n \"balanceOptionDebitRounding\": \"balanceOptionDebitRounding\",\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"deletedAt\": \"deletedAt\",\n \"description\": \"description\",\n \"id\": \"id\",\n \"imageRef\": \"imageRef\",\n \"maxAmount\": 1.1,\n \"maxCreditAmountLimit\": 1.1,\n \"maxDebitAmountLimit\": 1.1,\n \"meta\": {\n \"key\": \"value\"\n },\n \"minAmount\": 1.1,\n \"name\": \"name\",\n \"unit\": \"unit\",\n \"updatedAt\": \"updatedAt\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"9db15f6f-dd09-4033-bff7-9d94ef6ae471","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"5171ff4c-8ab1-4886-96b9-72845239dcb2","name":"Get balance definition - default","request":{"urlPathTemplate":"/loyalty/balance/programs/{pid}/balance-definitions/{bdid}","method":"GET","pathParameters":{"pid":{"equalTo":"pid"},"bdid":{"equalTo":"bdid"}}},"response":{"status":200,"body":"{\n \"balanceAvailabilityDurationModifier\": \"startOfPeriod\",\n \"balanceAvailabilityDurationUnit\": \"balanceAvailabilityDurationUnit\",\n \"balanceAvailabilityDurationValue\": 1,\n \"balanceExpirationDate\": \"2024-01-15T09:30:00Z\",\n \"balanceOptionAmountOvertakingStrategy\": \"balanceOptionAmountOvertakingStrategy\",\n \"balanceOptionCreditRounding\": \"balanceOptionCreditRounding\",\n \"balanceOptionDebitRounding\": \"balanceOptionDebitRounding\",\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"deletedAt\": \"deletedAt\",\n \"description\": \"description\",\n \"id\": \"id\",\n \"imageRef\": \"imageRef\",\n \"maxAmount\": 1.1,\n \"maxCreditAmountLimit\": 1.1,\n \"maxDebitAmountLimit\": 1.1,\n \"meta\": {\n \"key\": \"value\"\n },\n \"minAmount\": 1.1,\n \"name\": \"name\",\n \"unit\": \"unit\",\n \"updatedAt\": \"updatedAt\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"5171ff4c-8ab1-4886-96b9-72845239dcb2","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"1da76c71-d209-4641-9094-43a7214838ef","name":"Update balance definition - default","request":{"urlPathTemplate":"/loyalty/balance/programs/{pid}/balance-definitions/{bdid}","method":"PUT","pathParameters":{"pid":{"equalTo":"pid"},"bdid":{"equalTo":"bdid"}}},"response":{"status":200,"body":"{\n \"balanceAvailabilityDurationModifier\": \"startOfPeriod\",\n \"balanceAvailabilityDurationUnit\": \"balanceAvailabilityDurationUnit\",\n \"balanceAvailabilityDurationValue\": 1,\n \"balanceExpirationDate\": \"2024-01-15T09:30:00Z\",\n \"balanceOptionAmountOvertakingStrategy\": \"balanceOptionAmountOvertakingStrategy\",\n \"balanceOptionCreditRounding\": \"balanceOptionCreditRounding\",\n \"balanceOptionDebitRounding\": \"balanceOptionDebitRounding\",\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"deletedAt\": \"deletedAt\",\n \"description\": \"description\",\n \"id\": \"id\",\n \"imageRef\": \"imageRef\",\n \"maxAmount\": 1.1,\n \"maxCreditAmountLimit\": 1.1,\n \"maxDebitAmountLimit\": 1.1,\n \"meta\": {\n \"key\": \"value\"\n },\n \"minAmount\": 1.1,\n \"name\": \"name\",\n \"unit\": \"unit\",\n \"updatedAt\": \"updatedAt\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"1da76c71-d209-4641-9094-43a7214838ef","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"a3817b26-f6c9-4900-86c4-6d4869b41b38","name":"Delete balance definition - default","request":{"urlPathTemplate":"/loyalty/balance/programs/{pid}/balance-definitions/{bdid}","method":"DELETE","pathParameters":{"pid":{"equalTo":"pid"},"bdid":{"equalTo":"bdid"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"a3817b26-f6c9-4900-86c4-6d4869b41b38","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"3d2118a4-5218-46f1-8513-ef75d832d7d5","name":"Create balance limits - default","request":{"urlPathTemplate":"/loyalty/balance/programs/{pid}/balance-definitions/{bdid}/limits","method":"POST","pathParameters":{"pid":{"equalTo":"pid"},"bdid":{"equalTo":"bdid"}}},"response":{"status":200,"body":"{\n \"balanceDefinitionId\": \"balanceDefinitionId\",\n \"constraintType\": \"constraintType\",\n \"createdAt\": \"createdAt\",\n \"durationUnit\": \"durationUnit\",\n \"durationValue\": 1,\n \"id\": \"id\",\n \"slidingSchedule\": true,\n \"transactionType\": \"transactionType\",\n \"updatedAt\": \"updatedAt\",\n \"value\": 1\n}","headers":{"Content-Type":"application/json"}},"uuid":"3d2118a4-5218-46f1-8513-ef75d832d7d5","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"5def443d-7ef0-4c5c-99d3-9e38a21ed142","name":"Get balance limits - default","request":{"urlPathTemplate":"/loyalty/balance/programs/{pid}/balance-definitions/{bdid}/limits/{blid}","method":"GET","pathParameters":{"pid":{"equalTo":"pid"},"bdid":{"equalTo":"bdid"},"blid":{"equalTo":"blid"}}},"response":{"status":200,"body":"{\n \"balanceDefinitionId\": \"balanceDefinitionId\",\n \"constraintType\": \"constraintType\",\n \"createdAt\": \"createdAt\",\n \"durationUnit\": \"durationUnit\",\n \"durationValue\": 1,\n \"id\": \"id\",\n \"slidingSchedule\": true,\n \"transactionType\": \"transactionType\",\n \"updatedAt\": \"updatedAt\",\n \"value\": 1\n}","headers":{"Content-Type":"application/json"}},"uuid":"5def443d-7ef0-4c5c-99d3-9e38a21ed142","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"3c24feb3-061c-4954-a12f-81100122b866","name":"Updates balance limit - default","request":{"urlPathTemplate":"/loyalty/balance/programs/{pid}/balance-definitions/{bdid}/limits/{blid}","method":"PUT","pathParameters":{"pid":{"equalTo":"pid"},"bdid":{"equalTo":"bdid"},"blid":{"equalTo":"blid"}}},"response":{"status":200,"body":"{\n \"balanceDefinitionId\": \"balanceDefinitionId\",\n \"constraintType\": \"constraintType\",\n \"createdAt\": \"createdAt\",\n \"durationUnit\": \"durationUnit\",\n \"durationValue\": 1,\n \"id\": \"id\",\n \"slidingSchedule\": true,\n \"transactionType\": \"transactionType\",\n \"updatedAt\": \"updatedAt\",\n \"value\": 1\n}","headers":{"Content-Type":"application/json"}},"uuid":"3c24feb3-061c-4954-a12f-81100122b866","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"60e7789f-ecdc-4330-96f5-426c8865aa02","name":"Delete balance limit - default","request":{"urlPathTemplate":"/loyalty/balance/programs/{pid}/balance-definitions/{bdid}/limits/{blid}","method":"DELETE","pathParameters":{"pid":{"equalTo":"pid"},"bdid":{"equalTo":"bdid"},"blid":{"equalTo":"blid"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"60e7789f-ecdc-4330-96f5-426c8865aa02","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"a00ea68f-14e1-4bbc-a3ad-1f4c555dbd92","name":"Get balance list - default","request":{"urlPathTemplate":"/loyalty/balance/programs/{pid}/contact-balances","method":"GET","pathParameters":{"pid":{"equalTo":"pid"}}},"response":{"status":200,"body":"{\n \"balanceDefinitionId\": \"balanceDefinitionId\",\n \"balances\": [\n {\n \"contactId\": 1,\n \"loyaltySubscriptionId\": \"loyaltySubscriptionId\",\n \"updatedAt\": \"updatedAt\",\n \"value\": 1.1\n }\n ],\n \"count\": 1,\n \"loyaltyProgramId\": \"loyaltyProgramId\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"a00ea68f-14e1-4bbc-a3ad-1f4c555dbd92","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"24af1e00-9fca-4515-89c5-bce7048b3f2e","name":"Create balance order - default","request":{"urlPathTemplate":"/loyalty/balance/programs/{pid}/create-order","method":"POST","pathParameters":{"pid":{"equalTo":"pid"}}},"response":{"status":200,"body":"{\n \"amount\": 1.1,\n \"balanceDefinitionId\": \"balanceDefinitionId\",\n \"contactId\": 1,\n \"createdAt\": \"createdAt\",\n \"dueAt\": \"dueAt\",\n \"expiresAt\": \"expiresAt\",\n \"id\": \"id\",\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"meta\": {\n \"key\": \"value\"\n },\n \"processedAt\": \"processedAt\",\n \"transactionid\": \"transactionid\",\n \"updatedAt\": \"updatedAt\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"24af1e00-9fca-4515-89c5-bce7048b3f2e","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"bd77b0ff-3379-4930-aa93-f8cc25163bee","name":"Get subscription balances - default","request":{"urlPathTemplate":"/loyalty/balance/programs/{pid}/subscriptions/{cid}/balances","method":"GET","pathParameters":{"pid":{"equalTo":"pid"},"cid":{"equalTo":"cid"}}},"response":{"status":200,"body":"{\n \"balance\": [\n {\n \"balanceDefinitionId\": \"balanceDefinitionId\",\n \"value\": 1.1\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"bd77b0ff-3379-4930-aa93-f8cc25163bee","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"06abbd3e-aec8-48f0-9c90-49887599e5ac","name":"Create subscription balances - default","request":{"urlPathTemplate":"/loyalty/balance/programs/{pid}/subscriptions/{cid}/balances","method":"POST","pathParameters":{"pid":{"equalTo":"pid"},"cid":{"equalTo":"cid"}}},"response":{"status":200,"body":"{\n \"amount\": 1.1,\n \"balanceDefinitionId\": \"balanceDefinitionId\",\n \"consumedAt\": \"consumedAt\",\n \"contactId\": 1,\n \"createdAt\": \"createdAt\",\n \"expiresAt\": \"expiresAt\",\n \"id\": \"id\",\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"organizationId\": 1\n}","headers":{"Content-Type":"application/json"}},"uuid":"06abbd3e-aec8-48f0-9c90-49887599e5ac","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"d806b377-c3f2-46e1-af10-826fc8cb7a77","name":"Get Transaction History API - default","request":{"urlPathTemplate":"/loyalty/balance/programs/{pid}/transaction-history","method":"GET","pathParameters":{"pid":{"equalTo":"pid"}},"queryParameters":{"contact_id":{"equalTo":"1"},"balance_definition_id":{"equalTo":"balance_definition_id"}}},"response":{"status":200,"body":"{\n \"balanceDefinitionId\": \"balanceDefinitionId\",\n \"contactId\": 1,\n \"count\": 1,\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"transactionHistory\": [\n {\n \"amount\": 1.1,\n \"balanceExpirationDate\": \"balanceExpirationDate\",\n \"cancelledAt\": \"cancelledAt\",\n \"completedAt\": \"completedAt\",\n \"createdAt\": \"createdAt\",\n \"id\": \"id\",\n \"meta\": {\n \"key\": \"value\"\n },\n \"rejectReason\": \"rejectReason\",\n \"rejectedAt\": \"rejectedAt\",\n \"status\": \"status\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"d806b377-c3f2-46e1-af10-826fc8cb7a77","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"01dd65f2-fc30-4f9a-94e7-cf908b0c0b6a","name":"Create new transaction - default","request":{"urlPathTemplate":"/loyalty/balance/programs/{pid}/transactions","method":"POST","pathParameters":{"pid":{"equalTo":"pid"}}},"response":{"status":200,"body":"{\n \"amount\": 1.1,\n \"balanceDefinitionId\": \"balanceDefinitionId\",\n \"cancelledAt\": \"cancelledAt\",\n \"completedAt\": \"completedAt\",\n \"contactId\": 1,\n \"createdAt\": \"createdAt\",\n \"eventTime\": \"eventTime\",\n \"expirationDate\": \"expirationDate\",\n \"id\": \"id\",\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"meta\": {\n \"key\": \"value\"\n },\n \"rejectReason\": \"rejectReason\",\n \"rejectedAt\": \"rejectedAt\",\n \"status\": \"status\",\n \"updatedAt\": \"updatedAt\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"01dd65f2-fc30-4f9a-94e7-cf908b0c0b6a","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"bd42f484-63b7-431c-9d4b-a149ff9cd0b8","name":"Cancel transaction - default","request":{"urlPathTemplate":"/loyalty/balance/programs/{pid}/transactions/{tid}/cancel","method":"POST","pathParameters":{"pid":{"equalTo":"pid"},"tid":{"equalTo":"tid"}}},"response":{"status":200,"body":"{\n \"amount\": 1.1,\n \"balanceDefinitionId\": \"balanceDefinitionId\",\n \"cancelledAt\": \"cancelledAt\",\n \"completedAt\": \"completedAt\",\n \"contactId\": 1,\n \"createdAt\": \"createdAt\",\n \"eventTime\": \"eventTime\",\n \"expirationDate\": \"expirationDate\",\n \"id\": \"id\",\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"meta\": {\n \"key\": \"value\"\n },\n \"rejectReason\": \"rejectReason\",\n \"rejectedAt\": \"rejectedAt\",\n \"status\": \"status\",\n \"updatedAt\": \"updatedAt\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"bd42f484-63b7-431c-9d4b-a149ff9cd0b8","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"fbed8bbf-cc97-48fb-a7f6-e56e37f2cf2e","name":"Complete transaction - default","request":{"urlPathTemplate":"/loyalty/balance/programs/{pid}/transactions/{tid}/complete","method":"POST","pathParameters":{"pid":{"equalTo":"pid"},"tid":{"equalTo":"tid"}}},"response":{"status":200,"body":"{\n \"amount\": 1.1,\n \"balanceDefinitionId\": \"balanceDefinitionId\",\n \"cancelledAt\": \"cancelledAt\",\n \"completedAt\": \"completedAt\",\n \"contactId\": 1,\n \"createdAt\": \"createdAt\",\n \"eventTime\": \"eventTime\",\n \"expirationDate\": \"expirationDate\",\n \"id\": \"id\",\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"meta\": {\n \"key\": \"value\"\n },\n \"rejectReason\": \"rejectReason\",\n \"rejectedAt\": \"rejectedAt\",\n \"status\": \"status\",\n \"updatedAt\": \"updatedAt\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"fbed8bbf-cc97-48fb-a7f6-e56e37f2cf2e","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"26205d6c-548c-4928-8845-8eb6528a066d","name":"Get loyalty program list - default","request":{"urlPathTemplate":"/loyalty/config/programs","method":"GET"},"response":{"status":200,"body":"{\n \"items\": [\n {\n \"codeCount\": 1,\n \"createdAt\": \"createdAt\",\n \"description\": \"description\",\n \"documentId\": \"documentId\",\n \"id\": \"id\",\n \"meta\": {\n \"key\": \"value\"\n },\n \"name\": \"name\",\n \"pattern\": \"pattern\",\n \"state\": \"inactive\",\n \"subscriptionGeneratorId\": \"subscriptionGeneratorId\",\n \"subscriptionPoolId\": \"subscriptionPoolId\",\n \"updatedAt\": \"updatedAt\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"26205d6c-548c-4928-8845-8eb6528a066d","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"58d70d75-ea78-49d2-a9d6-beab3075e797","name":"Create loyalty program - default","request":{"urlPathTemplate":"/loyalty/config/programs","method":"POST"},"response":{"status":200,"body":"{\n \"codeCount\": 1,\n \"createdAt\": \"createdAt\",\n \"description\": \"description\",\n \"documentId\": \"documentId\",\n \"id\": \"id\",\n \"meta\": {\n \"key\": \"value\"\n },\n \"name\": \"name\",\n \"pattern\": \"pattern\",\n \"state\": \"inactive\",\n \"subscriptionGeneratorId\": \"subscriptionGeneratorId\",\n \"subscriptionPoolId\": \"subscriptionPoolId\",\n \"updatedAt\": \"updatedAt\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"58d70d75-ea78-49d2-a9d6-beab3075e797","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"c0fa09f4-d2b6-46f5-9560-abd8eb19c934","name":"Get loyalty program Info - default","request":{"urlPathTemplate":"/loyalty/config/programs/{pid}","method":"GET","pathParameters":{"pid":{"equalTo":"pid"}}},"response":{"status":200,"body":"{\n \"codeCount\": 1,\n \"createdAt\": \"createdAt\",\n \"description\": \"description\",\n \"documentId\": \"documentId\",\n \"id\": \"id\",\n \"meta\": {\n \"key\": \"value\"\n },\n \"name\": \"name\",\n \"pattern\": \"pattern\",\n \"state\": \"inactive\",\n \"subscriptionGeneratorId\": \"subscriptionGeneratorId\",\n \"subscriptionPoolId\": \"subscriptionPoolId\",\n \"updatedAt\": \"updatedAt\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"c0fa09f4-d2b6-46f5-9560-abd8eb19c934","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"861e512a-8f3c-4e67-9519-b050d07984c6","name":"Update loyalty program - default","request":{"urlPathTemplate":"/loyalty/config/programs/{pid}","method":"PUT","pathParameters":{"pid":{"equalTo":"pid"}}},"response":{"status":200,"body":"{\n \"codeCount\": 1,\n \"createdAt\": \"createdAt\",\n \"description\": \"description\",\n \"documentId\": \"documentId\",\n \"id\": \"id\",\n \"meta\": {\n \"key\": \"value\"\n },\n \"name\": \"name\",\n \"pattern\": \"pattern\",\n \"state\": \"inactive\",\n \"subscriptionGeneratorId\": \"subscriptionGeneratorId\",\n \"subscriptionPoolId\": \"subscriptionPoolId\",\n \"updatedAt\": \"updatedAt\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"861e512a-8f3c-4e67-9519-b050d07984c6","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"a87fbb4c-71e6-4806-9622-174c92be89d1","name":"Delete Loyalty Program - default","request":{"urlPathTemplate":"/loyalty/config/programs/{pid}","method":"DELETE","pathParameters":{"pid":{"equalTo":"pid"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"a87fbb4c-71e6-4806-9622-174c92be89d1","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"8a2689f4-70a0-4e02-8ce4-3c55e07bc708","name":"Partially update loyalty program - default","request":{"urlPathTemplate":"/loyalty/config/programs/{pid}","method":"PATCH","pathParameters":{"pid":{"equalTo":"pid"}}},"response":{"status":200,"body":"{\n \"codeCount\": 1,\n \"createdAt\": \"createdAt\",\n \"description\": \"description\",\n \"documentId\": \"documentId\",\n \"id\": \"id\",\n \"meta\": {\n \"key\": \"value\"\n },\n \"name\": \"name\",\n \"pattern\": \"pattern\",\n \"state\": \"inactive\",\n \"subscriptionGeneratorId\": \"subscriptionGeneratorId\",\n \"subscriptionPoolId\": \"subscriptionPoolId\",\n \"updatedAt\": \"updatedAt\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"8a2689f4-70a0-4e02-8ce4-3c55e07bc708","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"d32199cf-9ffa-4318-a330-2e9fda3da2d2","name":"Get Subscription Data - default","request":{"urlPathTemplate":"/loyalty/config/programs/{pid}/account-info","method":"GET","pathParameters":{"pid":{"equalTo":"pid"}}},"response":{"status":200,"body":"{\n \"balance\": {\n \"balances\": [\n {}\n ],\n \"contactId\": 1,\n \"loyaltyProgramId\": \"loyaltyProgramId\"\n },\n \"members\": [\n {\n \"createdAt\": \"createdAt\",\n \"memberContactId\": 1,\n \"updatedAt\": \"updatedAt\"\n }\n ],\n \"reward\": [\n {\n \"code\": \"code\",\n \"contactId\": 1,\n \"createdAt\": \"createdAt\",\n \"expirationDate\": \"expirationDate\",\n \"id\": \"id\",\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"meta\": {\n \"key\": \"value\"\n },\n \"rewardId\": \"rewardId\",\n \"updatedAt\": \"updatedAt\"\n }\n ],\n \"tier\": [\n {\n \"contactId\": 1,\n \"createdAt\": \"createdAt\",\n \"groupId\": \"groupId\",\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"meta\": {\n \"key\": \"value\"\n },\n \"tierId\": \"tierId\",\n \"updatedAt\": \"updatedAt\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"d32199cf-9ffa-4318-a330-2e9fda3da2d2","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"e628ecea-6ac2-4237-bf4e-d3e911f50954","name":"Publish loyalty program - default","request":{"urlPathTemplate":"/loyalty/config/programs/{pid}/publish","method":"POST","pathParameters":{"pid":{"equalTo":"pid"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"e628ecea-6ac2-4237-bf4e-d3e911f50954","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"c63d1aae-db4f-4b4c-b82f-19e95683e037","name":"Create subscription member - default","request":{"urlPathTemplate":"/loyalty/config/programs/{pid}/subscription-members","method":"POST","pathParameters":{"pid":{"equalTo":"pid"}}},"response":{"status":200,"body":"{\n \"createdAt\": \"createdAt\",\n \"memberContactIds\": [\n 1\n ],\n \"organizationId\": 1,\n \"ownerContactId\": 1,\n \"updatedAt\": \"updatedAt\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"c63d1aae-db4f-4b4c-b82f-19e95683e037","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"efc3a783-b09a-41eb-8c6f-6f3f03271ef4","name":"Delete subscription member - default","request":{"urlPathTemplate":"/loyalty/config/programs/{pid}/subscription-members","method":"DELETE","pathParameters":{"pid":{"equalTo":"pid"}},"queryParameters":{"memberContactIds":{"equalTo":"memberContactIds"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"efc3a783-b09a-41eb-8c6f-6f3f03271ef4","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"c73cc6cc-b51b-4e8a-ae72-3446029b9ec5","name":"Create subscription - default","request":{"urlPathTemplate":"/loyalty/config/programs/{pid}/subscriptions","method":"POST","pathParameters":{"pid":{"equalTo":"pid"}}},"response":{"status":200,"body":"{\n \"contactId\": 1,\n \"createdAt\": \"createdAt\",\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"loyaltySubscriptionId\": \"loyaltySubscriptionId\",\n \"organizationId\": 1,\n \"updatedAt\": \"updatedAt\",\n \"versionId\": 1\n}","headers":{"Content-Type":"application/json"}},"uuid":"c73cc6cc-b51b-4e8a-ae72-3446029b9ec5","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"da280697-1454-4e11-996a-89c499cf8d7f","name":"Get code count - default","request":{"urlPathTemplate":"/loyalty/offer/programs/{pid}/code-pools/{cpid}/codes-count","method":"GET","pathParameters":{"pid":{"equalTo":"pid"},"cpid":{"equalTo":"cpid"}}},"response":{"status":200,"body":"{\n \"count\": 1000000\n}","headers":{"Content-Type":"application/json"}},"uuid":"da280697-1454-4e11-996a-89c499cf8d7f","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"3d324fa9-3782-4213-ab50-8574dc117f03","name":"Get Reward Page API - default","request":{"urlPathTemplate":"/loyalty/offer/programs/{pid}/offers","method":"GET","pathParameters":{"pid":{"equalTo":"pid"}}},"response":{"status":200,"body":"{\n \"items\": [\n {\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"endDate\": \"2024-01-15T09:30:00Z\",\n \"id\": \"id\",\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"name\": \"name\",\n \"publicImage\": \"publicImage\",\n \"startDate\": \"2024-01-15T09:30:00Z\",\n \"state\": \"state\",\n \"updatedAt\": \"2024-01-15T09:30:00Z\"\n }\n ],\n \"totalCount\": 1\n}","headers":{"Content-Type":"application/json"}},"uuid":"3d324fa9-3782-4213-ab50-8574dc117f03","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"e24ddc18-7dbb-4302-828c-d6e53ebb4a34","name":"Create a reward - default","request":{"urlPathTemplate":"/loyalty/offer/programs/{pid}/offers","method":"POST","pathParameters":{"pid":{"equalTo":"pid"}}},"response":{"status":200,"body":"{\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"id\": \"id\",\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"name\": \"name\",\n \"publicDescription\": \"publicDescription\",\n \"publicImage\": \"publicImage\",\n \"publicName\": \"publicName\",\n \"updatedAt\": \"updatedAt\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"e24ddc18-7dbb-4302-828c-d6e53ebb4a34","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"661c8611-a50c-4e77-aad2-b152b4a15e63","name":"Create a voucher - default","request":{"urlPathTemplate":"/loyalty/offer/programs/{pid}/rewards/attribute","method":"POST","pathParameters":{"pid":{"equalTo":"pid"}}},"response":{"status":200,"body":"{\n \"code\": \"code\",\n \"consumedAt\": \"consumedAt\",\n \"contactId\": 1000000,\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"expirationDate\": \"2024-01-15T09:30:00Z\",\n \"id\": \"id\",\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"meta\": {\n \"key\": \"value\"\n },\n \"rewardId\": \"rewardId\",\n \"updatedAt\": \"2024-01-15T09:30:00Z\",\n \"value\": 1.1\n}","headers":{"Content-Type":"application/json"}},"uuid":"661c8611-a50c-4e77-aad2-b152b4a15e63","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"aa8692b0-126d-488d-b643-8fe0de2f8405","name":"Create redeem voucher request - default","request":{"urlPathTemplate":"/loyalty/offer/programs/{pid}/rewards/redeem","method":"POST","pathParameters":{"pid":{"equalTo":"pid"}}},"response":{"status":200,"body":"{\n \"cancelledAt\": \"2024-01-15T09:30:00Z\",\n \"completedAt\": \"2024-01-15T09:30:00Z\",\n \"contactId\": 1000000,\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"debitTransactionId\": \"debitTransactionId\",\n \"expiresAt\": \"2024-01-15T09:30:00Z\",\n \"id\": \"id\",\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"meta\": {\n \"key\": \"value\"\n },\n \"rejectReason\": \"rejectReason\",\n \"rejectedAt\": \"2024-01-15T09:30:00Z\",\n \"rewardAttributionId\": \"rewardAttributionId\",\n \"status\": \"status\",\n \"updatedAt\": \"2024-01-15T09:30:00Z\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"aa8692b0-126d-488d-b643-8fe0de2f8405","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"99e6b97f-e193-4c85-b833-07efab4f9b5b","name":"Complete redeem voucher request - default","request":{"urlPathTemplate":"/loyalty/offer/programs/{pid}/rewards/redeem/{tid}/complete","method":"POST","pathParameters":{"pid":{"equalTo":"pid"},"tid":{"equalTo":"tid"}}},"response":{"status":200,"body":"{\n \"cancelledAt\": \"2024-01-15T09:30:00Z\",\n \"completedAt\": \"2024-01-15T09:30:00Z\",\n \"contactId\": 1000000,\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"debitTransactionId\": \"debitTransactionId\",\n \"expiresAt\": \"2024-01-15T09:30:00Z\",\n \"id\": \"id\",\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"meta\": {\n \"key\": \"value\"\n },\n \"rejectReason\": \"rejectReason\",\n \"rejectedAt\": \"2024-01-15T09:30:00Z\",\n \"rewardAttributionId\": \"rewardAttributionId\",\n \"status\": \"status\",\n \"updatedAt\": \"2024-01-15T09:30:00Z\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"99e6b97f-e193-4c85-b833-07efab4f9b5b","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"919890cf-9d52-46fe-87bc-03565bdc4697","name":"Revoke vouchers - default","request":{"urlPathTemplate":"/loyalty/offer/programs/{pid}/rewards/revoke","method":"DELETE","pathParameters":{"pid":{"equalTo":"pid"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"919890cf-9d52-46fe-87bc-03565bdc4697","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"53d2fcd5-6b39-4fa3-a257-21f60d24efc5","name":"Validate a reward - default","request":{"urlPathTemplate":"/loyalty/offer/programs/{pid}/rewards/validate","method":"POST","pathParameters":{"pid":{"equalTo":"pid"}}},"response":{"status":200,"body":"{\n \"authorize\": true\n}","headers":{"Content-Type":"application/json"}},"uuid":"53d2fcd5-6b39-4fa3-a257-21f60d24efc5","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"66e13a60-2e6c-4f3b-9ff7-fc1cdcc147b8","name":"Get reward information - default","request":{"urlPathTemplate":"/loyalty/offer/programs/{pid}/rewards/{rid}","method":"GET","pathParameters":{"pid":{"equalTo":"pid"},"rid":{"equalTo":"rid"}}},"response":{"status":200,"body":"{\n \"attributionPerConsumer\": 1,\n \"balanceDefinitionId\": \"balanceDefinitionId\",\n \"code\": \"code\",\n \"codeCount\": 1000000,\n \"codeGeneratorId\": \"codeGeneratorId\",\n \"codePoolId\": \"codePoolId\",\n \"config\": \"config\",\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"disabledAt\": \"2024-01-15T09:30:00Z\",\n \"endDate\": \"2024-01-15T09:30:00Z\",\n \"expirationDate\": \"2024-01-15T09:30:00Z\",\n \"expirationModifier\": \"startOfPeriod\",\n \"expirationUnit\": \"expirationUnit\",\n \"expirationValue\": 1,\n \"generator\": {\n \"createdAt\": \"createdAt\",\n \"description\": \"description\",\n \"id\": \"id\",\n \"name\": \"name\",\n \"pattern\": \"pattern\",\n \"updatedAt\": \"2024-01-15T09:30:00Z\"\n },\n \"id\": \"id\",\n \"limits\": [\n {\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"durationUnit\": \"durationUnit\",\n \"durationValue\": 1,\n \"limitValue\": 1,\n \"rewardLimitId\": \"rewardLimitId\",\n \"slidingSchedule\": true,\n \"type\": \"type\",\n \"updatedAt\": \"2024-01-15T09:30:00Z\"\n }\n ],\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"meta\": {\n \"key\": \"value\"\n },\n \"name\": \"name\",\n \"products\": [\n {\n \"createdAt\": \"createdAt\",\n \"imageRef\": \"imageRef\",\n \"productId\": \"productId\",\n \"value\": \"value\"\n }\n ],\n \"publicDescription\": \"publicDescription\",\n \"publicImage\": \"publicImage\",\n \"publicName\": \"publicName\",\n \"redeemPerConsumer\": 1,\n \"redeemRules\": [\n \"redeemRules\"\n ],\n \"rewardConfigs\": {\n \"attribution\": \"attribution\",\n \"code\": \"code\",\n \"value\": \"value\"\n },\n \"rule\": {\n \"condition\": {\n \"op\": \"op\"\n },\n \"createdAt\": \"createdAt\",\n \"description\": \"description\",\n \"event\": {\n \"name\": \"name\",\n \"source\": \"source\"\n },\n \"isInternal\": true,\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"loyaltyVersionId\": 1,\n \"meta\": {\n \"key\": \"value\"\n },\n \"name\": \"name\",\n \"results\": [\n {}\n ],\n \"ruleId\": \"ruleId\",\n \"ruleType\": \"ruleType\",\n \"updatedAt\": \"updatedAt\"\n },\n \"startDate\": \"2024-01-15T09:30:00Z\",\n \"subtractBalanceDefinitionId\": \"subtractBalanceDefinitionId\",\n \"subtractBalanceStrategy\": \"subtractBalanceStrategy\",\n \"subtractBalanceValue\": 1,\n \"subtractTotalBalance\": true,\n \"totalAttribution\": 1,\n \"totalRedeem\": 1,\n \"triggerId\": \"triggerId\",\n \"unit\": \"unit\",\n \"updatedAt\": \"updatedAt\",\n \"value\": 1.1,\n \"valueType\": \"valueType\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"66e13a60-2e6c-4f3b-9ff7-fc1cdcc147b8","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"950e340e-ab9c-42c4-8c85-9ea1bd43113d","name":"Get voucher for a contact - default","request":{"urlPathTemplate":"/loyalty/offer/programs/{pid}/vouchers","method":"GET","pathParameters":{"pid":{"equalTo":"pid"}},"queryParameters":{"contactId":{"equalTo":"1"}}},"response":{"status":200,"body":"{\n \"contactId\": 1000000,\n \"contactRewards\": [\n {\n \"code\": \"code\",\n \"consumedAt\": \"consumedAt\",\n \"createdAt\": \"createdAt\",\n \"expirationDate\": \"expirationDate\",\n \"id\": \"id\",\n \"meta\": {\n \"key\": \"value\"\n },\n \"rewardId\": \"rewardId\",\n \"unit\": \"unit\",\n \"updatedAt\": \"updatedAt\",\n \"value\": 1.1\n }\n ],\n \"count\": 1,\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"loyaltySubscriptionId\": \"loyaltySubscriptionId\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"950e340e-ab9c-42c4-8c85-9ea1bd43113d","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"f3e1d26e-fbde-4b7e-afe4-fabb4960ff71","name":"Assign a tier - default","request":{"urlPathTemplate":"/loyalty/tier/programs/{pid}/contacts/{cid}/tiers/{tid}","method":"POST","pathParameters":{"pid":{"equalTo":"pid"},"cid":{"equalTo":"cid"},"tid":{"equalTo":"tid"}}},"response":{"status":200,"body":"{\n \"contactId\": 1,\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"groupId\": \"groupId\",\n \"id\": \"id\",\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"meta\": {\n \"key\": \"value\"\n },\n \"updatedAt\": \"2024-01-15T09:30:00Z\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"f3e1d26e-fbde-4b7e-afe4-fabb4960ff71","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"e6fc762d-7440-4454-beb1-ff71f4a9080e","name":"List tier groups - default","request":{"urlPathTemplate":"/loyalty/tier/programs/{pid}/tier-groups","method":"GET","pathParameters":{"pid":{"equalTo":"pid"}}},"response":{"status":200,"body":"{\n \"items\": [\n {\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"downgradeStrategy\": \"real_time\",\n \"id\": \"id\",\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"name\": \"name\",\n \"tierOrder\": [\n \"tierOrder\"\n ],\n \"updatedAt\": \"2024-01-15T09:30:00Z\",\n \"upgradeStrategy\": \"real_time\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"e6fc762d-7440-4454-beb1-ff71f4a9080e","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"d33f2b3b-2dd3-4911-8200-e4b4ef965933","name":"Create a tier group - default","request":{"urlPathTemplate":"/loyalty/tier/programs/{pid}/tier-groups","method":"POST","pathParameters":{"pid":{"equalTo":"pid"}}},"response":{"status":200,"body":"{\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"downgradeStrategy\": \"real_time\",\n \"id\": \"id\",\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"name\": \"name\",\n \"tierOrder\": [\n \"tierOrder\"\n ],\n \"updatedAt\": \"2024-01-15T09:30:00Z\",\n \"upgradeStrategy\": \"real_time\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"d33f2b3b-2dd3-4911-8200-e4b4ef965933","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"562fecbb-8cc8-46ae-b519-3fd2825bb107","name":"Get tier group - default","request":{"urlPathTemplate":"/loyalty/tier/programs/{pid}/tier-groups/{gid}","method":"GET","pathParameters":{"pid":{"equalTo":"pid"},"gid":{"equalTo":"gid"}}},"response":{"status":200,"body":"{\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"downgradeStrategy\": \"real_time\",\n \"id\": \"id\",\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"name\": \"name\",\n \"tierOrder\": [\n \"tierOrder\"\n ],\n \"updatedAt\": \"2024-01-15T09:30:00Z\",\n \"upgradeStrategy\": \"real_time\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"562fecbb-8cc8-46ae-b519-3fd2825bb107","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"67f29817-d31a-4186-b787-9277e465e139","name":"Update tier group - default","request":{"urlPathTemplate":"/loyalty/tier/programs/{pid}/tier-groups/{gid}","method":"PUT","pathParameters":{"pid":{"equalTo":"pid"},"gid":{"equalTo":"gid"}}},"response":{"status":200,"body":"{\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"downgradeStrategy\": \"real_time\",\n \"id\": \"id\",\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"name\": \"name\",\n \"tierOrder\": [\n \"tierOrder\"\n ],\n \"updatedAt\": \"2024-01-15T09:30:00Z\",\n \"upgradeStrategy\": \"real_time\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"67f29817-d31a-4186-b787-9277e465e139","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"a9e14ece-a957-40e8-b723-4b89904599dd","name":"Delete tier group - default","request":{"urlPathTemplate":"/loyalty/tier/programs/{pid}/tier-groups/{gid}","method":"DELETE","pathParameters":{"pid":{"equalTo":"pid"},"gid":{"equalTo":"gid"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"a9e14ece-a957-40e8-b723-4b89904599dd","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"d2b435bf-764a-46a6-a860-04672e2611c0","name":"Create a tier - default","request":{"urlPathTemplate":"/loyalty/tier/programs/{pid}/tier-groups/{gid}/tiers","method":"POST","pathParameters":{"pid":{"equalTo":"pid"},"gid":{"equalTo":"gid"}}},"response":{"status":200,"body":"{\n \"accessConditions\": [\n {\n \"balanceDefinitionId\": \"balanceDefinitionId\",\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"minimumValue\": 1,\n \"updatedAt\": \"2024-01-15T09:30:00Z\"\n }\n ],\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"groupId\": \"groupId\",\n \"imageRef\": \"imageRef\",\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"name\": \"name\",\n \"tierId\": \"tierId\",\n \"tierRewards\": [\n {\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"rewardId\": \"rewardId\",\n \"updatedAt\": \"2024-01-15T09:30:00Z\"\n }\n ],\n \"updatedAt\": \"2024-01-15T09:30:00Z\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"d2b435bf-764a-46a6-a860-04672e2611c0","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"e335b644-b3a8-4e92-9222-a80f9a8dd3ab","name":"List tiers - default","request":{"urlPathTemplate":"/loyalty/tier/programs/{pid}/tiers","method":"GET","pathParameters":{"pid":{"equalTo":"pid"}}},"response":{"status":200,"body":"{\n \"items\": [\n {\n \"accessConditions\": [\n {}\n ],\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"groupId\": \"groupId\",\n \"imageRef\": \"imageRef\",\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"name\": \"name\",\n \"tierId\": \"tierId\",\n \"tierRewards\": [\n {}\n ],\n \"updatedAt\": \"2024-01-15T09:30:00Z\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"e335b644-b3a8-4e92-9222-a80f9a8dd3ab","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"c299567a-50ff-4db3-a919-280c95c9de65","name":"Update tier - default","request":{"urlPathTemplate":"/loyalty/tier/programs/{pid}/tiers/{tid}","method":"PUT","pathParameters":{"pid":{"equalTo":"pid"},"tid":{"equalTo":"tid"}}},"response":{"status":200,"body":"{\n \"accessConditions\": [\n {\n \"balanceDefinitionId\": \"balanceDefinitionId\",\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"minimumValue\": 1,\n \"updatedAt\": \"2024-01-15T09:30:00Z\"\n }\n ],\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"groupId\": \"groupId\",\n \"imageRef\": \"imageRef\",\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"name\": \"name\",\n \"tierId\": \"tierId\",\n \"tierRewards\": [\n {\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"rewardId\": \"rewardId\",\n \"updatedAt\": \"2024-01-15T09:30:00Z\"\n }\n ],\n \"updatedAt\": \"2024-01-15T09:30:00Z\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"c299567a-50ff-4db3-a919-280c95c9de65","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"05e6afcc-fb74-4457-a108-1dc6a10a5be7","name":"Delete tier - default","request":{"urlPathTemplate":"/loyalty/tier/programs/{pid}/tiers/{tid}","method":"DELETE","pathParameters":{"pid":{"equalTo":"pid"},"tid":{"equalTo":"tid"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"05e6afcc-fb74-4457-a108-1dc6a10a5be7","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"cec8c14d-adf6-497f-95ee-c48ab1d6503d","name":"Return all your created email campaigns - default","request":{"urlPathTemplate":"/emailCampaigns","method":"GET"},"response":{"status":200,"body":"{\n \"campaigns\": [\n {\n \"abTesting\": true,\n \"id\": 12,\n \"name\": \"EN - Sales Summer 2017\",\n \"previewText\": \"Don't miss the sale!\",\n \"scheduledAt\": \"2017-06-01T12:30:00Z\",\n \"sendAtBestTime\": true,\n \"splitRule\": 25,\n \"status\": \"sent\",\n \"subject\": \"20% OFF for 2017 Summer Sales\",\n \"subjectA\": \"Discover the New Collection!\",\n \"subjectB\": \"Want to discover the New Collection?\",\n \"type\": \"classic\",\n \"winnerCriteria\": \"open\",\n \"winnerDelay\": 50,\n \"createdAt\": \"2017-05-01T12:30:00Z\",\n \"footer\": \"[DEFAULT_FOOTER]\",\n \"header\": \"[DEFAULT_HEADER]\",\n \"htmlContent\": \"This is my HTML Content\",\n \"inlineImageActivation\": true,\n \"mirrorActive\": true,\n \"modifiedAt\": \"2017-05-01T12:30:00Z\",\n \"recurring\": false,\n \"replyTo\": \"replyto@domain.com\",\n \"returnBounce\": 5,\n \"sender\": {\n \"email\": \"marketing@mycompany.com\",\n \"id\": 26,\n \"name\": \"Marketing\"\n },\n \"sentDate\": \"2018-12-01T16:30:00Z\",\n \"shareLink\": \"http://example.com/fhsgccc.html?t=9865448900\",\n \"tag\": \"Newsletter\",\n \"testSent\": true,\n \"toField\": \"{FNAME} {LNAME}\",\n \"utmCampaignValue\": \"myutm\",\n \"utmIDActive\": true,\n \"utmMedium\": \"EMAIL\",\n \"utmSource\": \"Brevo\",\n \"recipients\": {\n \"exclusionLists\": [\n 13\n ],\n \"lists\": [\n 5\n ]\n },\n \"statistics\": {\n \"campaignStats\": [\n {\n \"appleMppOpens\": 10,\n \"clickers\": 2665,\n \"complaints\": 1,\n \"deferred\": 30,\n \"delivered\": 19765,\n \"estimatedViews\": 560,\n \"hardBounces\": 87,\n \"listId\": 5,\n \"opensRate\": 29.54,\n \"returnBounce\": 5,\n \"sent\": 19887,\n \"softBounces\": 100,\n \"trackableViews\": 5661,\n \"trackableViewsRate\": 23.45,\n \"uniqueClicks\": 2300,\n \"uniqueViews\": 7779,\n \"unsubscriptions\": 2,\n \"viewed\": 8999\n }\n ],\n \"globalStats\": {\n \"appleMppOpens\": 10,\n \"clickers\": 2665,\n \"complaints\": 1,\n \"deferred\": 30,\n \"delivered\": 19765,\n \"estimatedViews\": 560,\n \"hardBounces\": 87,\n \"listId\": 2,\n \"opensRate\": 29.54,\n \"returnBounce\": 5,\n \"sent\": 19887,\n \"softBounces\": 100,\n \"trackableViews\": 5661,\n \"trackableViewsRate\": 23.45,\n \"uniqueClicks\": 2300,\n \"uniqueViews\": 7779,\n \"unsubscriptions\": 2,\n \"viewed\": 8999\n },\n \"linksStats\": {},\n \"mirrorClick\": 120,\n \"remaining\": 1000,\n \"statsByBrowser\": {\n \"key\": {\n \"clickers\": 2665,\n \"uniqueClicks\": 2300,\n \"uniqueViews\": 7779,\n \"viewed\": 8999\n }\n },\n \"statsByDevice\": {},\n \"statsByDomain\": {\n \"hotmail.co.uk\": {\n \"appleMppOpens\": 10,\n \"clickers\": 2720,\n \"complaints\": 5,\n \"deferred\": 30,\n \"delivered\": 117056,\n \"estimatedViews\": 560,\n \"hardBounces\": 0,\n \"listId\": 2,\n \"opensRate\": 29.54,\n \"returnBounce\": 5,\n \"sent\": 117055,\n \"softBounces\": 111,\n \"trackableViews\": 5661,\n \"trackableViewsRate\": 23.45,\n \"uniqueClicks\": 1970,\n \"uniqueViews\": 21111,\n \"unsubscriptions\": 105,\n \"viewed\": 35251\n },\n \"yahoo.com\": {\n \"appleMppOpens\": 10,\n \"clickers\": 533,\n \"complaints\": 0,\n \"deferred\": 30,\n \"delivered\": 25596,\n \"estimatedViews\": 560,\n \"hardBounces\": 0,\n \"listId\": 2,\n \"opensRate\": 29.54,\n \"returnBounce\": 5,\n \"sent\": 25601,\n \"softBounces\": 5,\n \"trackableViews\": 5661,\n \"trackableViewsRate\": 23.45,\n \"uniqueClicks\": 298,\n \"uniqueViews\": 3527,\n \"unsubscriptions\": 17,\n \"viewed\": 5255\n }\n }\n }\n },\n {\n \"abTesting\": true,\n \"id\": 22,\n \"name\": \"Weekly - 1\",\n \"previewText\": \"your weekly newsletter!\",\n \"scheduledAt\": \"\",\n \"sendAtBestTime\": true,\n \"splitRule\": 25,\n \"status\": \"draft\",\n \"subject\": \"Week 1 - Newsletter\",\n \"subjectA\": \"Discover the New Collection!\",\n \"subjectB\": \"Want to discover the New Collection?\",\n \"type\": \"classic\",\n \"winnerCriteria\": \"open\",\n \"winnerDelay\": 50,\n \"createdAt\": \"2017-05-01T12:30:00Z\",\n \"footer\": \"[DEFAULT_FOOTER]\",\n \"header\": \"[DEFAULT_HEADER]\",\n \"htmlContent\": \"This is my HTML Content\",\n \"inlineImageActivation\": true,\n \"mirrorActive\": true,\n \"modifiedAt\": \"2017-05-01T12:30:00Z\",\n \"recurring\": false,\n \"replyTo\": \"replyto@domain.com\",\n \"returnBounce\": 5,\n \"sender\": {\n \"email\": \"newsletter@mycompany.com\",\n \"id\": 26,\n \"name\": \"Newsletter\"\n },\n \"sentDate\": \"2018-12-01T16:30:00Z\",\n \"shareLink\": \"http://example.com/fhsgccc.html?t=9865448900\",\n \"tag\": \"Newsletter\",\n \"testSent\": false,\n \"toField\": \"{FNAME} {LNAME}\",\n \"utmCampaignValue\": \"myutm\",\n \"utmIDActive\": true,\n \"utmMedium\": \"EMAIL\",\n \"utmSource\": \"Brevo\",\n \"recipients\": {\n \"exclusionLists\": [\n 45\n ],\n \"lists\": [\n 10\n ]\n },\n \"statistics\": {\n \"campaignStats\": [\n {\n \"appleMppOpens\": 10,\n \"clickers\": 2665,\n \"complaints\": 1,\n \"deferred\": 30,\n \"delivered\": 19765,\n \"estimatedViews\": 560,\n \"hardBounces\": 87,\n \"listId\": 10,\n \"opensRate\": 29.54,\n \"returnBounce\": 5,\n \"sent\": 19887,\n \"softBounces\": 100,\n \"trackableViews\": 5661,\n \"trackableViewsRate\": 23.45,\n \"uniqueClicks\": 2300,\n \"uniqueViews\": 7779,\n \"unsubscriptions\": 2,\n \"viewed\": 8999\n }\n ],\n \"globalStats\": {\n \"appleMppOpens\": 10,\n \"clickers\": 2665,\n \"complaints\": 1,\n \"deferred\": 30,\n \"delivered\": 19765,\n \"estimatedViews\": 560,\n \"hardBounces\": 87,\n \"listId\": 2,\n \"opensRate\": 29.42,\n \"returnBounce\": 5,\n \"sent\": 19887,\n \"softBounces\": 100,\n \"trackableViews\": 5661,\n \"trackableViewsRate\": 23.45,\n \"uniqueClicks\": 2300,\n \"uniqueViews\": 7779,\n \"unsubscriptions\": 2,\n \"viewed\": 8999\n },\n \"linksStats\": {},\n \"mirrorClick\": 120,\n \"remaining\": 1000,\n \"statsByBrowser\": {\n \"key\": {\n \"clickers\": 2665,\n \"uniqueClicks\": 2300,\n \"uniqueViews\": 7779,\n \"viewed\": 8999\n }\n },\n \"statsByDevice\": {},\n \"statsByDomain\": {\n \"aol\": {\n \"appleMppOpens\": 10,\n \"clickers\": 2665,\n \"complaints\": 1,\n \"deferred\": 30,\n \"delivered\": 19765,\n \"estimatedViews\": 560,\n \"hardBounces\": 87,\n \"listId\": 2,\n \"opensRate\": 29.54,\n \"returnBounce\": 5,\n \"sent\": 19887,\n \"softBounces\": 100,\n \"trackableViews\": 5661,\n \"trackableViewsRate\": 23.45,\n \"uniqueClicks\": 2300,\n \"uniqueViews\": 7779,\n \"unsubscriptions\": 2,\n \"viewed\": 8999\n },\n \"gmail\": {\n \"appleMppOpens\": 10,\n \"clickers\": 2665,\n \"complaints\": 1,\n \"deferred\": 30,\n \"delivered\": 19765,\n \"estimatedViews\": 560,\n \"hardBounces\": 87,\n \"listId\": 2,\n \"opensRate\": 29.54,\n \"returnBounce\": 5,\n \"sent\": 19887,\n \"softBounces\": 100,\n \"trackableViews\": 5661,\n \"trackableViewsRate\": 23.45,\n \"uniqueClicks\": 2300,\n \"uniqueViews\": 7779,\n \"unsubscriptions\": 2,\n \"viewed\": 8999\n }\n }\n }\n }\n ],\n \"count\": 2\n}","headers":{"Content-Type":"application/json"}},"uuid":"cec8c14d-adf6-497f-95ee-c48ab1d6503d","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"3d7c577e-d169-438f-b91c-d1f90d441dee","name":"Create an email campaign - default","request":{"urlPathTemplate":"/emailCampaigns","method":"POST"},"response":{"status":201,"body":"{\n \"id\": 5\n}","headers":{"Content-Type":"application/json"}},"uuid":"3d7c577e-d169-438f-b91c-d1f90d441dee","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"b6e00948-fca2-4a11-addd-d16045c94c90","name":"Upload an image to your account's image gallery - default","request":{"urlPathTemplate":"/emailCampaigns/images","method":"POST"},"response":{"status":201,"body":"{\n \"url\": \"https://img.mailinblue.com/100000/images/rnb/original/62casdase8wewq9df1c2f27c.jpeg\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"b6e00948-fca2-4a11-addd-d16045c94c90","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"da8f0483-4951-4e2d-a495-15906071e018","name":"Get an email campaign report - default","request":{"urlPathTemplate":"/emailCampaigns/{campaignId}","method":"GET","pathParameters":{"campaignId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"{\n \"abTesting\": true,\n \"id\": 22,\n \"name\": \"Weekly - 1\",\n \"previewText\": \"your weekly newsletter\",\n \"scheduledAt\": \"2017-09-22T12:30:00Z\",\n \"sendAtBestTime\": true,\n \"splitRule\": 25,\n \"status\": \"draft\",\n \"subject\": \"Week 1 - Newsletter\",\n \"subjectA\": \"Discover the New Collection!\",\n \"subjectB\": \"Want to discover the New Collection?\",\n \"type\": \"classic\",\n \"winnerCriteria\": \"open\",\n \"winnerDelay\": 50,\n \"createdAt\": \"2017-05-01T12:30:00Z\",\n \"footer\": \"[DEFAULT_FOOTER]\",\n \"header\": \"[DEFAULT_HEADER]\",\n \"htmlContent\": \"This is my HTML Content\",\n \"inlineImageActivation\": true,\n \"mirrorActive\": true,\n \"modifiedAt\": \"2017-05-01T12:30:00Z\",\n \"recurring\": false,\n \"replyTo\": \"replyto@domain.com\",\n \"returnBounce\": 5,\n \"sender\": {\n \"email\": \"newsletter@mycompany.com\",\n \"id\": 26,\n \"name\": \"Newsletter\"\n },\n \"sentDate\": \"2018-12-01T16:30:00Z\",\n \"shareLink\": \"http://dhh.brevo.com/fhsgccc.html?t=9865448900\",\n \"tag\": \"Newsletter\",\n \"testSent\": false,\n \"toField\": \"{FNAME} {LNAME}\",\n \"utmCampaignValue\": \"myutm\",\n \"utmIDActive\": true,\n \"utmMedium\": \"EMAIL\",\n \"utmSource\": \"Brevo\",\n \"recipients\": {\n \"exclusionLists\": [\n 45\n ],\n \"lists\": [\n 22\n ]\n },\n \"statistics\": {\n \"campaignStats\": [\n {\n \"appleMppOpens\": 10,\n \"clickers\": 2665,\n \"complaints\": 1,\n \"deferred\": 30,\n \"delivered\": 19765,\n \"estimatedViews\": 560,\n \"hardBounces\": 87,\n \"listId\": 22,\n \"opensRate\": 29.54,\n \"returnBounce\": 5,\n \"sent\": 19887,\n \"softBounces\": 100,\n \"trackableViews\": 5661,\n \"trackableViewsRate\": 23.45,\n \"uniqueClicks\": 2300,\n \"uniqueViews\": 7779,\n \"unsubscriptions\": 2,\n \"viewed\": 8999\n }\n ],\n \"globalStats\": {\n \"appleMppOpens\": 10,\n \"clickers\": 2665,\n \"complaints\": 1,\n \"deferred\": 30,\n \"delivered\": 19765,\n \"estimatedViews\": 560,\n \"hardBounces\": 87,\n \"listId\": 2,\n \"opensRate\": 24.59,\n \"returnBounce\": 5,\n \"sent\": 19887,\n \"softBounces\": 100,\n \"trackableViews\": 5661,\n \"trackableViewsRate\": 23.45,\n \"uniqueClicks\": 2300,\n \"uniqueViews\": 7779,\n \"unsubscriptions\": 2,\n \"viewed\": 8999\n },\n \"linksStats\": {},\n \"mirrorClick\": 120,\n \"remaining\": 1000,\n \"statsByBrowser\": {\n \"internetExplorer\": {\n \"clickers\": 0,\n \"uniqueClicks\": 0,\n \"uniqueViews\": 0,\n \"viewed\": 1\n },\n \"safari\": {\n \"clickers\": 1,\n \"uniqueClicks\": 0,\n \"uniqueViews\": 0,\n \"viewed\": 1\n },\n \"thunderbird\": {\n \"clickers\": 1,\n \"uniqueClicks\": 0,\n \"uniqueViews\": 0,\n \"viewed\": 1\n }\n },\n \"statsByDevice\": {\n \"desktop\": {\n \"mac\": {\n \"clickers\": 1,\n \"uniqueClicks\": 0,\n \"uniqueViews\": 1,\n \"viewed\": 2\n }\n },\n \"mobile\": {\n \"androidMobile\": {\n \"clickers\": 1,\n \"uniqueClicks\": 0,\n \"uniqueViews\": 0,\n \"viewed\": 1\n },\n \"iPhone\": {\n \"clickers\": 1,\n \"uniqueClicks\": 0,\n \"uniqueViews\": 0,\n \"viewed\": 2\n }\n },\n \"tablet\": {\n \"key\": {\n \"clickers\": 2665,\n \"uniqueClicks\": 2300,\n \"uniqueViews\": 7779,\n \"viewed\": 8999\n }\n },\n \"unknown\": {\n \"key\": {\n \"clickers\": 2665,\n \"uniqueClicks\": 2300,\n \"uniqueViews\": 7779,\n \"viewed\": 8999\n }\n }\n },\n \"statsByDomain\": {\n \"gmail\": {\n \"appleMppOpens\": 10,\n \"clickers\": 2665,\n \"complaints\": 1,\n \"deferred\": 30,\n \"delivered\": 19765,\n \"estimatedViews\": 560,\n \"hardBounces\": 87,\n \"listId\": 2,\n \"opensRate\": 29.54,\n \"returnBounce\": 5,\n \"sent\": 19887,\n \"softBounces\": 100,\n \"trackableViews\": 5661,\n \"trackableViewsRate\": 23.45,\n \"uniqueClicks\": 2300,\n \"uniqueViews\": 7779,\n \"unsubscriptions\": 2,\n \"viewed\": 8999\n }\n }\n }\n}","headers":{"Content-Type":"application/json"}},"uuid":"da8f0483-4951-4e2d-a495-15906071e018","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"27d7a953-713c-4dcc-a03d-a5fcd5fbc134","name":"Update an email campaign - default","request":{"urlPathTemplate":"/emailCampaigns/{campaignId}","method":"PUT","pathParameters":{"campaignId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"27d7a953-713c-4dcc-a03d-a5fcd5fbc134","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"28dbcc0e-eed7-4b02-a7d8-2aab0a25c731","name":"Delete an email campaign - default","request":{"urlPathTemplate":"/emailCampaigns/{campaignId}","method":"DELETE","pathParameters":{"campaignId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"28dbcc0e-eed7-4b02-a7d8-2aab0a25c731","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"969348eb-29d3-48ab-82d1-c46a8412178e","name":"Get an A/B test email campaign results - default","request":{"urlPathTemplate":"/emailCampaigns/{campaignId}/abTestCampaignResult","method":"GET","pathParameters":{"campaignId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"{\n \"clickRate\": \"50%\",\n \"clickedLinks\": {\n \"Version A\": [\n {\n \"clickRate\": \"0%\",\n \"clicksCount\": 0,\n \"link\": \"https://google.com\"\n },\n {\n \"clickRate\": \"0%\",\n \"clicksCount\": 0,\n \"link\": \"https://youtube.com\"\n }\n ],\n \"Version B\": [\n {\n \"clickRate\": \"40%\",\n \"clicksCount\": 2,\n \"link\": \"http://www.github.com\"\n },\n {\n \"clickRate\": \"60%\",\n \"clicksCount\": 3,\n \"link\": \"http://www.stackoverflow.com\"\n }\n ]\n },\n \"openRate\": \"100%\",\n \"statistics\": {\n \"clicks\": {\n \"Version A\": \"0%\",\n \"Version B\": \"50%\"\n },\n \"complaints\": {\n \"Version A\": \"0%\",\n \"Version B\": \"0%\"\n },\n \"hardBounces\": {\n \"Version A\": \"0%\",\n \"Version B\": \"0%\"\n },\n \"openers\": {\n \"Version A\": \"20%\",\n \"Version B\": \"100%\"\n },\n \"softBounces\": {\n \"Version A\": \"0%\",\n \"Version B\": \"0%\"\n },\n \"unsubscribed\": {\n \"Version A\": \"20%\",\n \"Version B\": \"0%\"\n }\n },\n \"winningCriteria\": \"Click\",\n \"winningSubjectLine\": \"Subject Line A\",\n \"winningVersion\": \"B\",\n \"winningVersionRate\": \"0%\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"969348eb-29d3-48ab-82d1-c46a8412178e","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"93e3be61-a737-4896-a697-7417b837b571","name":"Export the recipients of an email campaign - default","request":{"urlPathTemplate":"/emailCampaigns/{campaignId}/exportRecipients","method":"POST","pathParameters":{"campaignId":{"equalTo":"1000000"}}},"response":{"status":202,"body":"{\n \"processId\": 78\n}","headers":{"Content-Type":"application/json"}},"uuid":"93e3be61-a737-4896-a697-7417b837b571","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"b0b17959-d743-449c-8bdd-ab28a42870cc","name":"Send an email campaign immediately, based on campaignId - default","request":{"urlPathTemplate":"/emailCampaigns/{campaignId}/sendNow","method":"POST","pathParameters":{"campaignId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"b0b17959-d743-449c-8bdd-ab28a42870cc","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"57eba48c-9a52-4e90-a12c-fa89a469f035","name":"Send the report of a campaign - default","request":{"urlPathTemplate":"/emailCampaigns/{campaignId}/sendReport","method":"POST","pathParameters":{"campaignId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"57eba48c-9a52-4e90-a12c-fa89a469f035","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"fc668b8b-10da-4f83-ae38-5004f0a64ae7","name":"Send an email campaign to your test list - default","request":{"urlPathTemplate":"/emailCampaigns/{campaignId}/sendTest","method":"POST","pathParameters":{"campaignId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"fc668b8b-10da-4f83-ae38-5004f0a64ae7","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"6bc6114e-fc20-4aa2-ba22-7e7fe7f95244","name":"Get a shared template url - default","request":{"urlPathTemplate":"/emailCampaigns/{campaignId}/sharedUrl","method":"GET","pathParameters":{"campaignId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"{\n \"sharedUrl\": \"https://my.brevo.com/pt2YU7R5W_guXlowgumy_VX4pFsKu._zd0Gjj96x1_GMmzc1Qps5ZIpj6nx-\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"6bc6114e-fc20-4aa2-ba22-7e7fe7f95244","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"8d661344-163b-4798-a243-ba10bd08cbe9","name":"Update an email campaign status - default","request":{"urlPathTemplate":"/emailCampaigns/{campaignId}/status","method":"PUT","pathParameters":{"campaignId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"8d661344-163b-4798-a243-ba10bd08cbe9","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"ffedd57d-0198-49a4-9112-ce7ae8751ebc","name":"Returns the information for all your created SMS campaigns - default","request":{"urlPathTemplate":"/smsCampaigns","method":"GET"},"response":{"status":200,"body":"{\n \"campaigns\": [\n {\n \"content\": \"Visit our Store and get some discount !\",\n \"createdAt\": \"2017-06-01T12:30:00Z\",\n \"id\": 2,\n \"modifiedAt\": \"2017-05-01T12:30:00Z\",\n \"name\": \"PROMO CODE\",\n \"scheduledAt\": \"2017-06-01T12:30:00Z\",\n \"sender\": \"MyCompany\",\n \"status\": \"sent\",\n \"recipients\": {\n \"exclusionLists\": [\n 13\n ],\n \"lists\": [\n 21\n ]\n },\n \"statistics\": {\n \"answered\": 2,\n \"delivered\": 2987,\n \"hardBounces\": 1,\n \"processing\": 0,\n \"sent\": 3000,\n \"softBounces\": 3,\n \"unsubscriptions\": 3\n }\n },\n {\n \"content\": \"Summer Sale is starting tomorrow. Get extra 10% with this code:SUM17\",\n \"createdAt\": \"2017-06-01T12:30:00Z\",\n \"id\": 10,\n \"modifiedAt\": \"2017-05-01T12:30:00Z\",\n \"name\": \"SUMMER SALE\",\n \"scheduledAt\": \"2017-08-04T12:30:00Z\",\n \"sender\": \"MyCompany\",\n \"status\": \"draft\",\n \"recipients\": {\n \"exclusionLists\": [\n 13\n ],\n \"lists\": [\n 21\n ]\n },\n \"statistics\": {\n \"answered\": 2,\n \"delivered\": 2987,\n \"hardBounces\": 1,\n \"processing\": 0,\n \"sent\": 3000,\n \"softBounces\": 3,\n \"unsubscriptions\": 3\n }\n }\n ],\n \"count\": 12\n}","headers":{"Content-Type":"application/json"}},"uuid":"ffedd57d-0198-49a4-9112-ce7ae8751ebc","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"ff5b73cc-83d1-4d1c-9038-f01bc11a604e","name":"Creates an SMS campaign - default","request":{"urlPathTemplate":"/smsCampaigns","method":"POST"},"response":{"status":201,"body":"{\n \"id\": 5\n}","headers":{"Content-Type":"application/json"}},"uuid":"ff5b73cc-83d1-4d1c-9038-f01bc11a604e","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"9ff5c02a-8b74-486b-aca9-7ac003b1838c","name":"Get an SMS campaign - default","request":{"urlPathTemplate":"/smsCampaigns/{campaignId}","method":"GET","pathParameters":{"campaignId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"{\n \"content\": \"Visit our Store and get some discount !\",\n \"createdAt\": \"2017-06-01T12:30:00Z\",\n \"id\": 2,\n \"modifiedAt\": \"2017-05-01T12:30:00Z\",\n \"name\": \"PROMO CODE\",\n \"scheduledAt\": \"2017-06-01T12:30:00Z\",\n \"sender\": \"MyCompany\",\n \"status\": \"sent\",\n \"recipients\": {\n \"exclusionLists\": [\n 13\n ],\n \"lists\": [\n 21\n ]\n },\n \"statistics\": {\n \"answered\": 2,\n \"delivered\": 2987,\n \"hardBounces\": 1,\n \"processing\": 0,\n \"sent\": 3000,\n \"softBounces\": 3,\n \"unsubscriptions\": 3\n }\n}","headers":{"Content-Type":"application/json"}},"uuid":"9ff5c02a-8b74-486b-aca9-7ac003b1838c","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"828e0b76-55ec-4b20-83fd-ff0d9c6a807f","name":"Update an SMS campaign - default","request":{"urlPathTemplate":"/smsCampaigns/{campaignId}","method":"PUT","pathParameters":{"campaignId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"828e0b76-55ec-4b20-83fd-ff0d9c6a807f","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"0938f276-c211-4150-91ac-9ea5e3ddf7fe","name":"Delete an SMS campaign - default","request":{"urlPathTemplate":"/smsCampaigns/{campaignId}","method":"DELETE","pathParameters":{"campaignId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"0938f276-c211-4150-91ac-9ea5e3ddf7fe","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"daaeea82-c583-43fb-b4c7-a6bbc940fc47","name":"Export an SMS campaign's recipients - default","request":{"urlPathTemplate":"/smsCampaigns/{campaignId}/exportRecipients","method":"POST","pathParameters":{"campaignId":{"equalTo":"1000000"}}},"response":{"status":202,"body":"{\n \"processId\": 78\n}","headers":{"Content-Type":"application/json"}},"uuid":"daaeea82-c583-43fb-b4c7-a6bbc940fc47","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"b7dd5175-f7a0-4b5e-9224-203d4fae1c4d","name":"Send your SMS campaign immediately - default","request":{"urlPathTemplate":"/smsCampaigns/{campaignId}/sendNow","method":"POST","pathParameters":{"campaignId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"b7dd5175-f7a0-4b5e-9224-203d4fae1c4d","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"64e8bd39-5b33-477a-ae7f-0501cb5a6140","name":"Send an SMS campaign's report - default","request":{"urlPathTemplate":"/smsCampaigns/{campaignId}/sendReport","method":"POST","pathParameters":{"campaignId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"64e8bd39-5b33-477a-ae7f-0501cb5a6140","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"734d1bda-9010-4188-9a00-57d5b302eee4","name":"Send a test SMS campaign - default","request":{"urlPathTemplate":"/smsCampaigns/{campaignId}/sendTest","method":"POST","pathParameters":{"campaignId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"734d1bda-9010-4188-9a00-57d5b302eee4","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"694adffd-8af9-45be-8225-5e44e17d7454","name":"Update a campaign's status - default","request":{"urlPathTemplate":"/smsCampaigns/{campaignId}/status","method":"PUT","pathParameters":{"campaignId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"694adffd-8af9-45be-8225-5e44e17d7454","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"03183785-7a99-4733-896c-eb489047065c","name":"Return all your created WhatsApp campaigns - default","request":{"urlPathTemplate":"/whatsappCampaigns","method":"GET"},"response":{"status":200,"body":"{\n \"campaigns\": [\n {\n \"campaignName\": \"campaign_22\",\n \"campaignStatus\": \"sent\",\n \"createdAt\": \"2017-05-01T12:30:00Z\",\n \"errorReason\": \"NONE\",\n \"id\": 1672035851100690,\n \"invalidatedContacts\": 0,\n \"modifiedAt\": \"2017-05-01T12:30:00Z\",\n \"readPercentage\": 28.57,\n \"scheduledAt\": \"2022-12-27T09:50:00Z\",\n \"stats\": {\n \"delivered\": 3,\n \"notSent\": 4,\n \"read\": 2,\n \"sent\": 3,\n \"unsubscribe\": 0\n },\n \"templateId\": \"templateId\"\n }\n ],\n \"count\": 23\n}","headers":{"Content-Type":"application/json"}},"uuid":"03183785-7a99-4733-896c-eb489047065c","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"5fc3f144-a51f-454f-a5d0-019b38ba3c15","name":"Create and Send a WhatsApp campaign - default","request":{"urlPathTemplate":"/whatsappCampaigns","method":"POST"},"response":{"status":201,"body":"{\n \"id\": 5\n}","headers":{"Content-Type":"application/json"}},"uuid":"5fc3f144-a51f-454f-a5d0-019b38ba3c15","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"cc80c9bc-ff82-4140-9b7a-dfb84c8e99a7","name":"Get your WhatsApp API account information - default","request":{"urlPathTemplate":"/whatsappCampaigns/config","method":"GET"},"response":{"status":200,"body":"{\n \"businessStatus\": \"verified\",\n \"phoneNumberNameStatus\": \"APPROVED\",\n \"phoneNumberQuality\": \"GREEN\",\n \"sendingLimit\": \"TIER_1K\",\n \"whatsappBusinessAccountId\": \"whatsappBusinessAccountId\",\n \"whatsappBusinessAccountStatus\": \"APPROVED\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"cc80c9bc-ff82-4140-9b7a-dfb84c8e99a7","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"5217f5cb-e270-45d2-bf41-0aa3651c5839","name":"Create a WhatsApp template - default","request":{"urlPathTemplate":"/whatsappCampaigns/template","method":"POST"},"response":{"status":201,"body":"{\n \"id\": 5\n}","headers":{"Content-Type":"application/json"}},"uuid":"5217f5cb-e270-45d2-bf41-0aa3651c5839","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"e541402c-10e0-447d-ab89-e9102a312296","name":"Return all your created WhatsApp templates - default","request":{"urlPathTemplate":"/whatsappCampaigns/template-list","method":"GET"},"response":{"status":200,"body":"{\n \"count\": 2,\n \"templates\": [\n {\n \"category\": \"MARKETING\",\n \"createdAt\": \"2017-05-01T12:30:00Z\",\n \"errorReason\": \"NONE\",\n \"id\": 235,\n \"language\": \"en\",\n \"modifiedAt\": \"2017-05-01T12:30:00Z\",\n \"name\": \"campaign_22\",\n \"status\": \"approved\"\n },\n {\n \"category\": \"MARKETING\",\n \"createdAt\": \"2017-0\",\n \"errorReason\": \"NONE\",\n \"id\": 124,\n \"language\": \"\",\n \"modifiedAt\": \"2017-05-01T12:30:00Z\",\n \"name\": \"test-template\",\n \"status\": \"draft\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"e541402c-10e0-447d-ab89-e9102a312296","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"c47467e5-3355-486f-b83b-ecf963b249b4","name":"Send your WhatsApp template for approval - default","request":{"urlPathTemplate":"/whatsappCampaigns/template/approval/{templateId}","method":"POST","pathParameters":{"templateId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"c47467e5-3355-486f-b83b-ecf963b249b4","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"6d437255-9beb-48aa-9616-0b438eb437f6","name":"Get a WhatsApp campaign - default","request":{"urlPathTemplate":"/whatsappCampaigns/{campaignId}","method":"GET","pathParameters":{"campaignId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"{\n \"campaignName\": \"Test WhatsApp Campaign\",\n \"campaignStatus\": \"sent\",\n \"createdAt\": \"2022-12-26T06:50:00Z\",\n \"id\": 1672035851100690,\n \"modifiedAt\": \"2022-12-26T08:50:00Z\",\n \"scheduledAt\": \"2022-12-27T09:50:00Z\",\n \"senderNumber\": \"senderNumber\",\n \"stats\": {\n \"delivered\": 3,\n \"notSent\": 4,\n \"read\": 2,\n \"sent\": 3,\n \"unsubscribe\": 0\n },\n \"template\": {\n \"body_variables\": [\n {\n \"datatype\": \"text\",\n \"default\": \"INVALID_HEADER\",\n \"name\": \"FIRSTNAME\"\n }\n ],\n \"button_type\": \"CALL_TO_ACTION\",\n \"category\": \"MARKETING\",\n \"components\": [\n {\n \"text\": \"making it look like readable English.\",\n \"type\": \"BODY\"\n },\n {\n \"text\": \"Life is a long lesson in humility\",\n \"type\": \"BUTTONS\"\n }\n ],\n \"contains_button\": true,\n \"display_header\": false,\n \"header_type\": \"text\",\n \"header_variables\": [\n {\n \"datatype\": \"text\",\n \"default\": \"INVALID HEADER\",\n \"name\": \"FIRSTNAME\"\n }\n ],\n \"hide_footer\": true,\n \"language\": \"en\",\n \"name\": \"official_campaign8\"\n }\n}","headers":{"Content-Type":"application/json"}},"uuid":"6d437255-9beb-48aa-9616-0b438eb437f6","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"eb75a9a4-36c5-4126-9a14-85044f19f2c1","name":"Update a WhatsApp campaign - default","request":{"urlPathTemplate":"/whatsappCampaigns/{campaignId}","method":"PUT","pathParameters":{"campaignId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"eb75a9a4-36c5-4126-9a14-85044f19f2c1","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"b4ef121d-89fa-4fb6-984d-39467bf9fd6b","name":"Delete a WhatsApp campaign - default","request":{"urlPathTemplate":"/whatsappCampaigns/{campaignId}","method":"DELETE","pathParameters":{"campaignId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"b4ef121d-89fa-4fb6-984d-39467bf9fd6b","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"eb31fc6b-22fd-431f-ba7e-59e0d7773487","name":"Get all Companies - default","request":{"urlPathTemplate":"/companies","method":"GET"},"response":{"status":200,"body":"{\n \"items\": [\n {\n \"attributes\": {\n \"created_at\": \"2022-01-13T19:04:24.376+05:30\",\n \"domain\": \"xyz\",\n \"last_updated_at\": \"2022-04-01T18:47:48.283+05:30\",\n \"name\": \"text\",\n \"number_of_contacts\": 0,\n \"owner\": \"62260474111b1101704a9d85\",\n \"owner_assign_date\": \"2022-04-01T18:21:13.379+05:30\",\n \"phone_number\": 8171844192,\n \"revenue\": 10\n },\n \"id\": \"629475917295261d9b1f4403\",\n \"linkedContactsIds\": [\n 1,\n 2,\n 3\n ],\n \"linkedDealsIds\": [\n \"61a5ce58c5d4795761045990\",\n \"61a5ce58c5d4795761045991\",\n \"61a5ce58c5d4795761045992\"\n ]\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"eb31fc6b-22fd-431f-ba7e-59e0d7773487","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"e17f5536-5a6b-4a26-8102-3170dd47ae3d","name":"Create a company - default","request":{"urlPathTemplate":"/companies","method":"POST"},"response":{"status":200,"body":"{\n \"id\": \"61a5cd07ca1347c82306ad06\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"e17f5536-5a6b-4a26-8102-3170dd47ae3d","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"f390d3a7-6a70-4b45-ad33-f4f3d3000538","name":"Import companies(creation and updation) - default","request":{"urlPathTemplate":"/companies/import","method":"POST"},"response":{"status":200,"body":"{\n \"processId\": 50\n}","headers":{"Content-Type":"application/json"}},"uuid":"f390d3a7-6a70-4b45-ad33-f4f3d3000538","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"708feaed-27c0-429f-8086-5e7c5e4ecd8d","name":"Link and Unlink company with contact and deal - default","request":{"urlPathTemplate":"/companies/link-unlink/{id}","method":"PATCH","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"708feaed-27c0-429f-8086-5e7c5e4ecd8d","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"00aba53e-3870-4157-ace9-c2d252198e11","name":"Get a company - default","request":{"urlPathTemplate":"/companies/{id}","method":"GET","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"{\n \"attributes\": {\n \"created_at\": \"2022-01-13T19:04:24.376+05:30\",\n \"domain\": \"xyz\",\n \"last_updated_at\": \"2022-04-01T18:47:48.283+05:30\",\n \"name\": \"text\",\n \"number_of_contacts\": 0,\n \"owner\": \"62260474111b1101704a9d85\",\n \"owner_assign_date\": \"2022-04-01T18:21:13.379+05:30\",\n \"phone_number\": 8171844192,\n \"revenue\": 10\n },\n \"id\": \"629475917295261d9b1f4403\",\n \"linkedContactsIds\": [\n 1,\n 2,\n 3\n ],\n \"linkedDealsIds\": [\n \"61a5ce58c5d4795761045990\",\n \"61a5ce58c5d4795761045991\",\n \"61a5ce58c5d4795761045992\"\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"00aba53e-3870-4157-ace9-c2d252198e11","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"ed72bcbe-33c2-48e2-93e4-756a46e8fd90","name":"Delete a company - default","request":{"urlPathTemplate":"/companies/{id}","method":"DELETE","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"ed72bcbe-33c2-48e2-93e4-756a46e8fd90","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"3d37f940-80db-41f6-9f83-1f3a2c69804b","name":"Update a company - default","request":{"urlPathTemplate":"/companies/{id}","method":"PATCH","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"{\n \"attributes\": {\n \"created_at\": \"2022-01-13T19:04:24.376+05:30\",\n \"domain\": \"xyz\",\n \"last_updated_at\": \"2022-04-01T18:47:48.283+05:30\",\n \"name\": \"text\",\n \"number_of_contacts\": 0,\n \"owner\": \"62260474111b1101704a9d85\",\n \"owner_assign_date\": \"2022-04-01T18:21:13.379+05:30\",\n \"phone_number\": 8171844192,\n \"revenue\": 10\n },\n \"id\": \"629475917295261d9b1f4403\",\n \"linkedContactsIds\": [\n 1,\n 2,\n 3\n ],\n \"linkedDealsIds\": [\n \"61a5ce58c5d4795761045990\",\n \"61a5ce58c5d4795761045991\",\n \"61a5ce58c5d4795761045992\"\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"3d37f940-80db-41f6-9f83-1f3a2c69804b","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"1a24ce32-7c2c-41a5-80a9-1681d05767ad","name":"Create a company/deal attribute - default","request":{"urlPathTemplate":"/crm/attributes","method":"POST"},"response":{"status":200,"body":"{\n \"id\": \"61a5cd07ca1347c82306ad07\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"1a24ce32-7c2c-41a5-80a9-1681d05767ad","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"696b098d-c426-490d-993d-82b72a9a6eec","name":"Get company attributes - default","request":{"urlPathTemplate":"/crm/attributes/companies","method":"GET"},"response":{"status":200,"body":"[\n {\n \"attributeOptions\": [\n {\n \"key\": \"custom key\",\n \"value\": \"custom label\"\n }\n ],\n \"attributeTypeName\": \"text\",\n \"internalName\": \"name\",\n \"isRequired\": true,\n \"label\": \"Company Name\"\n }\n]","headers":{"Content-Type":"application/json"}},"uuid":"696b098d-c426-490d-993d-82b72a9a6eec","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"3db982e0-00b7-41af-bc9d-fe3f54d90a12","name":"Get deal attributes - default","request":{"urlPathTemplate":"/crm/attributes/deals","method":"GET"},"response":{"status":200,"body":"[\n {\n \"attributeOptions\": [\n {\n \"key\": \"custom key\",\n \"value\": \"custom label\"\n }\n ],\n \"attributeTypeName\": \"text\",\n \"internalName\": \"deal_name\",\n \"isRequired\": true,\n \"label\": \"Deal Name\"\n }\n]","headers":{"Content-Type":"application/json"}},"uuid":"3db982e0-00b7-41af-bc9d-fe3f54d90a12","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"4ee2c155-e8d9-4aee-b095-699a2c9a6263","name":"Get all deals - default","request":{"urlPathTemplate":"/crm/deals","method":"GET"},"response":{"status":200,"body":"{\n \"items\": [\n {\n \"attributes\": {\n \"amount\": 12,\n \"created_at\": \"2022-05-30T07:42:05.671Z\",\n \"deal_name\": \"testname\",\n \"deal_owner\": \"6093d2425a9b436e9519d034\",\n \"deal_stage\": \"9e577ff7-8e42-4ab3-be26-2b5e01b42518\",\n \"last_activity_date\": \"2022-06-06T08:38:36.000Z\",\n \"last_updated_date\": \"2022-06-06T08:38:36.761Z\",\n \"number_of_activities\": 0,\n \"number_of_contacts\": 1,\n \"pipeline\": \"6093d296ad1e9c5cf2140a58\",\n \"stage_updated_at\": \"2022-05-30T07:42:05.671Z\"\n },\n \"id\": \"629475917295261d9b1f4403\",\n \"linkedCompaniesIds\": [\n \"61a5ce58c5d4795761045990\",\n \"61a5ce58c5d4795761045991\",\n \"61a5ce58c5d4795761045992\"\n ],\n \"linkedContactsIds\": [\n 1,\n 2,\n 3\n ]\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"4ee2c155-e8d9-4aee-b095-699a2c9a6263","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"21216821-874f-4e2a-a690-4b805b03c721","name":"Create a deal - default","request":{"urlPathTemplate":"/crm/deals","method":"POST"},"response":{"status":201,"body":"{\n \"id\": \"61a5cd07ca1347c82306ad06\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"21216821-874f-4e2a-a690-4b805b03c721","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"ce9e7723-550c-4f51-af88-6cde553f45b7","name":"Import deals(creation and updation) - default","request":{"urlPathTemplate":"/crm/deals/import","method":"POST"},"response":{"status":200,"body":"{\n \"processId\": 50\n}","headers":{"Content-Type":"application/json"}},"uuid":"ce9e7723-550c-4f51-af88-6cde553f45b7","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"f89fa5e6-0434-46e0-8c77-535bea98fc1a","name":"Link and Unlink a deal with contacts and companies - default","request":{"urlPathTemplate":"/crm/deals/link-unlink/{id}","method":"PATCH","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"f89fa5e6-0434-46e0-8c77-535bea98fc1a","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"a3513f5b-5df8-443d-aa67-5efd91e58f3d","name":"Get a deal - default","request":{"urlPathTemplate":"/crm/deals/{id}","method":"GET","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"{\n \"attributes\": {\n \"amount\": 12,\n \"created_at\": \"2022-05-30T07:42:05.671Z\",\n \"deal_name\": \"testname\",\n \"deal_owner\": \"6093d2425a9b436e9519d034\",\n \"deal_stage\": \"9e577ff7-8e42-4ab3-be26-2b5e01b42518\",\n \"last_activity_date\": \"2022-06-06T08:38:36.000Z\",\n \"last_updated_date\": \"2022-06-06T08:38:36.761Z\",\n \"next_activity_date\": {\n \"key\": \"value\"\n },\n \"number_of_activities\": 0,\n \"number_of_contacts\": 1,\n \"pipeline\": \"6093d296ad1e9c5cf2140a58\",\n \"stage_updated_at\": \"2022-05-30T07:42:05.671Z\"\n },\n \"id\": \"629475917295261d9b1f4403\",\n \"linkedCompaniesIds\": [\n \"61a5ce58c5d4795761045990\",\n \"61a5ce58c5d4795761045991\",\n \"61a5ce58c5d4795761045992\"\n ],\n \"linkedContactsIds\": [\n 1,\n 2,\n 3\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"a3513f5b-5df8-443d-aa67-5efd91e58f3d","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"54ba1660-4170-41b9-86d2-963468e28812","name":"Delete a deal - default","request":{"urlPathTemplate":"/crm/deals/{id}","method":"DELETE","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"54ba1660-4170-41b9-86d2-963468e28812","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"e555066b-bfb4-4582-9f37-6eec50af9fe4","name":"Update a deal - default","request":{"urlPathTemplate":"/crm/deals/{id}","method":"PATCH","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"e555066b-bfb4-4582-9f37-6eec50af9fe4","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"00d065e6-8a4f-4ac9-a849-298a81551e9c","name":"Get pipeline stages - default","request":{"urlPathTemplate":"/crm/pipeline/details","method":"GET"},"response":{"status":200,"body":"{\n \"pipeline\": \"5ea675e3da0dd085acaea610\",\n \"pipeline_name\": \"Sales Pipeline\",\n \"stages\": [\n {\n \"id\": \"9e577ff7-8e42-4ab3-be26-2b5e01b42518\",\n \"name\": \"New\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"00d065e6-8a4f-4ac9-a849-298a81551e9c","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"e75093b9-5f73-46e0-a2af-1f7c47922829","name":"Get all pipelines - default","request":{"urlPathTemplate":"/crm/pipeline/details/all","method":"GET"},"response":{"status":200,"body":"[\n {\n \"pipeline\": \"5ea675e3da0dd085acaea610\",\n \"pipeline_name\": \"Sales Pipeline\",\n \"stages\": [\n {\n \"id\": \"9e577ff7-8e42-4ab3-be26-2b5e01b42518\",\n \"name\": \"New\"\n }\n ]\n }\n]","headers":{"Content-Type":"application/json"}},"uuid":"e75093b9-5f73-46e0-a2af-1f7c47922829","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"2882799f-edf8-4d3b-826d-3692f300d025","name":"Get a pipeline - default","request":{"urlPathTemplate":"/crm/pipeline/details/{pipelineID}","method":"GET","pathParameters":{"pipelineID":{"equalTo":"pipelineID"}}},"response":{"status":200,"body":"[\n {\n \"pipeline\": \"5ea675e3da0dd085acaea610\",\n \"pipeline_name\": \"Sales Pipeline\",\n \"stages\": [\n {\n \"id\": \"9e577ff7-8e42-4ab3-be26-2b5e01b42518\",\n \"name\": \"New\"\n }\n ]\n }\n]","headers":{"Content-Type":"application/json"}},"uuid":"2882799f-edf8-4d3b-826d-3692f300d025","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"2e96e9dc-f52d-4354-a185-de3257903a02","name":"Get all files - default","request":{"urlPathTemplate":"/crm/files","method":"GET"},"response":{"status":200,"body":"[\n {\n \"authorId\": \"61a5ce58y5d4795761045991\",\n \"companyId\": \"61a5ce58c5d4795761045991\",\n \"contactId\": 1,\n \"createdAt\": \"2017-05-01T17:05:03Z\",\n \"dealId\": \"61a5ce58c5d4795761045991\",\n \"name\": \"example.png\",\n \"size\": 10\n }\n]","headers":{"Content-Type":"application/json"}},"uuid":"2e96e9dc-f52d-4354-a185-de3257903a02","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"54153a26-e96d-4b54-acab-08a1b6bb6027","name":"Upload a file - default","request":{"urlPathTemplate":"/crm/files","method":"POST"},"response":{"status":201,"body":"{\n \"authorId\": \"61a5ce58y5d4795761045991\",\n \"companyId\": \"61a5ce58c5d4795761045991\",\n \"contactId\": 1,\n \"createdAt\": \"2017-05-01T17:05:03Z\",\n \"dealId\": \"61a5ce58c5d4795761045991\",\n \"name\": \"example.png\",\n \"size\": 10\n}","headers":{"Content-Type":"application/json"}},"uuid":"54153a26-e96d-4b54-acab-08a1b6bb6027","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"fea850a9-ab2c-4fee-89b8-e564df22e53a","name":"Download a file - default","request":{"urlPathTemplate":"/crm/files/{id}","method":"GET","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"{\n \"fileUrl\": \"https://storage.googleapis.com/brevo-app-crm.......-sample.pdf\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"fea850a9-ab2c-4fee-89b8-e564df22e53a","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"38b72322-9ea0-47f2-b639-7d466c243b82","name":"Delete a file - default","request":{"urlPathTemplate":"/crm/files/{id}","method":"DELETE","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"38b72322-9ea0-47f2-b639-7d466c243b82","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"1ee1505b-b76c-47f3-addc-8d237075f2a3","name":"Get file details - default","request":{"urlPathTemplate":"/crm/files/{id}/data","method":"GET","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"{\n \"authorId\": \"61a5ce58y5d4795761045991\",\n \"companyId\": \"61a5ce58c5d4795761045991\",\n \"contactId\": 1,\n \"createdAt\": \"2017-05-01T17:05:03Z\",\n \"dealId\": \"61a5ce58c5d4795761045991\",\n \"name\": \"example.png\",\n \"size\": 10\n}","headers":{"Content-Type":"application/json"}},"uuid":"1ee1505b-b76c-47f3-addc-8d237075f2a3","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"608a87de-9e4a-45e5-bb3a-e0683eb220b8","name":"Get all notes - default","request":{"urlPathTemplate":"/crm/notes","method":"GET"},"response":{"status":200,"body":"[\n {\n \"authorId\": {\n \"email\": \"johndoe@example.com\",\n \"id\": \"61a5ce58y5d4795761045991\",\n \"locale\": \"en_GB\",\n \"name\": {\n \"fullName\": \"John Doe\"\n },\n \"timezone\": \"Asia/Kolkata\"\n },\n \"contactIds\": [\n 247,\n 1,\n 2\n ],\n \"createdAt\": \"2017-05-01T17:05:03Z\",\n \"dealIds\": [\n \"61a5ce58c5d4795761045990\",\n \"61a5ce58c5d4795761045991\"\n ],\n \"id\": \"61a5cd07ca1347c82306ad09\",\n \"text\": \"In communication with client_dev for resolution of queries.\",\n \"updatedAt\": \"2017-05-01T17:05:03Z\"\n }\n]","headers":{"Content-Type":"application/json"}},"uuid":"608a87de-9e4a-45e5-bb3a-e0683eb220b8","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"0ceb328a-0b27-4d1d-8ba3-3abc8979d485","name":"Create a note - default","request":{"urlPathTemplate":"/crm/notes","method":"POST"},"response":{"status":200,"body":"{\n \"id\": \"61a5cd07ca1347c82306ad09\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"0ceb328a-0b27-4d1d-8ba3-3abc8979d485","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"f9cf8ca7-3372-4b74-854e-93a3d45c5d56","name":"Get a note - default","request":{"urlPathTemplate":"/crm/notes/{id}","method":"GET","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"{\n \"authorId\": {\n \"email\": \"johndoe@example.com\",\n \"id\": \"61a5ce58y5d4795761045991\",\n \"locale\": \"en_GB\",\n \"name\": {\n \"fullName\": \"John Doe\"\n },\n \"timezone\": \"Asia/Kolkata\"\n },\n \"contactIds\": [\n 247,\n 1,\n 2\n ],\n \"createdAt\": \"2017-05-01T17:05:03Z\",\n \"dealIds\": [\n \"61a5ce58c5d4795761045990\",\n \"61a5ce58c5d4795761045991\"\n ],\n \"id\": \"61a5cd07ca1347c82306ad09\",\n \"text\": \"In communication with client_dev for resolution of queries.\",\n \"updatedAt\": \"2017-05-01T17:05:03Z\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"f9cf8ca7-3372-4b74-854e-93a3d45c5d56","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"b382d16e-0455-423c-9dd1-42efa255a495","name":"Delete a note - default","request":{"urlPathTemplate":"/crm/notes/{id}","method":"DELETE","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"b382d16e-0455-423c-9dd1-42efa255a495","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"458a7a9b-298d-44e2-a117-63db0c9047f0","name":"Update a note - default","request":{"urlPathTemplate":"/crm/notes/{id}","method":"PATCH","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"458a7a9b-298d-44e2-a117-63db0c9047f0","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"ce9a81b3-1605-4c76-bf79-fc52ff6a2653","name":"Get all tasks - default","request":{"urlPathTemplate":"/crm/tasks","method":"GET","queryParameters":{"sortBy":{"equalTo":"name"}}},"response":{"status":200,"body":"{\n \"items\": [\n {\n \"companiesIds\": [\n \"61a5ce58c5d4795761045990\",\n \"61a5ce58c5d4795761045991\",\n \"61a5ce58c5d4795761045992\"\n ],\n \"contactsIds\": [\n 1,\n 2,\n 3\n ],\n \"dealsIds\": [\n \"61a5ce58c5d4795761045990\",\n \"61a5ce58c5d4795761045991\",\n \"61a5ce58c5d4795761045992\"\n ],\n \"id\": \"61a5cd07ca1347c82306ad06\",\n \"name\": \"Task: Connect with client_dev\",\n \"taskTypeId\": \"61a5cd07ca1347c82306ad09\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"ce9a81b3-1605-4c76-bf79-fc52ff6a2653","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"60ee1139-00c5-4746-b240-523605d43bb4","name":"Create a task - default","request":{"urlPathTemplate":"/crm/tasks","method":"POST"},"response":{"status":201,"body":"{\n \"id\": \"61a5cd07ca1347c82306ad06\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"60ee1139-00c5-4746-b240-523605d43bb4","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"909b9f4c-1f5b-4271-82fe-a4e4847db6c7","name":"Get a task - default","request":{"urlPathTemplate":"/crm/tasks/{id}","method":"GET","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"{\n \"companiesIds\": [\n \"61a5ce58c5d4795761045990\",\n \"61a5ce58c5d4795761045991\",\n \"61a5ce58c5d4795761045992\"\n ],\n \"contactsIds\": [\n 1,\n 2,\n 3\n ],\n \"dealsIds\": [\n \"61a5ce58c5d4795761045990\",\n \"61a5ce58c5d4795761045991\",\n \"61a5ce58c5d4795761045992\"\n ],\n \"id\": \"61a5cd07ca1347c82306ad06\",\n \"name\": \"Task: Connect with client_dev\",\n \"taskTypeId\": \"61a5cd07ca1347c82306ad09\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"909b9f4c-1f5b-4271-82fe-a4e4847db6c7","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"040ca6a6-b7b7-4cfd-95b2-a493ccc1691e","name":"Delete a task - default","request":{"urlPathTemplate":"/crm/tasks/{id}","method":"DELETE","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"040ca6a6-b7b7-4cfd-95b2-a493ccc1691e","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"90199d04-c868-46bf-8e40-5e330c257e75","name":"Update a task - default","request":{"urlPathTemplate":"/crm/tasks/{id}","method":"PATCH","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"90199d04-c868-46bf-8e40-5e330c257e75","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"667b0721-7004-49d8-9017-b6d086394c2f","name":"Get all task types - default","request":{"urlPathTemplate":"/crm/tasktypes","method":"GET"},"response":{"status":200,"body":"{\n \"id\": \"61a88a2eb7a574180261234\",\n \"title\": \"Email\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"667b0721-7004-49d8-9017-b6d086394c2f","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"22a7a09a-6fad-41dd-aed4-b8806c57a34a","name":"Send a WhatsApp message - default","request":{"urlPathTemplate":"/whatsapp/sendMessage","method":"POST"},"response":{"status":201,"body":"{\n \"messageId\": \"23befbae-1505-47a8-bd27-e30ef739f32c\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"22a7a09a-6fad-41dd-aed4-b8806c57a34a","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"fab3ac15-a813-4c2f-9673-e64845544c00","name":"Get all your WhatsApp activity (unaggregated events) - default","request":{"urlPathTemplate":"/whatsapp/statistics/events","method":"GET"},"response":{"status":200,"body":"{\n \"events\": [\n {\n \"body\": \"Hi! I am a reply\",\n \"contactNumber\": \"contactNumber\",\n \"date\": \"2017-03-12T12:30:00Z\",\n \"event\": \"sent\",\n \"mediaUrl\": \"https://example.com/media.png\",\n \"messageId\": \"23befbae-1505-47a8-bd27-e30ef739f32c\",\n \"reason\": \"23befbae-1505-47a8-bd27-e30ef739f32c\",\n \"senderNumber\": \"senderNumber\"\n },\n {\n \"body\": \"Hi! I am a reply\",\n \"contactNumber\": \"contactNumber\",\n \"date\": \"2017-03-12T12:30:00Z\",\n \"event\": \"error\",\n \"mediaUrl\": \"https://example.com/media.png\",\n \"messageId\": \"23befbae-1505-47a8-bd27-e30ef739f32c\",\n \"reason\": \"error reason\",\n \"senderNumber\": \"senderNumber\"\n },\n {\n \"body\": \"Hi! I am a reply\",\n \"contactNumber\": \"contactNumber\",\n \"date\": \"2017-03-12T12:30:00Z\",\n \"event\": \"soft-bounce\",\n \"mediaUrl\": \"https://example.com/media.png\",\n \"messageId\": \"23befbae-1505-47a8-bd27-e30ef739f32c\",\n \"reason\": \"invalid whatsapp contact\",\n \"senderNumber\": \"senderNumber\"\n },\n {\n \"body\": \"body only in case of text reply & url will be empty\",\n \"contactNumber\": \"contactNumber\",\n \"date\": \"2017-03-12T12:30:00Z\",\n \"event\": \"reply\",\n \"mediaUrl\": \"media url only in case media reply & body will be empty\",\n \"messageId\": \"23befbae-1505-47a8-bd27-e30ef739f32c\",\n \"reason\": \"23befbae-1505-47a8-bd27-e30ef739f32c\",\n \"senderNumber\": \"senderNumber\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"fab3ac15-a813-4c2f-9673-e64845544c00","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"28f43c06-69ca-463d-ad60-4a71c61a0440","name":"Get the list of blocked or unsubscribed transactional contacts - default","request":{"urlPathTemplate":"/smtp/blockedContacts","method":"GET"},"response":{"status":200,"body":"{\n \"contacts\": [\n {\n \"blockedAt\": \"2017-05-01T12:30:00Z\",\n \"email\": \"abc@xyz.com\",\n \"reason\": {\n \"code\": \"adminBlocked\",\n \"message\": \"Admin blocked\"\n },\n \"senderEmail\": \"ez312@gmal.com\"\n }\n ],\n \"count\": 1\n}","headers":{"Content-Type":"application/json"}},"uuid":"28f43c06-69ca-463d-ad60-4a71c61a0440","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"e81c8495-0ef3-44b1-a9ce-45cc2bef7798","name":"Unblock or resubscribe a transactional contact - default","request":{"urlPathTemplate":"/smtp/blockedContacts/{email}","method":"DELETE","pathParameters":{"email":{"equalTo":"email"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"e81c8495-0ef3-44b1-a9ce-45cc2bef7798","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"0aab435d-618c-452b-8545-7c35e9088c78","name":"Get the list of blocked domains - default","request":{"urlPathTemplate":"/smtp/blockedDomains","method":"GET"},"response":{"status":200,"body":"{\n \"domains\": [\n \"example.com\",\n \"testdomain.com\"\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"0aab435d-618c-452b-8545-7c35e9088c78","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"350fd1cc-de1c-4197-ae49-46ce6a1d6c03","name":"Add a new domain to the list of blocked domains - default","request":{"urlPathTemplate":"/smtp/blockedDomains","method":"POST"},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"350fd1cc-de1c-4197-ae49-46ce6a1d6c03","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"f5e28407-a9c3-4231-b722-a6b8bbd8af4a","name":"Unblock an existing domain from the list of blocked domains - default","request":{"urlPathTemplate":"/smtp/blockedDomains/{domain}","method":"DELETE","pathParameters":{"domain":{"equalTo":"domain"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"f5e28407-a9c3-4231-b722-a6b8bbd8af4a","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"d0e027cd-c123-40e7-9aad-30cdce7cf01d","name":"Delete hardbounces - default","request":{"urlPathTemplate":"/smtp/deleteHardbounces","method":"POST"},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"d0e027cd-c123-40e7-9aad-30cdce7cf01d","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"4682dc2f-8d22-401b-bb70-9d7939f0b7f7","name":"Send a transactional email - default","request":{"urlPathTemplate":"/smtp/email","method":"POST"},"response":{"status":201,"body":"{\n \"messageId\": \"<201798300811.5787683@relay.domain.com>\",\n \"messageIds\": [\n \"messageIds\"\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"4682dc2f-8d22-401b-bb70-9d7939f0b7f7","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"5b6bfccd-a5f9-44e8-ab53-d5429f8f9e49","name":"Delete scheduled emails by batchId or messageId - default","request":{"urlPathTemplate":"/smtp/email/{identifier}","method":"DELETE","pathParameters":{"identifier":{"equalTo":"4320f270-a4e3-4a2e-b591-edfe30a5e627"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"5b6bfccd-a5f9-44e8-ab53-d5429f8f9e49","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"7b3f5d29-5b44-4d25-ba1b-9b35d7e1bb44","name":"Fetch scheduled emails by batchId or messageId - default","request":{"urlPathTemplate":"/smtp/emailStatus/{identifier}","method":"GET","pathParameters":{"identifier":{"equalTo":"4320f270-a4e3-4a2e-b591-edfe30a5e627"}},"queryParameters":{"startDate":{"equalTo":"2022-02-02"},"endDate":{"equalTo":"2022-03-02"}}},"response":{"status":200,"body":"{\n \"batches\": [\n {\n \"createdAt\": \"2022-02-26T11:36:43Z\",\n \"scheduledAt\": \"2022-02-28T11:36:43Z\",\n \"status\": \"queued\"\n },\n {\n \"createdAt\": \"2022-02-24T11:36:43Z\",\n \"scheduledAt\": \"2022-02-25T11:36:43Z\",\n \"status\": \"processed\"\n },\n {\n \"createdAt\": \"2022-02-25T11:36:43Z\",\n \"scheduledAt\": \"2022-02-26T11:36:43Z\",\n \"status\": \"inProgress\"\n }\n ],\n \"count\": 3\n}","headers":{"Content-Type":"application/json"}},"uuid":"7b3f5d29-5b44-4d25-ba1b-9b35d7e1bb44","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"59d3278a-2ea0-47c9-9d55-a4046d1b1377","name":"Get the list of transactional emails on the basis of allowed filters - default","request":{"urlPathTemplate":"/smtp/emails","method":"GET"},"response":{"status":200,"body":"{\n \"count\": 120,\n \"transactionalEmails\": [\n {\n \"date\": \"2019-05-25T11:53:26Z\",\n \"email\": \"abc@xyz.com\",\n \"from\": \"diana.doe@example.com\",\n \"messageId\": \"<201798300811.5787683@relay.domain.com>\",\n \"subject\": \"summer camp\",\n \"tags\": [\n \"tag1\"\n ],\n \"templateId\": 15,\n \"uuid\": \"5a78c-209ok98262910-std2341\"\n },\n {\n \"date\": \"2019-05-25T07:28:11Z\",\n \"email\": \"test@test.com\",\n \"from\": \"diana.doe@example.com\",\n \"messageId\": \"<201798300811.5700093@relay.domain.com>\",\n \"subject\": \"details verification\",\n \"tags\": [\n \"tag1\"\n ],\n \"templateId\": 15,\n \"uuid\": \"5a78c-209ok98262910-s99a341\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"59d3278a-2ea0-47c9-9d55-a4046d1b1377","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"242bc913-9644-453e-a76b-b6898985c451","name":"Get the personalized content of a sent transactional email - default","request":{"urlPathTemplate":"/smtp/emails/{uuid}","method":"GET","pathParameters":{"uuid":{"equalTo":"uuid"}}},"response":{"status":200,"body":"{\n \"attachmentCount\": 2,\n \"body\": \" Greetings from the team
This is the actual html content sent
\",\n \"date\": \"2016-02-25T11:53:26Z\",\n \"email\": \"abc@example.com\",\n \"events\": [\n {\n \"name\": \"sent\",\n \"time\": \"2016-02-25T11:53:26Z\"\n },\n {\n \"name\": \"delivered\",\n \"time\": \"2016-02-25T11:55:26Z\"\n },\n {\n \"name\": \"opened\",\n \"time\": \"2016-02-26T09:53:26Z\"\n }\n ],\n \"subject\": \"Summer Camps\",\n \"templateId\": 12\n}","headers":{"Content-Type":"application/json"}},"uuid":"242bc913-9644-453e-a76b-b6898985c451","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"1060a95a-b193-4fcb-a2c0-82a02a746067","name":"Delete an SMTP transactional log - default","request":{"urlPathTemplate":"/smtp/log/{identifier}","method":"DELETE","pathParameters":{"identifier":{"equalTo":"identifier"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"1060a95a-b193-4fcb-a2c0-82a02a746067","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"4506e73c-7b47-483f-9ffc-09cb13f3d99a","name":"Get your transactional email activity aggregated over a period of time - default","request":{"urlPathTemplate":"/smtp/statistics/aggregatedReport","method":"GET"},"response":{"status":200,"body":"{\n \"blocked\": 2,\n \"clicks\": 9987,\n \"delivered\": 18996,\n \"hardBounces\": 234,\n \"invalid\": 0,\n \"opens\": 17654,\n \"range\": \"2016-09-08|2017-04-28\",\n \"requests\": 19887,\n \"softBounces\": 1533,\n \"spamReports\": 1,\n \"uniqueClicks\": 8766,\n \"uniqueOpens\": 13688,\n \"unsubscribed\": 2\n}","headers":{"Content-Type":"application/json"}},"uuid":"4506e73c-7b47-483f-9ffc-09cb13f3d99a","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"a81e1c33-f793-49d1-adb6-8083ca10de20","name":"Get all your transactional email activity (unaggregated events) - default","request":{"urlPathTemplate":"/smtp/statistics/events","method":"GET"},"response":{"status":200,"body":"{\n \"events\": [\n {\n \"date\": \"2017-03-12T12:30:00Z\",\n \"email\": \"john.smith@example.com\",\n \"event\": \"deferred\",\n \"from\": \"john@example.com\",\n \"ip\": \"165.87.3.15\",\n \"link\": \"https://www.someexamplelink.com\",\n \"messageId\": \"<201798300811.5787683@example.domain.com>\",\n \"reason\": \"Error connection timeout\",\n \"subject\": \"Sib client_dev test\",\n \"tag\": \"OrderConfirmation\",\n \"templateId\": 4\n },\n {\n \"date\": \"2017-03-13T16:30:00Z\",\n \"email\": \"john.smith@example.com\",\n \"event\": \"delivered\",\n \"from\": \"john@example.com\",\n \"ip\": \"165.87.3.15\",\n \"link\": \"https://www.someexamplelink.com\",\n \"messageId\": \"<201798300811.5787683@example.domain.com>\",\n \"reason\": \"Error connection timeout\",\n \"subject\": \"Sib client_dev test\",\n \"tag\": \"OrderConfirmation\",\n \"templateId\": 5\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"a81e1c33-f793-49d1-adb6-8083ca10de20","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"0d36a3c1-9ba5-4da3-9f9a-5d81dcb8cbc6","name":"Get your transactional email activity aggregated per day - default","request":{"urlPathTemplate":"/smtp/statistics/reports","method":"GET"},"response":{"status":200,"body":"{\n \"reports\": [\n {\n \"blocked\": 519,\n \"clicks\": 1026,\n \"date\": \"2017-04-30\",\n \"delivered\": 10103,\n \"hardBounces\": 21,\n \"invalid\": 1,\n \"opens\": 5091,\n \"requests\": 10756,\n \"softBounces\": 137,\n \"spamReports\": 0,\n \"uniqueClicks\": 720,\n \"uniqueOpens\": 2318,\n \"unsubscribed\": 0\n },\n {\n \"blocked\": 920,\n \"clicks\": 1514,\n \"date\": \"2017-05-01\",\n \"delivered\": 17499,\n \"hardBounces\": 34,\n \"invalid\": 2,\n \"opens\": 10089,\n \"requests\": 18812,\n \"softBounces\": 254,\n \"spamReports\": 0,\n \"uniqueClicks\": 1090,\n \"uniqueOpens\": 4393,\n \"unsubscribed\": 3\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"0d36a3c1-9ba5-4da3-9f9a-5d81dcb8cbc6","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"81e1ac28-8b42-4ff7-a4f4-ad4a4fe0d149","name":"Generate the rendered preview of transactional template - default","request":{"urlPathTemplate":"/smtp/template/preview","method":"POST"},"response":{"status":200,"body":"{\n \"fromEmail\": \"fromEmail\",\n \"fromName\": \"fromName\",\n \"html\": \"html\",\n \"previewText\": \"previewText\",\n \"subject\": \"subject\",\n \"usedFeedNames\": [\n \"usedFeedNames\",\n \"usedFeedNames\"\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"81e1ac28-8b42-4ff7-a4f4-ad4a4fe0d149","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"0e4d0a9a-9763-4d0b-92ab-7b1483ddd81b","name":"Get the list of email templates - default","request":{"urlPathTemplate":"/smtp/templates","method":"GET"},"response":{"status":200,"body":"{\n \"count\": 2,\n \"templates\": [\n {\n \"createdAt\": \"2016-02-24T14:44:24Z\",\n \"doiTemplate\": false,\n \"htmlContent\": \"HTML CONTENT 1\",\n \"id\": 5,\n \"isActive\": false,\n \"modifiedAt\": \"2016-02-24T15:37:11Z\",\n \"name\": \"ChristomasTimeTemplate\",\n \"replyTo\": \"replyto@domain.com\",\n \"sender\": {\n \"email\": \"john.smith@example.com\",\n \"id\": \"43\",\n \"name\": \"John\"\n },\n \"subject\": \"Merry Christmas\",\n \"tag\": \"Festival\",\n \"testSent\": false,\n \"toField\": \"\"\n },\n {\n \"createdAt\": \"2016-02-25T11:53:26Z\",\n \"doiTemplate\": false,\n \"htmlContent\": \"HTML CONTENT 2\",\n \"id\": 12,\n \"isActive\": true,\n \"modifiedAt\": \"2016-02-25T11:53:26Z\",\n \"name\": \"SummerSales2017Template\",\n \"replyTo\": \"replyto@domain.com\",\n \"sender\": {\n \"email\": \"john.smith@example.com\",\n \"id\": \"43\",\n \"name\": \"John\"\n },\n \"subject\": \"Enjoy our summer Sales !\",\n \"tag\": \"Summer\",\n \"testSent\": false,\n \"toField\": \"\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"0e4d0a9a-9763-4d0b-92ab-7b1483ddd81b","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"a7314e1c-958e-4335-9dd3-e65802b21168","name":"Create an email template - default","request":{"urlPathTemplate":"/smtp/templates","method":"POST"},"response":{"status":201,"body":"{\n \"id\": 5\n}","headers":{"Content-Type":"application/json"}},"uuid":"a7314e1c-958e-4335-9dd3-e65802b21168","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"845ecf0d-a02f-461d-908b-25fe3eab4ec9","name":"Returns the template information - default","request":{"urlPathTemplate":"/smtp/templates/{templateId}","method":"GET","pathParameters":{"templateId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"{\n \"createdAt\": \"2016-02-25T11:53:26Z\",\n \"doiTemplate\": false,\n \"htmlContent\": \"HTML CONTENT 4\",\n \"id\": 33,\n \"isActive\": true,\n \"modifiedAt\": \"2016-02-25T11:53:26Z\",\n \"name\": \"OrderConfirmation\",\n \"replyTo\": \"replyto@domain.com\",\n \"sender\": {\n \"email\": \"john.smith@example.com\",\n \"id\": \"43\",\n \"name\": \"John\"\n },\n \"subject\": \"Order Confirmation : Thanks for your Purchase !\",\n \"tag\": \"\",\n \"testSent\": false,\n \"toField\": \"\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"845ecf0d-a02f-461d-908b-25fe3eab4ec9","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"65a53a30-7428-4b1a-b0a4-88869d5b8d78","name":"Update an email template - default","request":{"urlPathTemplate":"/smtp/templates/{templateId}","method":"PUT","pathParameters":{"templateId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"65a53a30-7428-4b1a-b0a4-88869d5b8d78","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"ee12d2af-6eea-4dd3-b43d-ca1463b36b14","name":"Delete an inactive email template - default","request":{"urlPathTemplate":"/smtp/templates/{templateId}","method":"DELETE","pathParameters":{"templateId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"ee12d2af-6eea-4dd3-b43d-ca1463b36b14","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"10979c60-afa4-4a94-a43e-5fc9613e22da","name":"Send a template to your test list - default","request":{"urlPathTemplate":"/smtp/templates/{templateId}/sendTest","method":"POST","pathParameters":{"templateId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"10979c60-afa4-4a94-a43e-5fc9613e22da","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"df5bc4e6-ca5e-4cd7-809c-269c0845b24d","name":"Send SMS message asynchronously to a mobile number - default","request":{"urlPathTemplate":"/transactionalSMS/send","method":"POST"},"response":{"status":201,"body":"{\n \"messageId\": 1511882900176220\n}","headers":{"Content-Type":"application/json"}},"uuid":"df5bc4e6-ca5e-4cd7-809c-269c0845b24d","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"70d5f369-4f59-482d-a10b-be3e50b4a40a","name":"Send SMS message to a mobile number - default","request":{"urlPathTemplate":"/transactionalSMS/sms","method":"POST"},"response":{"status":201,"body":"{\n \"messageId\": 1511882900176220,\n \"reference\": \"ab1cde2fgh3i4jklmno\",\n \"remainingCredits\": 82.85,\n \"smsCount\": 2,\n \"usedCredits\": 0.7\n}","headers":{"Content-Type":"application/json"}},"uuid":"70d5f369-4f59-482d-a10b-be3e50b4a40a","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"31feec95-40fc-4b7e-9c08-86c997f2dfb0","name":"Get your SMS activity aggregated over a period of time - default","request":{"urlPathTemplate":"/transactionalSMS/statistics/aggregatedReport","method":"GET"},"response":{"status":200,"body":"{\n \"accepted\": 6,\n \"blocked\": 4,\n \"delivered\": 16,\n \"hardBounces\": 5,\n \"range\": \"2015-05-22|2017-11-29\",\n \"rejected\": 14,\n \"replied\": 8,\n \"requests\": 54,\n \"skipped\": 1,\n \"softBounces\": 26,\n \"unsubscribed\": 10\n}","headers":{"Content-Type":"application/json"}},"uuid":"31feec95-40fc-4b7e-9c08-86c997f2dfb0","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"8bec6502-a4a6-4405-88f8-c7b97f2bc0e4","name":"Get all your SMS activity (unaggregated events) - default","request":{"urlPathTemplate":"/transactionalSMS/statistics/events","method":"GET"},"response":{"status":200,"body":"{\n \"events\": [\n {\n \"date\": \"2015-05-20T12:30:00Z\",\n \"event\": \"sent\",\n \"messageId\": \"1473139351170140\",\n \"phoneNumber\": \"phoneNumber\",\n \"reason\": \"Recipient is currently unreachable\",\n \"reply\": \"reply\",\n \"tag\": \"cabWaiting\"\n },\n {\n \"date\": \"2015-05-20T16:30:00Z\",\n \"event\": \"delivered\",\n \"messageId\": \"1473139351170140\",\n \"phoneNumber\": \"phoneNumber\",\n \"reason\": \"Recipient is currently unreachable\",\n \"reply\": \"reply\",\n \"tag\": \"cabRequest\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"8bec6502-a4a6-4405-88f8-c7b97f2bc0e4","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"34ebfec8-ca13-4071-9f58-e116c00c6446","name":"Get your SMS activity aggregated per day - default","request":{"urlPathTemplate":"/transactionalSMS/statistics/reports","method":"GET"},"response":{"status":200,"body":"{\n \"reports\": [\n {\n \"accepted\": 2318,\n \"blocked\": 1026,\n \"date\": \"2017-04-30\",\n \"delivered\": 10103,\n \"hardBounces\": 21,\n \"rejected\": 0,\n \"replied\": 5091,\n \"requests\": 10756,\n \"skipped\": 1,\n \"softBounces\": 137,\n \"unsubscribed\": 720\n },\n {\n \"accepted\": 4393,\n \"blocked\": 1514,\n \"date\": \"2017-05-01\",\n \"delivered\": 17499,\n \"hardBounces\": 34,\n \"rejected\": 0,\n \"replied\": 10089,\n \"requests\": 18812,\n \"skipped\": 0,\n \"softBounces\": 254,\n \"unsubscribed\": 1090\n },\n {\n \"accepted\": 4689,\n \"blocked\": 1646,\n \"date\": \"2017-05-02\",\n \"delivered\": 13427,\n \"hardBounces\": 16,\n \"rejected\": 0,\n \"replied\": 11563,\n \"requests\": 14321,\n \"skipped\": 1,\n \"softBounces\": 176,\n \"unsubscribed\": 1170\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"34ebfec8-ca13-4071-9f58-e116c00c6446","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"b2c77971-5a16-41bb-99c4-62a5707d47bb","name":"Return all your created SMS templates - default","request":{"urlPathTemplate":"/transactionalSMS/templates","method":"GET"},"response":{"status":200,"body":"{\n \"count\": 1,\n \"templates\": [\n {\n \"id\": 4,\n \"name\": \"Order Confirmation - EN\",\n \"short_url_enabled\": false,\n \"message\": \"Thanks for your order !\",\n \"compliance\": {\n \"compliance_toggle\": true,\n \"organisation_prefix\": \"BREVO\",\n \"stop_keyword\": \"STOP\"\n },\n \"encryption\": true,\n \"unicode_sms\": true,\n \"media_file\": \"brv-logo.png\",\n \"media_file_size\": \"media_file_size\",\n \"media_url\": \"https://img-st2.mailinblue.com/1232/images/content_library/original/69282fe28f55fd22de6e0cf9.png\",\n \"createdAt\": \"2025-05-01T12:30:00Z\",\n \"updatedAt\": \"2025-05-01T12:30:00Z\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"b2c77971-5a16-41bb-99c4-62a5707d47bb","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]}],"meta":{"total":279}}
\ No newline at end of file
+{"mappings":[{"id":"1211c905-93ae-4aa1-a220-5b0994166727","name":"Get account details - default","request":{"urlPathTemplate":"/account","method":"GET"},"response":{"status":200,"body":"{\n \"organization_id\": \"5fa2b8c123456789abcdef01\",\n \"user_id\": 1234567,\n \"enterprise\": false,\n \"companyName\": \"Acme Marketing Corp\",\n \"email\": \"michael.davis@example.com\",\n \"firstName\": \"Michael\",\n \"lastName\": \"Davis\",\n \"address\": {\n \"city\": \"New York\",\n \"country\": \"United States\",\n \"street\": \"456 Business Ave\",\n \"zipCode\": \"10001\"\n },\n \"dateTimePreferences\": {\n \"timezone\": \"America/New_York\",\n \"timeFormat\": \"12\",\n \"dateFormat\": \"mm-dd-yyyy\"\n },\n \"marketingAutomation\": {\n \"enabled\": true,\n \"key\": \"ma8k2x9v4h7p3d6f1c5e8b2a\"\n },\n \"plan\": [\n {\n \"credits\": 250,\n \"creditsType\": \"sendLimit\",\n \"endDate\": \"1753826567\",\n \"startDate\": \"1751234567\",\n \"type\": \"free\"\n },\n {\n \"credits\": 15,\n \"creditsType\": \"sendLimit\",\n \"endDate\": \"1753826567\",\n \"startDate\": \"1751234567\",\n \"type\": \"sms\"\n }\n ],\n \"planVerticals\": [\n {\n \"planCategory\": \"Marketing\",\n \"planType\": \"free\",\n \"name\": \"Free\",\n \"status\": \"active\",\n \"startDate\": \"1751234567\",\n \"endDate\": \"1753826567\",\n \"users\": {\n \"purchasedSeats\": \"1\",\n \"usedSeats\": \"1\"\n },\n \"credits\": \"250\"\n },\n {\n \"planCategory\": \"Chat\",\n \"planType\": \"free\",\n \"name\": \"Free\",\n \"status\": \"active\",\n \"startDate\": \"1735678901\",\n \"endDate\": \"1767214901\",\n \"users\": {\n \"purchasedSeats\": \"1\",\n \"usedSeats\": \"1\"\n },\n \"credits\": \"250\"\n },\n {\n \"planCategory\": \"CRM\",\n \"planType\": \"free\",\n \"name\": \"Free\",\n \"status\": \"active\",\n \"startDate\": \"1735678900\",\n \"endDate\": \"1767214900\",\n \"users\": {\n \"purchasedSeats\": \"1\",\n \"usedSeats\": \"1\"\n },\n \"credits\": \"250\"\n }\n ],\n \"relay\": {\n \"data\": {\n \"port\": 587,\n \"relay\": \"smtp-relay.brevo.com\",\n \"userName\": \"michael.davis@example.com\"\n },\n \"enabled\": true\n }\n}","headers":{"Content-Type":"application/json"}},"uuid":"1211c905-93ae-4aa1-a220-5b0994166727","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"8875a0d0-f755-470c-bb61-f8ad06810a28","name":"getAccountActivity - default","request":{"urlPathTemplate":"/organization/activities","method":"GET"},"response":{"status":200,"body":"{\n \"logs\": [\n {\n \"action\": \"login-success\",\n \"date\": \"2023-03-16T16:49:23+05:30\",\n \"user_agent\": \"Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us)\",\n \"user_email\": \"test@mycompany.com\",\n \"user_ip\": \"192.158.1.34\"\n },\n {\n \"action\": \"update-profile\",\n \"date\": \"2023-03-15T16:49:23+05:30\",\n \"user_agent\": \"Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us)\",\n \"user_email\": \"test@myexample.com\",\n \"user_ip\": \"192.158.1.38\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"8875a0d0-f755-470c-bb61-f8ad06810a28","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"22e8ec1f-e4ba-4f4b-996b-17fb7412b82b","name":"Create a new group of sub-accounts - default","request":{"urlPathTemplate":"/corporate/group","method":"POST"},"response":{"status":201,"body":"{\n \"id\": \"659xxxxxxxxxxxxxxxx6ef9c8\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"22e8ec1f-e4ba-4f4b-996b-17fb7412b82b","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"553c0be2-9f70-4b5f-867b-1d2543c96f46","name":"Delete sub-account from group - default","request":{"urlPathTemplate":"/corporate/group/unlink/{groupId}/subAccounts","method":"PUT","pathParameters":{"groupId":{"equalTo":"groupId"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"553c0be2-9f70-4b5f-867b-1d2543c96f46","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"569cac67-bd04-4628-af18-b29f58c3426a","name":"GET a group details - default","request":{"urlPathTemplate":"/corporate/group/{id}","method":"GET","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"{\n \"group\": {\n \"createdAt\": \"2024-02-09T06:14:40+00:00\",\n \"groupName\": \"My group\",\n \"id\": \"5f926dba72a405440a4efc97\"\n },\n \"sub-accounts\": [\n {\n \"companyName\": \"My sub organization\",\n \"createdAt\": \"2024-02-09T06:14:40+00:00\",\n \"id\": 7866556\n },\n {\n \"companyName\": \"Your sub organization\",\n \"createdAt\": \"2024-01-05T03:11:40+00:00\",\n \"id\": 6563051\n }\n ],\n \"users\": [\n {\n \"email\": \"my-user@my-org.com\",\n \"firstName\": \"John\",\n \"lastName\": \"Smith\"\n },\n {\n \"email\": \"your-user@your-org.com\",\n \"firstName\": \"firstName\",\n \"lastName\": \"lastName\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"569cac67-bd04-4628-af18-b29f58c3426a","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"15046c07-f5ad-4826-99a4-368a6abcc9d5","name":"Update a group of sub-accounts - default","request":{"urlPathTemplate":"/corporate/group/{id}","method":"PUT","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"15046c07-f5ad-4826-99a4-368a6abcc9d5","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"204960c9-0571-4a3d-a030-f9779c6aea08","name":"Delete a group - default","request":{"urlPathTemplate":"/corporate/group/{id}","method":"DELETE","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"204960c9-0571-4a3d-a030-f9779c6aea08","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"d15212a9-7d53-42ef-996e-cbae118ba999","name":"Get the list of groups - default","request":{"urlPathTemplate":"/corporate/groups","method":"GET"},"response":{"status":200,"body":"[\n {\n \"groupName\": \"My group 1\",\n \"id\": \"d3b142c709d6ed67ef1cd903\"\n },\n {\n \"groupName\": \"My group 2\",\n \"id\": \"a5b192a709d6ed67ef8fd922\"\n },\n {\n \"groupName\": \"My group 3\",\n \"id\": \"bbb142c709d6ed67ef1cd910\"\n }\n]","headers":{"Content-Type":"application/json"}},"uuid":"d15212a9-7d53-42ef-996e-cbae118ba999","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"431c56cb-581f-459e-a434-b2378dfbb177","name":"Get the list of all admin users - default","request":{"urlPathTemplate":"/corporate/invited/users","method":"GET"},"response":{"status":200,"body":"{\n \"users\": [\n {\n \"email\": \"master-user2@company.com\",\n \"feature_access\": {\n \"analytics\": [\n \"download_data\",\n \"create_alerts\",\n \"my_looks\",\n \"explore_create\"\n ],\n \"api_keys\": [\n \"all\"\n ],\n \"apps_management\": [\n \"none\"\n ],\n \"create_sub_organizations\": [\n \"all\"\n ],\n \"manage_sub_organizations\": [\n \"all\"\n ],\n \"my_plan\": [\n \"all\",\n \"all\"\n ],\n \"sub_organization_groups\": [\n \"create\",\n \"edit_delete\"\n ],\n \"user_management\": [\n \"none\"\n ]\n },\n \"groups\": {\n \"id\": \"a5c4f22c08d9ed37ef1ca342\",\n \"name\": \"My group\"\n },\n \"is_owner\": \"is_owner\",\n \"status\": \"active\"\n },\n {\n \"email\": \"master-user3@company.com\",\n \"feature_access\": {\n \"analytics\": [\n \"create_alerts\",\n \"my_looks\"\n ],\n \"api_keys\": [\n \"none\"\n ],\n \"apps_management\": [\n \"all\"\n ],\n \"create_sub_organizations\": [\n \"all\"\n ],\n \"manage_sub_organizations\": [\n \"all\"\n ],\n \"my_plan\": [\n \"none\",\n \"none\"\n ],\n \"sub_organization_groups\": [\n \"edit_delete\"\n ],\n \"user_management\": [\n \"all\"\n ]\n },\n \"groups\": {\n \"id\": \"a5c4f22c08d9ed37ef1ca342\",\n \"name\": \"My group\"\n },\n \"is_owner\": \"is_owner\",\n \"status\": \"active\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"431c56cb-581f-459e-a434-b2378dfbb177","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"47be7c71-5117-47ca-8146-e166b37fbd89","name":"List of all IPs - default","request":{"urlPathTemplate":"/corporate/ip","method":"GET"},"response":{"status":200,"body":"[\n {\n \"domain\": \"example.com\",\n \"ip\": \"192.168.1.1\",\n \"transactional\": true\n },\n {\n \"domain\": \"example.com\",\n \"ip\": \"192.168.1.2\",\n \"transactional\": false\n }\n]","headers":{"Content-Type":"application/json"}},"uuid":"47be7c71-5117-47ca-8146-e166b37fbd89","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"c8f6e272-2e8b-4912-b109-ef644f37c748","name":"Get the details of requested master account - default","request":{"urlPathTemplate":"/corporate/masterAccount","method":"GET"},"response":{"status":200,"body":"{\n \"billingInfo\": {\n \"address\": {\n \"countryCode\": \"IN\",\n \"locality\": \"Pandav Nagar, New Delhi\",\n \"postalCode\": \"560048\",\n \"stateCode\": \"UP\",\n \"streetAddress\": \"C-92\"\n },\n \"companyName\": \"Corp Sample 1-1\",\n \"email\": \"sample@example.com\",\n \"name\": {\n \"familyName\": \"Pandit\",\n \"givenName\": \"Uday\"\n }\n },\n \"companyName\": \"Corp Sample 1-1\",\n \"currencyCode\": \"INR\",\n \"email\": \"sample@example.com\",\n \"id\": 1003286,\n \"planInfo\": {\n \"currencyCode\": \"INR\",\n \"features\": [\n {\n \"name\": \"MULTI_USER\",\n \"quantity\": 10,\n \"remaining\": 0,\n \"unitValue\": \"unitValue\",\n \"used\": 15\n },\n {\n \"name\": \"ADVANCED_REPORTING\",\n \"quantity\": 12,\n \"remaining\": 11,\n \"unitValue\": \"unitValue\",\n \"used\": 1\n },\n {\n \"name\": \"INBOX\",\n \"quantity\": 10,\n \"remaining\": 0,\n \"unitValue\": \"unitValue\",\n \"used\": 10\n },\n {\n \"name\": \"LANDING_PAGE\",\n \"quantity\": 10,\n \"remaining\": 0,\n \"unitValue\": \"unitValue\",\n \"used\": 11\n },\n {\n \"name\": \"RECURRING_CREDITS\",\n \"quantity\": 500,\n \"remaining\": 499,\n \"unitValue\": \"unitValue\",\n \"used\": 1\n }\n ],\n \"nextBillingAt\": 1637739295,\n \"planPeriod\": \"month\",\n \"price\": 2100,\n \"subAccounts\": 15\n },\n \"timezone\": \"Europe/Paris\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"c8f6e272-2e8b-4912-b109-ef644f37c748","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"8fea4e4d-838b-4875-b315-9790bd457518","name":"Generate SSO token to access admin account - default","request":{"urlPathTemplate":"/corporate/ssoToken","method":"POST"},"response":{"status":200,"body":"{\n \"token\": \"5cadaxxxxxxxxxxxxxxxxxxxx5a179f85a0\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"8fea4e4d-838b-4875-b315-9790bd457518","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"45b2935e-aecb-4ad4-8888-9a0e585bcd23","name":"Get the list of all the sub-accounts of the master account. - default","request":{"urlPathTemplate":"/corporate/subAccount","method":"GET","queryParameters":{"offset":{"equalTo":"1"},"limit":{"equalTo":"1"}}},"response":{"status":200,"body":"{\n \"count\": 3,\n \"subAccounts\": [\n {\n \"active\": true,\n \"companyName\": \"Company1\",\n \"createdAt\": 1631523176,\n \"groups\": [\n {\n \"id\": \"5f8f8c3b5f56a02d4433b3a8\",\n \"name\": \"Group 1\"\n },\n {\n \"id\": \"4fbf3c3b1f56a02ac465b1a0\",\n \"name\": \"Group 2\"\n }\n ],\n \"id\": 4043629\n },\n {\n \"active\": true,\n \"companyName\": \"Company2\",\n \"createdAt\": 1629439311,\n \"groups\": [\n {}\n ],\n \"id\": 3984002\n },\n {\n \"active\": true,\n \"companyName\": \"Company3\",\n \"createdAt\": 1614713641,\n \"groups\": [\n {}\n ],\n \"id\": 3524191\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"45b2935e-aecb-4ad4-8888-9a0e585bcd23","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"27e8ff22-470d-462b-a9e2-6cd1c428b361","name":"Create a new sub-account under a master account. - default","request":{"urlPathTemplate":"/corporate/subAccount","method":"POST"},"response":{"status":201,"body":"{\n \"id\": 4109344\n}","headers":{"Content-Type":"application/json"}},"uuid":"27e8ff22-470d-462b-a9e2-6cd1c428b361","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"0b1c8ee5-ea29-4bb0-a233-53d0ff4d86fa","name":"Associate an IP to sub-accounts - default","request":{"urlPathTemplate":"/corporate/subAccount/ip/associate","method":"POST"},"response":{"status":201,"body":"{\n \"key\": \"value\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"0b1c8ee5-ea29-4bb0-a233-53d0ff4d86fa","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"b9524079-a627-4ed4-8f2a-abb0390700aa","name":"Dissociate an IP to sub-accounts - default","request":{"urlPathTemplate":"/corporate/subAccount/ip/dissociate","method":"PUT"},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"b9524079-a627-4ed4-8f2a-abb0390700aa","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"69800c09-607d-406d-8817-7c7c51ff5ae1","name":"Create an API key for a sub-account - default","request":{"urlPathTemplate":"/corporate/subAccount/key","method":"POST"},"response":{"status":201,"body":"{\n \"key\": \"xkeysib-21881axxxxxcc92e04-mIrexxxx7z\",\n \"status\": \"success\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"69800c09-607d-406d-8817-7c7c51ff5ae1","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"c6174a85-f3d7-4550-bc89-0e9814e58cfb","name":"Generate SSO token to access sub-account - default","request":{"urlPathTemplate":"/corporate/subAccount/ssoToken","method":"POST"},"response":{"status":200,"body":"{\n \"token\": \"5cadaxxxxxxxxxxxxxxxxxxxx5a179f85a0\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"c6174a85-f3d7-4550-bc89-0e9814e58cfb","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"a2fc395f-9a4c-407e-bcf3-5eb067c54991","name":"Get sub-account details - default","request":{"urlPathTemplate":"/corporate/subAccount/{id}","method":"GET","pathParameters":{"id":{"equalTo":"1000000"}}},"response":{"status":200,"body":"{\n \"companyName\": \"API-Sub-26thOct21-4\",\n \"email\": \"uday+1@brevo.com\",\n \"groups\": [\n {\n \"id\": \"5f8f8c3b5f56a02d4433b3a7\",\n \"name\": \"Group 1\"\n },\n {\n \"id\": \"5f8f8c3b5f56a02d4433b3a8\",\n \"name\": \"Group 2\"\n }\n ],\n \"name\": \"Uday Pandit\",\n \"planInfo\": {\n \"credits\": {\n \"emails\": {\n \"quantity\": 2000,\n \"remaining\": 1955\n },\n \"externalFeeds\": {\n \"quantity\": 1,\n \"remaining\": 1\n },\n \"sms\": {\n \"quantity\": 2000,\n \"remaining\": 1955\n },\n \"whatsapp\": {\n \"quantity\": 100,\n \"remaining\": 50\n },\n \"wpSubscribers\": {\n \"quantity\": 2000,\n \"remaining\": 1955\n }\n },\n \"features\": {\n \"inbox\": {\n \"quantity\": 20,\n \"remaining\": 12\n },\n \"landingPage\": {\n \"quantity\": 25,\n \"remaining\": 14\n },\n \"salesUsers\": {\n \"quantity\": 30,\n \"remaining\": 14\n },\n \"users\": {\n \"quantity\": 30,\n \"remaining\": 14\n }\n },\n \"planType\": \"paid\"\n }\n}","headers":{"Content-Type":"application/json"}},"uuid":"a2fc395f-9a4c-407e-bcf3-5eb067c54991","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"574c16a0-400c-46fe-aea7-88b6b1a0b812","name":"Delete a sub-account - default","request":{"urlPathTemplate":"/corporate/subAccount/{id}","method":"DELETE","pathParameters":{"id":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"574c16a0-400c-46fe-aea7-88b6b1a0b812","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"769c18cf-d0ef-4284-83e9-bc297f635f71","name":"Enable/disable sub-account application(s) - default","request":{"urlPathTemplate":"/corporate/subAccount/{id}/applications/toggle","method":"PUT","pathParameters":{"id":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"769c18cf-d0ef-4284-83e9-bc297f635f71","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"85c53397-13d2-43ec-986d-7d85858e7c8e","name":"Update sub-account plan - default","request":{"urlPathTemplate":"/corporate/subAccount/{id}/plan","method":"PUT","pathParameters":{"id":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"85c53397-13d2-43ec-986d-7d85858e7c8e","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"41b0f555-e1b6-4e40-9e6a-17c8bd025f53","name":"Update sub-accounts plan - default","request":{"urlPathTemplate":"/corporate/subAccounts/plan","method":"PUT"},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"41b0f555-e1b6-4e40-9e6a-17c8bd025f53","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"2d522f1e-c89e-42da-b070-ffb9ff715ec2","name":"Send invitation to an admin user - default","request":{"urlPathTemplate":"/corporate/user/invitation/send","method":"POST"},"response":{"status":201,"body":"{\n \"id\": \"659xxxxxxxxxxxxxxxx6ef9c8\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"2d522f1e-c89e-42da-b070-ffb9ff715ec2","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"d9c935a4-0eec-4d97-9162-0ecfcc38abbb","name":"Resend / cancel admin user invitation - default","request":{"urlPathTemplate":"/corporate/user/invitation/{action}/{email}","method":"PUT","pathParameters":{"action":{"equalTo":"resend"},"email":{"equalTo":"email"}}},"response":{"status":200,"body":"{\n \"message\": \"Invitation resent successfully\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"d9c935a4-0eec-4d97-9162-0ecfcc38abbb","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"a6f000f1-1ae0-4b47-842f-edac9954cb1d","name":"Revoke an admin user - default","request":{"urlPathTemplate":"/corporate/user/revoke/{email}","method":"DELETE","pathParameters":{"email":{"equalTo":"email"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"a6f000f1-1ae0-4b47-842f-edac9954cb1d","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"f295c79b-1b65-4112-8b0c-b6ce9d87d44f","name":"Check admin user permissions - default","request":{"urlPathTemplate":"/corporate/user/{email}/permissions","method":"GET","pathParameters":{"email":{"equalTo":"email"}}},"response":{"status":200,"body":"{\n \"email\": \"invitedUser@company.com\",\n \"feature_access\": {\n \"analytics\": [\n \"download_data\",\n \"create_alerts\",\n \"my_looks\",\n \"explore_create\"\n ],\n \"api_keys\": [\n \"all\"\n ],\n \"apps_management\": [\n \"all\"\n ],\n \"create_sub_organizations\": [\n \"all\"\n ],\n \"manage_sub_organizations\": [\n \"all\"\n ],\n \"my_plan\": [\n \"all\",\n \"all\"\n ],\n \"sub_organization_groups\": [\n \"create\",\n \"edit_delete\"\n ],\n \"user_management\": [\n \"none\"\n ]\n },\n \"groups\": [\n {\n \"id\": \"6543ab3667ffbb00142e4486\",\n \"name\": \"Support\"\n },\n {\n \"id\": \"174bab366732bbce142e4412\",\n \"name\": \"Technical\"\n }\n ],\n \"status\": \"active\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"f295c79b-1b65-4112-8b0c-b6ce9d87d44f","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"c29d9b3d-5506-4699-8d63-cb5be4b098e1","name":"Change admin user permissions - default","request":{"urlPathTemplate":"/corporate/user/{email}/permissions","method":"PUT","pathParameters":{"email":{"equalTo":"email"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"c29d9b3d-5506-4699-8d63-cb5be4b098e1","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"5b756ab9-0c76-4ea0-86e3-2629a91ee517","name":"Get the list of all your users - default","request":{"urlPathTemplate":"/organization/invited/users","method":"GET"},"response":{"status":200,"body":"{\n \"users\": [\n {\n \"email\": \"owner@company.com\",\n \"feature_access\": {\n \"conversations\": \"owner\",\n \"crm\": \"owner\",\n \"marketing\": \"owner\"\n },\n \"is_owner\": \"is_owner\",\n \"status\": \"active\"\n },\n {\n \"email\": \"pendingInvitedUser@company.com\",\n \"feature_access\": {\n \"conversations\": \"none\",\n \"crm\": \"full\",\n \"marketing\": \"custom\"\n },\n \"is_owner\": \"is_owner\",\n \"status\": \"pending\"\n },\n {\n \"email\": \"connectedInvitedUser@company.com\",\n \"feature_access\": {\n \"conversations\": \"full\",\n \"crm\": \"none\",\n \"marketing\": \"none\"\n },\n \"is_owner\": \"is_owner\",\n \"status\": \"active\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"5b756ab9-0c76-4ea0-86e3-2629a91ee517","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"027416a7-5144-402b-8e13-ff098d91ec53","name":"Revoke user permission - default","request":{"urlPathTemplate":"/organization/user/invitation/revoke/{email}","method":"PUT","pathParameters":{"email":{"equalTo":"email"}}},"response":{"status":200,"body":"{\n \"credit_notes\": [\n \"TEST-123\"\n ],\n \"status\": \"OK\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"027416a7-5144-402b-8e13-ff098d91ec53","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"3380168e-886f-4ab1-9489-1f453e144d97","name":"Send invitation to user - default","request":{"urlPathTemplate":"/organization/user/invitation/send","method":"POST"},"response":{"status":200,"body":"{\n \"invoice_id\": \"invoice_id\",\n \"status\": \"OK\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"3380168e-886f-4ab1-9489-1f453e144d97","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"fda4aa42-d57d-4f82-8b2b-30f5d0abffa2","name":"Resend / Cancel invitation - default","request":{"urlPathTemplate":"/organization/user/invitation/{action}/{email}","method":"PUT","pathParameters":{"action":{"equalTo":"resend"},"email":{"equalTo":"email"}}},"response":{"status":200,"body":"{\n \"credit_notes\": [\n \"TEST-123\"\n ],\n \"status\": \"OK\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"fda4aa42-d57d-4f82-8b2b-30f5d0abffa2","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"e3763191-26a9-488e-9abf-c8b9ca82c709","name":"Update permission for a user - default","request":{"urlPathTemplate":"/organization/user/update/permissions","method":"POST"},"response":{"status":200,"body":"{\n \"credit_notes\": [\n \"TEST-123\"\n ],\n \"invoice_id\": \"invoice_id\",\n \"status\": \"OK\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"e3763191-26a9-488e-9abf-c8b9ca82c709","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"8d0fdcb2-801b-46ec-98ff-ef29fa70f35d","name":"Check user permission - default","request":{"urlPathTemplate":"/organization/user/{email}/permissions","method":"GET","pathParameters":{"email":{"equalTo":"email"}}},"response":{"status":200,"body":"{\n \"email\": \"invitedUser@company.com\",\n \"privileges\": [\n {\n \"feature\": \"Email campaign\",\n \"permissions\": [\n \"Create / edit / delete\",\n \"Send / schedule / suspend\"\n ]\n },\n {\n \"feature\": \"Templates\",\n \"permissions\": [\n \"Create / edit / delete\",\n \"Activate / deactivate\"\n ]\n },\n {\n \"feature\": \"SMS campaign\",\n \"permissions\": [\n \"Create / edit / delete\",\n \"Send / schedule / suspend\"\n ]\n },\n {\n \"feature\": \"Facebook Ads\",\n \"permissions\": [\n \"Schedule / pause\"\n ]\n },\n {\n \"feature\": \"Landing pages\",\n \"permissions\": [\n \"All\"\n ]\n },\n {\n \"feature\": \"Workflows\",\n \"permissions\": [\n \"Create / edit / delete\",\n \"Activate / deactivate / Pause\"\n ]\n },\n {\n \"feature\": \"Contacts\",\n \"permissions\": [\n \"View\",\n \"Contact forms\"\n ]\n },\n {\n \"feature\": \"SMTP & API\",\n \"permissions\": [\n \"SMTP\",\n \"API Keys\",\n \"Authorized IPs\"\n ]\n },\n {\n \"feature\": \"User management\",\n \"permissions\": [\n \"None\"\n ]\n },\n {\n \"feature\": \"Sales Platform\",\n \"permissions\": [\n \"Create / edit / delete owned deals and tasks\",\n \"Manage deals and tasks from other users\",\n \"Reports\",\n \"Settings\"\n ]\n },\n {\n \"feature\": \"Conversations\",\n \"permissions\": [\n \"None\"\n ]\n },\n {\n \"feature\": \"Senders, Domains & Dedicated IPs\",\n \"permissions\": [\n \"Senders management\",\n \"Domains management\",\n \"Dedicated IPs management\"\n ]\n },\n {\n \"feature\": \"Push\",\n \"permissions\": [\n \"View\",\n \"Create / edit / delete\",\n \"Send\",\n \"Settings\"\n ]\n },\n {\n \"feature\": \"Companies\",\n \"permissions\": [\n \"Create / edit / delete owned companies\",\n \"Manage companies from other users\",\n \"Settings\"\n ]\n }\n ],\n \"status\": \"active\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"8d0fdcb2-801b-46ec-98ff-ef29fa70f35d","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"ec86c15f-d950-46af-8cc4-d9670d01ec3e","name":"Get background processes - default","request":{"urlPathTemplate":"/processes","method":"GET"},"response":{"status":200,"body":"{\n \"count\": 198,\n \"processes\": [\n {\n \"id\": 217,\n \"name\": \"IMPORTUSER\",\n \"status\": \"completed\",\n \"export_url\": \"https://s3.eu-west-1.amazonaws.com/api-export.example.com/upload/contacts_export.csv\",\n \"error\": \"Processing timeout exceeded\",\n \"created_at\": \"2024-01-15T10:30:00Z\",\n \"completed_at\": \"2024-01-15T10:35:00Z\"\n },\n {\n \"id\": 213,\n \"name\": \"SEARCH_EXPORT_USERS\",\n \"status\": \"completed\",\n \"export_url\": \"https://s3.eu-west-1.amazonaws.com/api-export.example.com/upload/contacts_export.csv\",\n \"error\": \"Processing timeout exceeded\",\n \"created_at\": \"2024-01-15T10:30:00Z\",\n \"completed_at\": \"2024-01-15T10:35:00Z\"\n },\n {\n \"id\": 212,\n \"name\": \"IMPORTUSER\",\n \"status\": \"queued\",\n \"export_url\": \"https://s3.eu-west-1.amazonaws.com/api-export.example.com/upload/contacts_export.csv\",\n \"error\": \"Processing timeout exceeded\",\n \"created_at\": \"2024-01-15T10:30:00Z\",\n \"completed_at\": \"2024-01-15T10:35:00Z\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"ec86c15f-d950-46af-8cc4-d9670d01ec3e","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"5cd8a4a8-5754-4b87-aa94-fc464c24ad7a","name":"Get process details - default","request":{"urlPathTemplate":"/processes/{processId}","method":"GET","pathParameters":{"processId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"{\n \"id\": 217,\n \"name\": \"IMPORTUSER\",\n \"status\": \"queued\",\n \"info\": {\n \"import\": {\n \"invalid_emails\": 2,\n \"duplicate_contact_id\": 0,\n \"duplicate_ext_id\": 1,\n \"duplicate_email_id\": 5,\n \"duplicate_phone_id\": 1,\n \"duplicate_whatsapp_id\": 1,\n \"duplicate_landline_number_id\": 1\n },\n \"export\": {\n \"total_records\": 1250,\n \"file_size\": 102400\n }\n },\n \"export_url\": \"https://s3.eu-west-1.amazonaws.com/api-export.example.com/upload/contacts_export.csv\",\n \"error\": \"Processing timeout exceeded after 30 minutes\",\n \"created_at\": \"2024-01-15T10:30:00Z\",\n \"completed_at\": \"2024-01-15T10:32:15Z\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"5cd8a4a8-5754-4b87-aa94-fc464c24ad7a","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"6ee5e306-247b-485b-9f81-14d36b3a0bda","name":"Get email senders - default","request":{"urlPathTemplate":"/senders","method":"GET"},"response":{"status":200,"body":"{\n \"senders\": [\n {\n \"active\": true,\n \"email\": \"support@example.com\",\n \"id\": 1,\n \"ips\": [\n {\n \"domain\": \"example.com\",\n \"ip\": \"203.0.113.100\",\n \"weight\": 50\n }\n ],\n \"name\": \"Support Team\"\n },\n {\n \"active\": false,\n \"email\": \"hello@example.com\",\n \"id\": 3,\n \"ips\": [\n {\n \"domain\": \"example.com\",\n \"ip\": \"203.0.113.100\",\n \"weight\": 50\n }\n ],\n \"name\": \"Customer Service\"\n },\n {\n \"active\": false,\n \"email\": \"marketing@testcompany.com\",\n \"id\": 5,\n \"ips\": [\n {\n \"domain\": \"example.com\",\n \"ip\": \"203.0.113.100\",\n \"weight\": 50\n }\n ],\n \"name\": \"Marketing Team\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"6ee5e306-247b-485b-9f81-14d36b3a0bda","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"04b1327d-3b58-45aa-a665-8f8430486eca","name":"Create email sender - default","request":{"urlPathTemplate":"/senders","method":"POST"},"response":{"status":201,"body":"{\n \"dkimError\": false,\n \"id\": 15,\n \"spfError\": false\n}","headers":{"Content-Type":"application/json"}},"uuid":"04b1327d-3b58-45aa-a665-8f8430486eca","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"17fe3a57-60da-42b1-a435-e4cf134d171e","name":"getIps - default","request":{"urlPathTemplate":"/senders/ips","method":"GET"},"response":{"status":200,"body":"{\n \"ips\": [\n {\n \"active\": true,\n \"domain\": \"mailing.enterprise.com\",\n \"id\": 3,\n \"ip\": \"192.168.1.100\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"17fe3a57-60da-42b1-a435-e4cf134d171e","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"a0fc45b1-4252-4d1d-a02e-f542df6bf33e","name":"updateSender - default","request":{"urlPathTemplate":"/senders/{senderId}","method":"PUT","pathParameters":{"senderId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"a0fc45b1-4252-4d1d-a02e-f542df6bf33e","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"f691a271-1b98-49eb-b4a0-124162e8a7d5","name":"deleteSender - default","request":{"urlPathTemplate":"/senders/{senderId}","method":"DELETE","pathParameters":{"senderId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"f691a271-1b98-49eb-b4a0-124162e8a7d5","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"a90c739a-2ce1-4058-a434-60d316495970","name":"getIpsFromSender - default","request":{"urlPathTemplate":"/senders/{senderId}/ips","method":"GET","pathParameters":{"senderId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"{\n \"ips\": [\n {\n \"domain\": \"mailing.enterprise.com\",\n \"id\": 3,\n \"ip\": \"192.168.1.100\",\n \"weight\": 75\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"a90c739a-2ce1-4058-a434-60d316495970","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"868b537b-a700-40e2-bc48-c51dfd0ef8ed","name":"validateSenderByOTP - default","request":{"urlPathTemplate":"/senders/{senderId}/validate","method":"PUT","pathParameters":{"senderId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"868b537b-a700-40e2-bc48-c51dfd0ef8ed","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"6efe0f37-1aad-44ee-a626-e10a2df32e40","name":"getDomains - default","request":{"urlPathTemplate":"/senders/domains","method":"GET"},"response":{"status":200,"body":"{\n \"domains\": [\n {\n \"id\": \"67e57b40130375f045064c45\",\n \"domain_name\": \"mycompany.com\",\n \"authenticated\": true,\n \"verified\": true,\n \"ip\": \"192.168.1.100\",\n \"provider\": \"Cloudflare\",\n \"creator\": {\n \"id\": \"62e4fce597550d0b0177cb0c\",\n \"email\": \"admin@mycompany.com\",\n \"creationDate\": \"2025-03-27T16:22:24Z\"\n }\n },\n {\n \"id\": \"67f778570dd65f97c70910ed\",\n \"domain_name\": \"newsletter.mycompany.com\",\n \"authenticated\": false,\n \"verified\": true,\n \"provider\": \"GoDaddy\",\n \"creator\": {\n \"id\": \"62e4fce597550d0b0177cb0c\",\n \"email\": \"admin@mycompany.com\",\n \"creationDate\": \"2025-04-10T07:50:47Z\"\n }\n },\n {\n \"id\": \"688cd306d8893504e50ea615\",\n \"domain_name\": \"test.example.com\",\n \"authenticated\": false,\n \"verified\": false,\n \"provider\": \"Other\",\n \"creator\": {\n \"id\": \"62e4fce597550d0b0177cb0c\",\n \"email\": \"admin@mycompany.com\",\n \"creationDate\": \"2025-08-01T14:45:26Z\"\n }\n }\n ],\n \"count\": 3,\n \"current_page\": 1,\n \"total_pages\": 1\n}","headers":{"Content-Type":"application/json"}},"uuid":"6efe0f37-1aad-44ee-a626-e10a2df32e40","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"d932d31f-c588-47e7-8703-1fc734a1dffd","name":"createDomain - default","request":{"urlPathTemplate":"/senders/domains","method":"POST"},"response":{"status":200,"body":"{\n \"id\": 5,\n \"domain_name\": \"mycompany.com\",\n \"domain_provider\": \"Cloudflare\",\n \"message\": \"Domain added successfully. To authenticate it, add following DNS records\",\n \"dns_records\": {\n \"brevo_code\": {\n \"host_name\": \"@\",\n \"type\": \"TXT\",\n \"value\": \"brevo-code=abc123def456\",\n \"status\": false\n },\n \"dkim_record\": {\n \"host_name\": \"mail._domainkey\",\n \"type\": \"TXT\",\n \"value\": \"v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GN...\",\n \"status\": false\n },\n \"dmarc_record\": {\n \"host_name\": \"_dmarc\",\n \"type\": \"TXT\",\n \"value\": \"v=DMARC1; p=none; rua=mailto:dmarc@mycompany.com\",\n \"status\": false\n }\n }\n}","headers":{"Content-Type":"application/json"}},"uuid":"d932d31f-c588-47e7-8703-1fc734a1dffd","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"184d536e-335a-4ef0-8445-30b9081f5725","name":"getDomainConfiguration - default","request":{"urlPathTemplate":"/senders/domains/{domainName}","method":"GET","pathParameters":{"domainName":{"equalTo":"domainName"}}},"response":{"status":200,"body":"{\n \"domain\": \"mycompany.com\",\n \"verified\": true,\n \"authenticated\": true,\n \"dns_records\": {\n \"brevo_code\": {\n \"host_name\": \"@\",\n \"type\": \"TXT\",\n \"value\": \"brevo-code=abc123def456\",\n \"status\": true\n },\n \"dkim_record\": {\n \"host_name\": \"mail._domainkey\",\n \"type\": \"TXT\",\n \"value\": \"v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GN...\",\n \"status\": true\n },\n \"dmarc_record\": {\n \"host_name\": \"_dmarc\",\n \"type\": \"TXT\",\n \"value\": \"v=DMARC1; p=quarantine; rua=mailto:dmarc@mycompany.com\",\n \"status\": true\n }\n }\n}","headers":{"Content-Type":"application/json"}},"uuid":"184d536e-335a-4ef0-8445-30b9081f5725","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"85cfda0d-d298-48b3-8a8f-fcdc75ac72c2","name":"deleteDomain - default","request":{"urlPathTemplate":"/senders/domains/{domainName}","method":"DELETE","pathParameters":{"domainName":{"equalTo":"domainName"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"85cfda0d-d298-48b3-8a8f-fcdc75ac72c2","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"9028b6d6-1ed0-4272-bf1a-30fca4d35a1b","name":"authenticateDomain - default","request":{"urlPathTemplate":"/senders/domains/{domainName}/authenticate","method":"PUT","pathParameters":{"domainName":{"equalTo":"domainName"}}},"response":{"status":200,"body":"{\n \"domain_name\": \"mycompany.com\",\n \"message\": \"Domain has been authenticated successfully.\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"9028b6d6-1ed0-4272-bf1a-30fca4d35a1b","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"71fd7de8-a010-43ca-bce7-8d0788df718a","name":"getWebhooks - default","request":{"urlPathTemplate":"/webhooks","method":"GET"},"response":{"status":200,"body":"{\n \"webhooks\": [\n {\n \"auth\": {\n \"token\": \"test-auth-token1234\",\n \"type\": \"bearer\"\n },\n \"batched\": true,\n \"channel\": \"email\",\n \"createdAt\": \"2016-07-18T12:30:09Z\",\n \"description\": \"Webhook triggered on campaign openings\",\n \"events\": [\n \"opened\"\n ],\n \"headers\": [\n {\n \"key\": \"cf-secret\",\n \"value\": \"test-header-value\"\n }\n ],\n \"id\": 9864,\n \"modifiedAt\": \"2016-07-18T16:00:50Z\",\n \"type\": \"transactional\",\n \"url\": \"https://example.domain.com/webhook/events/kzfxxxxxxxx0uyo1\"\n },\n {\n \"auth\": {\n \"token\": \"test-auth-token1234\",\n \"type\": \"bearer\"\n },\n \"batched\": true,\n \"channel\": \"sms\",\n \"createdAt\": \"2017-02-20T14:30:00Z\",\n \"description\": \"Webhook triggered on campaign hard bounces\",\n \"events\": [\n \"hardBounces\"\n ],\n \"headers\": [\n {\n \"key\": \"cf-secret\",\n \"value\": \"test-header-value\"\n }\n ],\n \"id\": 22770,\n \"modifiedAt\": \"2017-02-20T19:00:00Z\",\n \"type\": \"marketing\",\n \"url\": \"http://exmaple.domain.com/15kxxxxxn1\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"71fd7de8-a010-43ca-bce7-8d0788df718a","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"657ec845-de7a-4389-887a-888df91d2433","name":"createWebhook - default","request":{"urlPathTemplate":"/webhooks","method":"POST"},"response":{"status":201,"body":"{\n \"id\": 5\n}","headers":{"Content-Type":"application/json"}},"uuid":"657ec845-de7a-4389-887a-888df91d2433","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"2ca5ef46-7340-4f7f-bb5f-a3f34383c9c8","name":"Export webhook history - default","request":{"urlPathTemplate":"/webhooks/export","method":"POST"},"response":{"status":202,"body":"{\n \"processId\": 78\n}","headers":{"Content-Type":"application/json"}},"uuid":"2ca5ef46-7340-4f7f-bb5f-a3f34383c9c8","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"adc43c28-964b-4170-aee2-5bb24add0d04","name":"getWebhook - default","request":{"urlPathTemplate":"/webhooks/{webhookId}","method":"GET","pathParameters":{"webhookId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"{\n \"auth\": {\n \"token\": \"test-auth-token1234\",\n \"type\": \"bearer\"\n },\n \"batched\": true,\n \"channel\": \"sms\",\n \"createdAt\": \"2016-06-07T09:10:10Z\",\n \"description\": \"Webhook triggered on campaign openings and addition of lists\",\n \"events\": [\n \"listAdditions\",\n \"opened\"\n ],\n \"headers\": [\n {\n \"key\": \"cf-secret\",\n \"value\": \"test-header-value\"\n }\n ],\n \"id\": 7287,\n \"modifiedAt\": \"2016-06-08T11:30:00Z\",\n \"type\": \"marketing\",\n \"url\": \"http://example.domain.com/1brxxxxxx5p1\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"adc43c28-964b-4170-aee2-5bb24add0d04","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"ffcb1664-4c31-4340-a525-2b616cf4334c","name":"updateWebhook - default","request":{"urlPathTemplate":"/webhooks/{webhookId}","method":"PUT","pathParameters":{"webhookId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"ffcb1664-4c31-4340-a525-2b616cf4334c","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"be23bfc5-4a58-4cb4-8191-aee4cb8f244f","name":"deleteWebhook - default","request":{"urlPathTemplate":"/webhooks/{webhookId}","method":"DELETE","pathParameters":{"webhookId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"be23bfc5-4a58-4cb4-8191-aee4cb8f244f","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"2a8a03cd-cea2-4501-94e0-c2dccdd68f00","name":"Get all external feeds - default","request":{"urlPathTemplate":"/feeds","method":"GET","queryParameters":{"search":{"equalTo":"product"},"startDate":{"equalTo":"2024-01-01"},"endDate":{"equalTo":"2024-01-31"}}},"response":{"status":200,"body":"{\n \"count\": 18,\n \"feeds\": [\n {\n \"id\": \"b1c2d3e4-f5a6-47b8-89c0-d1e2f3a4b5c6\",\n \"name\": \"Product Catalog Feed\",\n \"alias\": \"product_catalog_feed\",\n \"url\": \"https://api.example.com/products\",\n \"authType\": \"noAuth\",\n \"username\": \"apiuser\",\n \"password\": \"apipass\",\n \"token\": \"abc123token456\",\n \"maxRetries\": 3,\n \"cache\": true,\n \"isInternal\": false,\n \"headers\": [\n {\n \"name\": \"Authorization\",\n \"value\": \"Bearer xyz789\"\n }\n ],\n \"createdAt\": \"2025-09-18T13:29:27Z\",\n \"modifiedAt\": \"2025-09-18T13:29:27Z\"\n },\n {\n \"id\": \"c2d3e4f5-a6b7-48c9-90d1-e2f3a4b5c6d7\",\n \"name\": \"Blog News Feed\",\n \"alias\": \"blog_news_feed\",\n \"url\": \"https://blog.example.com/api/posts\",\n \"authType\": \"noAuth\",\n \"username\": \"apiuser\",\n \"password\": \"apipass\",\n \"token\": \"abc123token456\",\n \"maxRetries\": 3,\n \"cache\": true,\n \"isInternal\": true,\n \"headers\": [\n {\n \"name\": \"Authorization\",\n \"value\": \"Bearer xyz789\"\n }\n ],\n \"createdAt\": \"2025-09-17T16:03:25Z\",\n \"modifiedAt\": \"2025-09-17T16:03:25Z\"\n },\n {\n \"id\": \"d3e4f5a6-b7c8-49d0-91e2-f3a4b5c6d7e8\",\n \"name\": \"Public Data Feed\",\n \"alias\": \"public_data_feed\",\n \"url\": \"https://jsonplaceholder.typicode.com/posts\",\n \"authType\": \"noAuth\",\n \"username\": \"apiuser\",\n \"password\": \"apipass\",\n \"token\": \"abc123token456\",\n \"maxRetries\": 3,\n \"cache\": true,\n \"isInternal\": true,\n \"headers\": [\n {\n \"name\": \"Authorization\",\n \"value\": \"Bearer xyz789\"\n }\n ],\n \"createdAt\": \"2025-09-05T09:06:42Z\",\n \"modifiedAt\": \"2025-09-05T09:06:42Z\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"2a8a03cd-cea2-4501-94e0-c2dccdd68f00","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"6feaee25-9e8b-4798-b9ee-ae7b3aad1442","name":"Create external feed - default","request":{"urlPathTemplate":"/feeds","method":"POST"},"response":{"status":201,"body":"{\n \"id\": \"b1c2d3e4-f5a6-47b8-89c0-d1e2f3a4b5c6\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"6feaee25-9e8b-4798-b9ee-ae7b3aad1442","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"2239ff35-3a80-42f1-b822-81e1d785db03","name":"Get external feed details - default","request":{"urlPathTemplate":"/feeds/{uuid}","method":"GET","pathParameters":{"uuid":{"equalTo":"b1c2d3e4-f5a6-47b8-89c0-d1e2f3a4b5c6"}}},"response":{"status":200,"body":"{\n \"id\": \"b1c2d3e4-f5a6-47b8-89c0-d1e2f3a4b5c6\",\n \"name\": \"Product Catalog Feed\",\n \"url\": \"https://api.example.com/products\",\n \"authType\": \"noAuth\",\n \"personalization\": false,\n \"defaultAttr\": \"\",\n \"defaultContact\": \"\",\n \"maxRetries\": 0,\n \"cache\": false,\n \"createdAt\": \"2025-09-18T13:29:27Z\",\n \"modifiedAt\": \"2025-09-18T13:29:27Z\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"2239ff35-3a80-42f1-b822-81e1d785db03","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"c1cb8e28-7845-4479-a233-737a81218df9","name":"Update external feed - default","request":{"urlPathTemplate":"/feeds/{uuid}","method":"PUT","pathParameters":{"uuid":{"equalTo":"b1c2d3e4-f5a6-47b8-89c0-d1e2f3a4b5c6"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"c1cb8e28-7845-4479-a233-737a81218df9","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"63a2125b-2244-41b0-8f75-6e2eb3cfb682","name":"Delete external feed - default","request":{"urlPathTemplate":"/feeds/{uuid}","method":"DELETE","pathParameters":{"uuid":{"equalTo":"b1c2d3e4-f5a6-47b8-89c0-d1e2f3a4b5c6"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"63a2125b-2244-41b0-8f75-6e2eb3cfb682","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"03da01c2-0cff-47d2-996c-4317cabb22c4","name":"Create/Update object records in bulk - default","request":{"urlPathTemplate":"/objects/{object_type}/batch/upsert","method":"POST","pathParameters":{"object_type":{"equalTo":"vehicle"}}},"response":{"status":202,"body":"{\n \"message\": \"Batch object records are being processed\",\n \"processId\": 21\n}","headers":{"Content-Type":"application/json"}},"uuid":"03da01c2-0cff-47d2-996c-4317cabb22c4","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"90e40ddc-ba7b-4979-8f3d-67bcfe9be80d","name":"Get the list of object records and total records count for an object. - default","request":{"urlPathTemplate":"/objects/{object_type}/records","method":"GET","pathParameters":{"object_type":{"equalTo":"vehicle"}},"queryParameters":{"limit":{"equalTo":"1000000"},"page_num":{"equalTo":"1000000"}}},"response":{"status":200,"body":"{\n \"count\": 350,\n \"records\": [\n {\n \"associations\": [\n {\n \"object_type\": \"garage\",\n \"records\": [\n {\n \"identifiers\": {\n \"id\": 12345\n }\n }\n ]\n }\n ],\n \"attributes\": {\n \"color\": \"Black\",\n \"engine_type\": \"Hybrid\",\n \"make\": \"Toyoto\",\n \"model\": \"Corolla\",\n \"year\": 2020\n },\n \"createdAt\": \"2025-07-22T10:20:30Z\",\n \"identifiers\": {\n \"ext_id\": \"507f1f77bc\",\n \"id\": 16789\n },\n \"updatedAt\": \"2025-07-22T10:20:30Z\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"90e40ddc-ba7b-4979-8f3d-67bcfe9be80d","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"dc28fc32-e60d-4ec0-a256-912ae9ca2cbd","name":"Delete multiple object records (up to 1000) asynchronously - default","request":{"urlPathTemplate":"/objects/{object_type}/batch/delete","method":"POST","pathParameters":{"object_type":{"equalTo":"vehicle"}}},"response":{"status":202,"body":"{\n \"processId\": 21,\n \"message\": \"Batch object records are being processed for deletion.\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"dc28fc32-e60d-4ec0-a256-912ae9ca2cbd","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"8729f948-4808-4d8f-b027-70b35a734218","name":"Get all the contacts - default","request":{"urlPathTemplate":"/contacts","method":"GET"},"response":{"status":200,"body":"{\n \"contacts\": [\n {\n \"attributes\": {},\n \"createdAt\": \"2017-05-01T17:05:03Z\",\n \"email\": \"contact1@example.com\",\n \"emailBlacklisted\": true,\n \"id\": 247,\n \"listIds\": [\n 43,\n 58\n ],\n \"listUnsubscribed\": [\n 1000000\n ],\n \"modifiedAt\": \"2017-05-01T17:05:03Z\",\n \"smsBlacklisted\": true\n },\n {\n \"attributes\": {},\n \"createdAt\": \"2017-05-01T17:05:03Z\",\n \"email\": \"33058407248@mailin-sms.com\",\n \"emailBlacklisted\": true,\n \"id\": 245,\n \"listIds\": [\n 43,\n 61,\n 58\n ],\n \"listUnsubscribed\": [\n 1000000\n ],\n \"modifiedAt\": \"2017-05-01T17:05:03Z\",\n \"smsBlacklisted\": false\n }\n ],\n \"count\": 3\n}","headers":{"Content-Type":"application/json"}},"uuid":"8729f948-4808-4d8f-b027-70b35a734218","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"fe3c55db-75e2-4d78-85c0-eaed9f642c83","name":"Create a contact - default","request":{"urlPathTemplate":"/contacts","method":"POST"},"response":{"status":201,"body":"{\n \"id\": 21\n}","headers":{"Content-Type":"application/json"}},"uuid":"fe3c55db-75e2-4d78-85c0-eaed9f642c83","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"dd0aa44d-f601-4c28-8481-1c0b25bb46aa","name":"List all attributes - default","request":{"urlPathTemplate":"/contacts/attributes","method":"GET"},"response":{"status":200,"body":"{\n \"attributes\": [\n {\n \"calculatedValue\": \"COUNT[ORDER_ID,ORDER_DATE,==,NOW(-1)]\",\n \"category\": \"normal\",\n \"enumeration\": [\n {\n \"label\": \"Women\",\n \"value\": 1\n }\n ],\n \"multiCategoryOptions\": [\n \"USA\"\n ],\n \"name\": \"LASTNAME\",\n \"type\": \"text\"\n },\n {\n \"calculatedValue\": \"COUNT[ORDER_ID,ORDER_DATE,==,NOW(-1)]\",\n \"category\": \"normal\",\n \"enumeration\": [\n {\n \"label\": \"Women\",\n \"value\": 1\n }\n ],\n \"multiCategoryOptions\": [\n \"USA\"\n ],\n \"name\": \"FIRSTNAME\",\n \"type\": \"text\"\n },\n {\n \"calculatedValue\": \"COUNT[ORDER_ID,ORDER_DATE,==,NOW(-1)]\",\n \"category\": \"normal\",\n \"enumeration\": [\n {\n \"label\": \"Women\",\n \"value\": 1\n }\n ],\n \"multiCategoryOptions\": [\n \"USA\"\n ],\n \"name\": \"DOB\",\n \"type\": \"date\"\n },\n {\n \"calculatedValue\": \"COUNT[ORDER_ID,ORDER_DATE,==,NOW(-1)]\",\n \"category\": \"category\",\n \"enumeration\": [\n {\n \"label\": \"Men\",\n \"value\": 1\n },\n {\n \"label\": \"Women\",\n \"value\": 2\n },\n {\n \"label\": \"Kid\",\n \"value\": 3\n }\n ],\n \"multiCategoryOptions\": [\n \"USA\"\n ],\n \"name\": \"GENDER\",\n \"type\": \"text\"\n },\n {\n \"calculatedValue\": \"COUNT[ORDER_ID,ORDER_DATE,==,NOW(-1)]\",\n \"category\": \"normal\",\n \"enumeration\": [\n {\n \"label\": \"Women\",\n \"value\": 1\n }\n ],\n \"multiCategoryOptions\": [\n \"USA\"\n ],\n \"name\": \"BDO\",\n \"type\": \"user\"\n },\n {\n \"calculatedValue\": \"COUNT[ORDER_ID,ORDER_DATE,==,NOW(-1)]\",\n \"category\": \"normal\",\n \"enumeration\": [\n {\n \"label\": \"Women\",\n \"value\": 1\n }\n ],\n \"multiCategoryOptions\": [\n \"USA\",\n \"India\",\n \"France\"\n ],\n \"name\": \"COUNTRY\",\n \"type\": \"multiple-choice\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"dd0aa44d-f601-4c28-8481-1c0b25bb46aa","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"1253fdcb-3d6c-4957-88ab-df297d7154ab","name":"Create contact attribute - default","request":{"urlPathTemplate":"/contacts/attributes/{attributeCategory}/{attributeName}","method":"POST","pathParameters":{"attributeCategory":{"equalTo":"normal"},"attributeName":{"equalTo":"attributeName"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"1253fdcb-3d6c-4957-88ab-df297d7154ab","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"f02e59a5-f5b5-400d-8697-22eace5165c5","name":"Update contact attribute - default","request":{"urlPathTemplate":"/contacts/attributes/{attributeCategory}/{attributeName}","method":"PUT","pathParameters":{"attributeCategory":{"equalTo":"category"},"attributeName":{"equalTo":"attributeName"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"f02e59a5-f5b5-400d-8697-22eace5165c5","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"eed9112c-42ea-4dba-a3c1-5bc5eea04b6a","name":"Delete an attribute - default","request":{"urlPathTemplate":"/contacts/attributes/{attributeCategory}/{attributeName}","method":"DELETE","pathParameters":{"attributeCategory":{"equalTo":"normal"},"attributeName":{"equalTo":"attributeName"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"eed9112c-42ea-4dba-a3c1-5bc5eea04b6a","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"827de4b0-dfdc-45c9-a27a-819a6acaece3","name":"Delete a multiple-choice attribute option - default","request":{"urlPathTemplate":"/contacts/attributes/{attributeType}/{multipleChoiceAttribute}/{multipleChoiceAttributeOption}","method":"DELETE","pathParameters":{"attributeType":{"equalTo":"multiple-choice"},"multipleChoiceAttribute":{"equalTo":"multipleChoiceAttribute"},"multipleChoiceAttributeOption":{"equalTo":"multipleChoiceAttributeOption"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"827de4b0-dfdc-45c9-a27a-819a6acaece3","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"6ba8cd16-ea25-49a7-8288-e0cf22a8b065","name":"Update multiple contacts - default","request":{"urlPathTemplate":"/contacts/batch","method":"POST"},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"6ba8cd16-ea25-49a7-8288-e0cf22a8b065","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"2b7fdfe7-8f83-41bd-81d2-b42f70ff4603","name":"Create Contact via DOI (Double-Opt-In) Flow - default","request":{"urlPathTemplate":"/contacts/doubleOptinConfirmation","method":"POST"},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"2b7fdfe7-8f83-41bd-81d2-b42f70ff4603","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"1a2d075b-a8de-4135-b0c9-58bcfe31c7e4","name":"Export contacts - default","request":{"urlPathTemplate":"/contacts/export","method":"POST"},"response":{"status":202,"body":"{\n \"processId\": 78\n}","headers":{"Content-Type":"application/json"}},"uuid":"1a2d075b-a8de-4135-b0c9-58bcfe31c7e4","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"c175e62d-23d7-4d5a-bc46-7093ac21de08","name":"Get all folders - default","request":{"urlPathTemplate":"/contacts/folders","method":"GET"},"response":{"status":200,"body":"{\n \"count\": 2,\n \"folders\": [\n {\n \"id\": 42,\n \"name\": \"Ninja_Form\",\n \"totalBlacklisted\": 98,\n \"totalSubscribers\": 4567,\n \"uniqueSubscribers\": 4665\n },\n {\n \"id\": 29,\n \"name\": \"Prestashop\",\n \"totalBlacklisted\": 10,\n \"totalSubscribers\": 6543,\n \"uniqueSubscribers\": 6553\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"c175e62d-23d7-4d5a-bc46-7093ac21de08","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"40d55e83-c362-440b-9ad3-3cbb47ed0eb0","name":"Create a folder - default","request":{"urlPathTemplate":"/contacts/folders","method":"POST"},"response":{"status":201,"body":"{\n \"id\": 5\n}","headers":{"Content-Type":"application/json"}},"uuid":"40d55e83-c362-440b-9ad3-3cbb47ed0eb0","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"64a96da1-15c5-426f-a455-f6ec46ff0434","name":"Returns a folder's details - default","request":{"urlPathTemplate":"/contacts/folders/{folderId}","method":"GET","pathParameters":{"folderId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"{\n \"id\": 1,\n \"name\": \"Client_Folder\",\n \"totalBlacklisted\": 987,\n \"totalSubscribers\": 16778,\n \"uniqueSubscribers\": 17765\n}","headers":{"Content-Type":"application/json"}},"uuid":"64a96da1-15c5-426f-a455-f6ec46ff0434","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"701dc90d-1130-42e1-93d3-8ef73e8f8596","name":"Update a folder - default","request":{"urlPathTemplate":"/contacts/folders/{folderId}","method":"PUT","pathParameters":{"folderId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"701dc90d-1130-42e1-93d3-8ef73e8f8596","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"a33a22a6-f7ae-41f1-9646-c37d999a9421","name":"Delete a folder (and all its lists) - default","request":{"urlPathTemplate":"/contacts/folders/{folderId}","method":"DELETE","pathParameters":{"folderId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"a33a22a6-f7ae-41f1-9646-c37d999a9421","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"1bbaf637-2edd-4ded-8338-3f42e8e93b45","name":"Get lists in a folder - default","request":{"urlPathTemplate":"/contacts/folders/{folderId}/lists","method":"GET","pathParameters":{"folderId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"{\n \"count\": 3,\n \"lists\": [\n {\n \"id\": 46,\n \"name\": \"Reactiv\",\n \"totalBlacklisted\": 0,\n \"totalSubscribers\": 7655,\n \"uniqueSubscribers\": 7655\n },\n {\n \"id\": 41,\n \"name\": \"NY_Area\",\n \"totalBlacklisted\": 23,\n \"totalSubscribers\": 3654,\n \"uniqueSubscribers\": 3677\n },\n {\n \"id\": 22,\n \"name\": \"VIP_Customer\",\n \"totalBlacklisted\": 72,\n \"totalSubscribers\": 8753,\n \"uniqueSubscribers\": 8826\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"1bbaf637-2edd-4ded-8338-3f42e8e93b45","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"c104d034-1156-452e-a1f5-90baae3a120e","name":"Import contacts - default","request":{"urlPathTemplate":"/contacts/import","method":"POST"},"response":{"status":202,"body":"{\n \"processId\": 78\n}","headers":{"Content-Type":"application/json"}},"uuid":"c104d034-1156-452e-a1f5-90baae3a120e","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"ede870d3-ebf8-4b09-851f-f8abb13c3b81","name":"Get all the lists - default","request":{"urlPathTemplate":"/contacts/lists","method":"GET"},"response":{"status":200,"body":"{\n \"count\": 2,\n \"lists\": [\n {\n \"id\": 53,\n \"name\": \"Spanish_Speakers\",\n \"totalBlacklisted\": 65,\n \"totalSubscribers\": 5432,\n \"uniqueSubscribers\": 5497,\n \"folderId\": 1\n },\n {\n \"id\": 50,\n \"name\": \"Other\",\n \"totalBlacklisted\": 765,\n \"totalSubscribers\": 10976,\n \"uniqueSubscribers\": 11741,\n \"folderId\": 2\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"ede870d3-ebf8-4b09-851f-f8abb13c3b81","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"ecaaf193-0526-47f7-a447-6866f25d6a35","name":"Create a list - default","request":{"urlPathTemplate":"/contacts/lists","method":"POST"},"response":{"status":201,"body":"{\n \"id\": 5\n}","headers":{"Content-Type":"application/json"}},"uuid":"ecaaf193-0526-47f7-a447-6866f25d6a35","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"d2bcf613-ab25-4a1d-acfc-f9189c9abdce","name":"Get a list's details - default","request":{"urlPathTemplate":"/contacts/lists/{listId}","method":"GET","pathParameters":{"listId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"{\n \"id\": 12,\n \"name\": \"Newsletter_Weekly\",\n \"totalBlacklisted\": 63,\n \"totalSubscribers\": 6533,\n \"uniqueSubscribers\": 6596,\n \"campaignStats\": [\n {\n \"campaignId\": 15,\n \"stats\": {\n \"appleMppOpens\": 10,\n \"clickers\": 789,\n \"complaints\": 0,\n \"deferred\": 0,\n \"delivered\": 6632,\n \"estimatedViews\": 560,\n \"hardBounces\": 4,\n \"listId\": 2,\n \"opensRate\": 29.54,\n \"returnBounce\": 5,\n \"sent\": 6645,\n \"softBounces\": 34,\n \"trackableViews\": 5661,\n \"trackableViewsRate\": 23.45,\n \"uniqueClicks\": 701,\n \"uniqueViews\": 3442,\n \"unsubscriptions\": 4,\n \"viewed\": 4322\n }\n },\n {\n \"campaignId\": 45,\n \"stats\": {\n \"appleMppOpens\": 10,\n \"clickers\": 788,\n \"complaints\": 1,\n \"deferred\": 0,\n \"delivered\": 4078,\n \"estimatedViews\": 560,\n \"hardBounces\": 2,\n \"listId\": 2,\n \"opensRate\": 29.54,\n \"returnBounce\": 5,\n \"sent\": 4334,\n \"softBounces\": 18,\n \"trackableViews\": 5661,\n \"trackableViewsRate\": 23.45,\n \"uniqueClicks\": 654,\n \"uniqueViews\": 987,\n \"unsubscriptions\": 4,\n \"viewed\": 1555\n }\n }\n ],\n \"createdAt\": \"2016-02-26T11:56:08Z\",\n \"dynamicList\": false,\n \"folderId\": 1\n}","headers":{"Content-Type":"application/json"}},"uuid":"d2bcf613-ab25-4a1d-acfc-f9189c9abdce","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"fd940864-d48a-47f4-8db8-5960a7657dcc","name":"Update a list - default","request":{"urlPathTemplate":"/contacts/lists/{listId}","method":"PUT","pathParameters":{"listId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"fd940864-d48a-47f4-8db8-5960a7657dcc","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"f9aace2d-f1ee-48cf-9a00-2ce8a8e876de","name":"Delete a list - default","request":{"urlPathTemplate":"/contacts/lists/{listId}","method":"DELETE","pathParameters":{"listId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"f9aace2d-f1ee-48cf-9a00-2ce8a8e876de","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"1e736496-14de-4379-b319-5857e47950dc","name":"Get contacts in a list - default","request":{"urlPathTemplate":"/contacts/lists/{listId}/contacts","method":"GET","pathParameters":{"listId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"{\n \"contacts\": [\n {\n \"attributes\": {},\n \"createdAt\": \"2017-05-12T12:30:00Z\",\n \"email\": \"alex.pain@example.com\",\n \"emailBlacklisted\": false,\n \"id\": 45,\n \"listIds\": [\n 12,\n 9,\n 20\n ],\n \"listUnsubscribed\": [\n 1,\n 2\n ],\n \"modifiedAt\": \"2017-05-12T12:30:00Z\",\n \"smsBlacklisted\": true\n },\n {\n \"attributes\": {},\n \"createdAt\": \"2017-05-12T12:30:00Z\",\n \"email\": \"john.smith@example.com\",\n \"emailBlacklisted\": true,\n \"id\": 32,\n \"listIds\": [\n 12\n ],\n \"listUnsubscribed\": [\n 1\n ],\n \"modifiedAt\": \"2017-05-12T12:30:00Z\",\n \"smsBlacklisted\": false\n },\n {\n \"attributes\": {},\n \"createdAt\": \"2017-05-12T12:30:00Z\",\n \"email\": \"helen.rose@example.com\",\n \"emailBlacklisted\": true,\n \"id\": 65,\n \"listIds\": [\n 12,\n 9,\n 20\n ],\n \"listUnsubscribed\": [\n 1\n ],\n \"modifiedAt\": \"2017-05-12T12:30:00Z\",\n \"smsBlacklisted\": false\n }\n ],\n \"count\": 17655\n}","headers":{"Content-Type":"application/json"}},"uuid":"1e736496-14de-4379-b319-5857e47950dc","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"f1dbcb2f-9c0d-4ccd-a750-28e2c2f9e6f9","name":"Add existing contacts to a list - default","request":{"urlPathTemplate":"/contacts/lists/{listId}/contacts/add","method":"POST","pathParameters":{"listId":{"equalTo":"1000000"}}},"response":{"status":201,"body":"{\n \"contacts\": {\n \"failure\": [\n \"jeff32@example.com, jim56@example.com\"\n ],\n \"processId\": 78,\n \"success\": [\n \"success\"\n ],\n \"total\": 27\n }\n}","headers":{"Content-Type":"application/json"}},"uuid":"f1dbcb2f-9c0d-4ccd-a750-28e2c2f9e6f9","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"36e0a4db-6281-4b17-bcbe-d10a330348a5","name":"Delete a contact from a list - default","request":{"urlPathTemplate":"/contacts/lists/{listId}/contacts/remove","method":"POST","pathParameters":{"listId":{"equalTo":"1000000"}}},"response":{"status":201,"body":"{\n \"contacts\": {\n \"failure\": [\n \"jeff32@example.com, jim56@example.com\"\n ],\n \"processId\": 78,\n \"success\": [\n \"success\"\n ],\n \"total\": 27\n }\n}","headers":{"Content-Type":"application/json"}},"uuid":"36e0a4db-6281-4b17-bcbe-d10a330348a5","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"dd30aa5c-59ad-4ff0-a95f-bf685d7b279e","name":"Get all the segments - default","request":{"urlPathTemplate":"/contacts/segments","method":"GET"},"response":{"status":200,"body":"{\n \"count\": 2,\n \"segments\": [\n {\n \"categoryName\": \"Name1\",\n \"id\": 53,\n \"segmentName\": \"Segment1\",\n \"updatedAt\": \"2017-03-12T12:30:00Z\"\n },\n {\n \"categoryName\": \"Name2\",\n \"id\": 50,\n \"segmentName\": \"Segment2\",\n \"updatedAt\": \"2017-03-12T12:30:00Z\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"dd30aa5c-59ad-4ff0-a95f-bf685d7b279e","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"5a0e7075-a413-4c22-a2bf-aa2f8e383d6d","name":"Get a contact's details - default","request":{"urlPathTemplate":"/contacts/{identifier}","method":"GET","pathParameters":{"identifier":{"equalTo":"identifier"}}},"response":{"status":200,"body":"{\n \"attributes\": {},\n \"createdAt\": \"2017-05-02T16:40:31Z\",\n \"email\": \"peggy.rain@example.com\",\n \"emailBlacklisted\": false,\n \"id\": 42,\n \"listIds\": [\n 40\n ],\n \"listUnsubscribed\": [\n 1000000\n ],\n \"modifiedAt\": \"2017-05-02T16:40:31Z\",\n \"smsBlacklisted\": false,\n \"statistics\": {\n \"clicked\": [\n {\n \"campaignId\": 21,\n \"links\": [\n {\n \"count\": 2,\n \"eventTime\": \"2016-05-03T21:25:01Z\",\n \"ip\": \"66.249.93.118\",\n \"url\": \"https://url.domain.com/fbe5387ec717e333628380454f68670010b205ff/1/go?uid={EMAIL}&utm_source=brevo&utm_campaign=test_camp&utm_medium=email\"\n }\n ]\n }\n ],\n \"complaints\": [\n {\n \"campaignId\": 3,\n \"eventTime\": \"2017-03-12T20:15:13Z\"\n }\n ],\n \"delivered\": [\n {\n \"campaignId\": 21,\n \"eventTime\": \"2016-05-03T21:24:56Z\"\n }\n ],\n \"hardBounces\": [\n {\n \"campaignId\": 3,\n \"eventTime\": \"2017-03-12T20:15:13Z\"\n }\n ],\n \"messagesSent\": [\n {\n \"campaignId\": 21,\n \"eventTime\": \"2016-05-03T20:15:13Z\"\n },\n {\n \"campaignId\": 42,\n \"eventTime\": \"2016-10-17T10:30:01Z\"\n }\n ],\n \"opened\": [\n {\n \"campaignId\": 21,\n \"count\": 2,\n \"eventTime\": \"2016-05-03T21:24:56Z\",\n \"ip\": \"66.249.93.118\"\n },\n {\n \"campaignId\": 68,\n \"count\": 1,\n \"eventTime\": \"2017-01-30T13:56:40Z\",\n \"ip\": \"66.249.93.217\"\n }\n ],\n \"softBounces\": [\n {\n \"campaignId\": 3,\n \"eventTime\": \"2017-03-12T20:15:13Z\"\n }\n ],\n \"transacAttributes\": [\n {}\n ],\n \"unsubscriptions\": {\n \"adminUnsubscription\": [\n {\n \"eventTime\": \"2017-03-12T20:15:13Z\",\n \"ip\": \"165.87.3.15\"\n }\n ],\n \"userUnsubscription\": [\n {\n \"campaignId\": 3,\n \"eventTime\": \"2017-03-12T20:15:13Z\",\n \"ip\": \"165.87.3.15\"\n }\n ]\n }\n }\n}","headers":{"Content-Type":"application/json"}},"uuid":"5a0e7075-a413-4c22-a2bf-aa2f8e383d6d","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"75a6a0e6-ae00-42cb-82ae-0bbe1f8bd2d1","name":"Update a contact - default","request":{"urlPathTemplate":"/contacts/{identifier}","method":"PUT","pathParameters":{"identifier":{"equalTo":"identifier"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"75a6a0e6-ae00-42cb-82ae-0bbe1f8bd2d1","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"fb8d40ed-00fd-4acc-88a7-32580773691f","name":"Delete a contact - default","request":{"urlPathTemplate":"/contacts/{identifier}","method":"DELETE","pathParameters":{"identifier":{"equalTo":"identifier"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"fb8d40ed-00fd-4acc-88a7-32580773691f","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"9797e88c-e80c-4130-9605-8986d5de0403","name":"Get email campaigns' statistics for a contact - default","request":{"urlPathTemplate":"/contacts/{identifier}/campaignStats","method":"GET","pathParameters":{"identifier":{"equalTo":"identifier"}}},"response":{"status":200,"body":"{\n \"clicked\": [\n {\n \"campaignId\": 21,\n \"links\": [\n {\n \"count\": 2,\n \"eventTime\": \"2016-05-03T21:25:01Z\",\n \"ip\": \"66.249.93.118\",\n \"url\": \"https://url.domain.com/fbe5387ec717e333628380454f68670010b205ff/1/go?uid={EMAIL}&utm_source=brevo&utm_campaign=test_camp&utm_medium=email\"\n }\n ]\n }\n ],\n \"complaints\": [\n {\n \"campaignId\": 3,\n \"eventTime\": \"2017-03-12T20:15:13Z\"\n }\n ],\n \"delivered\": [\n {\n \"campaignId\": 21,\n \"eventTime\": \"2016-05-03T21:24:56Z\"\n }\n ],\n \"hardBounces\": [\n {\n \"campaignId\": 3,\n \"eventTime\": \"2017-03-12T20:15:13Z\"\n }\n ],\n \"messagesSent\": [\n {\n \"campaignId\": 21,\n \"eventTime\": \"2016-05-03T20:15:13Z\"\n },\n {\n \"campaignId\": 42,\n \"eventTime\": \"2016-10-17T10:30:01Z\"\n },\n {\n \"campaignId\": 45,\n \"eventTime\": \"2016-11-09T11:45:02Z\"\n }\n ],\n \"opened\": [\n {\n \"campaignId\": 21,\n \"count\": 2,\n \"eventTime\": \"2016-05-03T21:24:56Z\",\n \"ip\": \"66.249.93.118\"\n },\n {\n \"campaignId\": 45,\n \"count\": 1,\n \"eventTime\": \"2017-01-30T13:56:40Z\",\n \"ip\": \"66.249.93.217\"\n }\n ],\n \"softBounces\": [\n {\n \"campaignId\": 3,\n \"eventTime\": \"2017-03-12T20:15:13Z\"\n }\n ],\n \"transacAttributes\": [\n {\n \"orderDate\": \"2017-03-12\",\n \"orderId\": 248,\n \"orderPrice\": 24.99\n }\n ],\n \"unsubscriptions\": {\n \"adminUnsubscription\": [\n {\n \"eventTime\": \"2017-03-12T20:15:13Z\",\n \"ip\": \"165.87.3.15\"\n }\n ],\n \"userUnsubscription\": [\n {\n \"campaignId\": 3,\n \"eventTime\": \"2017-03-12T20:15:13Z\",\n \"ip\": \"165.87.3.15\"\n }\n ]\n }\n}","headers":{"Content-Type":"application/json"}},"uuid":"9797e88c-e80c-4130-9605-8986d5de0403","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"989a2ce4-8788-48cc-963d-3d86cc2b2dd2","name":"Sets agent’s status to online for 2-3 minutes - default","request":{"urlPathTemplate":"/conversations/agentOnlinePing","method":"POST"},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"989a2ce4-8788-48cc-963d-3d86cc2b2dd2","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"0b2458f6-3c0f-4f03-9f63-8051466d793b","name":"Send a message as an agent - default","request":{"urlPathTemplate":"/conversations/messages","method":"POST"},"response":{"status":200,"body":"{\n \"agentId\": \"d9nKoegKSjmCtyK78\",\n \"agentName\": \"Liz\",\n \"agentUserpic\": \"https://www.brevo.com/\",\n \"attachments\": [\n {\n \"fileName\": \"fileName\",\n \"inlineId\": \"inlineId\",\n \"isImage\": true,\n \"isInline\": \"isInline\",\n \"size\": 1000000,\n \"url\": \"url\"\n }\n ],\n \"bcc\": [\n {\n \"email\": \"email\",\n \"name\": \"name\"\n }\n ],\n \"cc\": [\n {\n \"email\": \"email\",\n \"name\": \"name\"\n }\n ],\n \"createdAt\": 1482512803740,\n \"file\": {\n \"filename\": \"conversations.png\",\n \"imageInfo\": {\n \"height\": 525,\n \"previewUrl\": \"https://ucarecdn.com/03cd56cd-1de9-4f65-996d-08afdf27fa1b/-/preview/800x800/-/quality/lighter/\",\n \"width\": 1129\n },\n \"isImage\": true,\n \"size\": 15538,\n \"url\": \"https://ucarecdn.com/cee5c10c-8302-45c1-b1fb-43860ca941a9/\"\n },\n \"forwardedToSourceStatus\": {\n \"error\": \"error\",\n \"isSuccess\": true\n },\n \"from\": {\n \"email\": \"email\",\n \"name\": \"name\"\n },\n \"html\": \"Hello! How can I help you?\",\n \"id\": \"eYBEm3gq3zc5ayE2g\",\n \"integrations\": {\n \"key\": \"value\"\n },\n \"isBot\": true,\n \"isMissed\": false,\n \"isMissedByVisitor\": false,\n \"isPushed\": false,\n \"isTrigger\": false,\n \"rawUnsafeHtml\": \"Good morning!
How can I help you?\",\n \"receivedFrom\": \"SuperAwesomeHelpdesk\",\n \"replyTo\": {\n \"email\": \"email\",\n \"name\": \"name\"\n },\n \"sourceMessageId\": \"sourceMessageId\",\n \"subject\": \"Invitation to a meeting\",\n \"text\": \"Hello! How can I help you?\",\n \"to\": [\n {\n \"email\": \"email\",\n \"name\": \"name\"\n }\n ],\n \"type\": \"agent\",\n \"visitorId\": \"kZMvWhf8npAu3H6qd57w2Hv6nh6rnxvg\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"0b2458f6-3c0f-4f03-9f63-8051466d793b","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"73c7e27f-534f-4bff-ae89-6508af694971","name":"Get a message - default","request":{"urlPathTemplate":"/conversations/messages/{id}","method":"GET","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"{\n \"agentId\": \"d9nKoegKSjmCtyK78\",\n \"agentName\": \"Liz\",\n \"agentUserpic\": \"https://www.brevo.com/\",\n \"attachments\": [\n {\n \"fileName\": \"fileName\",\n \"inlineId\": \"inlineId\",\n \"isImage\": true,\n \"isInline\": \"isInline\",\n \"size\": 1000000,\n \"url\": \"url\"\n }\n ],\n \"bcc\": [\n {\n \"email\": \"email\",\n \"name\": \"name\"\n }\n ],\n \"cc\": [\n {\n \"email\": \"email\",\n \"name\": \"name\"\n }\n ],\n \"createdAt\": 1482512803740,\n \"file\": {\n \"filename\": \"conversations.png\",\n \"imageInfo\": {\n \"height\": 525,\n \"previewUrl\": \"https://ucarecdn.com/03cd56cd-1de9-4f65-996d-08afdf27fa1b/-/preview/800x800/-/quality/lighter/\",\n \"width\": 1129\n },\n \"isImage\": true,\n \"size\": 15538,\n \"url\": \"https://ucarecdn.com/cee5c10c-8302-45c1-b1fb-43860ca941a9/\"\n },\n \"forwardedToSourceStatus\": {\n \"error\": \"error\",\n \"isSuccess\": true\n },\n \"from\": {\n \"email\": \"email\",\n \"name\": \"name\"\n },\n \"html\": \"Hello! How can I help you?\",\n \"id\": \"eYBEm3gq3zc5ayE2g\",\n \"integrations\": {\n \"key\": \"value\"\n },\n \"isBot\": true,\n \"isMissed\": false,\n \"isMissedByVisitor\": false,\n \"isPushed\": false,\n \"isTrigger\": false,\n \"rawUnsafeHtml\": \"Good morning!
How can I help you?\",\n \"receivedFrom\": \"SuperAwesomeHelpdesk\",\n \"replyTo\": {\n \"email\": \"email\",\n \"name\": \"name\"\n },\n \"sourceMessageId\": \"sourceMessageId\",\n \"subject\": \"Invitation to a meeting\",\n \"text\": \"Hello! How can I help you?\",\n \"to\": [\n {\n \"email\": \"email\",\n \"name\": \"name\"\n }\n ],\n \"type\": \"agent\",\n \"visitorId\": \"kZMvWhf8npAu3H6qd57w2Hv6nh6rnxvg\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"73c7e27f-534f-4bff-ae89-6508af694971","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"92155bd1-c19b-4aad-99c9-8a69133fc185","name":"Update a message sent by an agent - default","request":{"urlPathTemplate":"/conversations/messages/{id}","method":"PUT","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"{\n \"agentId\": \"d9nKoegKSjmCtyK78\",\n \"agentName\": \"Liz\",\n \"agentUserpic\": \"https://www.brevo.com/\",\n \"attachments\": [\n {\n \"fileName\": \"fileName\",\n \"inlineId\": \"inlineId\",\n \"isImage\": true,\n \"isInline\": \"isInline\",\n \"size\": 1000000,\n \"url\": \"url\"\n }\n ],\n \"bcc\": [\n {\n \"email\": \"email\",\n \"name\": \"name\"\n }\n ],\n \"cc\": [\n {\n \"email\": \"email\",\n \"name\": \"name\"\n }\n ],\n \"createdAt\": 1482512803740,\n \"file\": {\n \"filename\": \"conversations.png\",\n \"imageInfo\": {\n \"height\": 525,\n \"previewUrl\": \"https://ucarecdn.com/03cd56cd-1de9-4f65-996d-08afdf27fa1b/-/preview/800x800/-/quality/lighter/\",\n \"width\": 1129\n },\n \"isImage\": true,\n \"size\": 15538,\n \"url\": \"https://ucarecdn.com/cee5c10c-8302-45c1-b1fb-43860ca941a9/\"\n },\n \"forwardedToSourceStatus\": {\n \"error\": \"error\",\n \"isSuccess\": true\n },\n \"from\": {\n \"email\": \"email\",\n \"name\": \"name\"\n },\n \"html\": \"Hello! How can I help you?\",\n \"id\": \"eYBEm3gq3zc5ayE2g\",\n \"integrations\": {\n \"key\": \"value\"\n },\n \"isBot\": true,\n \"isMissed\": false,\n \"isMissedByVisitor\": false,\n \"isPushed\": false,\n \"isTrigger\": false,\n \"rawUnsafeHtml\": \"Good morning!
How can I help you?\",\n \"receivedFrom\": \"SuperAwesomeHelpdesk\",\n \"replyTo\": {\n \"email\": \"email\",\n \"name\": \"name\"\n },\n \"sourceMessageId\": \"sourceMessageId\",\n \"subject\": \"Invitation to a meeting\",\n \"text\": \"Hello! How can I help you?\",\n \"to\": [\n {\n \"email\": \"email\",\n \"name\": \"name\"\n }\n ],\n \"type\": \"agent\",\n \"visitorId\": \"kZMvWhf8npAu3H6qd57w2Hv6nh6rnxvg\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"92155bd1-c19b-4aad-99c9-8a69133fc185","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"55448424-484f-42a8-b091-f8c24234f898","name":"Delete a message sent by an agent - default","request":{"urlPathTemplate":"/conversations/messages/{id}","method":"DELETE","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"55448424-484f-42a8-b091-f8c24234f898","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"7da39f40-5660-4486-b572-835f3f204973","name":"Send an automated message to a visitor - default","request":{"urlPathTemplate":"/conversations/pushedMessages","method":"POST"},"response":{"status":200,"body":"{\n \"agentId\": \"d9nKoegKSjmCtyK78\",\n \"agentName\": \"Liz\",\n \"agentUserpic\": \"https://www.brevo.com/\",\n \"attachments\": [\n {\n \"fileName\": \"fileName\",\n \"inlineId\": \"inlineId\",\n \"isImage\": true,\n \"isInline\": \"isInline\",\n \"size\": 1000000,\n \"url\": \"url\"\n }\n ],\n \"bcc\": [\n {\n \"email\": \"email\",\n \"name\": \"name\"\n }\n ],\n \"cc\": [\n {\n \"email\": \"email\",\n \"name\": \"name\"\n }\n ],\n \"createdAt\": 1470222622433,\n \"file\": {\n \"filename\": \"conversations.png\",\n \"imageInfo\": {\n \"height\": 525,\n \"previewUrl\": \"https://ucarecdn.com/03cd56cd-1de9-4f65-996d-08afdf27fa1b/-/preview/800x800/-/quality/lighter/\",\n \"width\": 1129\n },\n \"isImage\": true,\n \"size\": 15538,\n \"url\": \"https://ucarecdn.com/cee5c10c-8302-45c1-b1fb-43860ca941a9/\"\n },\n \"forwardedToSourceStatus\": {\n \"error\": \"error\",\n \"isSuccess\": true\n },\n \"from\": {\n \"email\": \"email\",\n \"name\": \"name\"\n },\n \"html\": \"Your order has shipped! Here’s your tracking number: 9114 5847 3325 9667 4328 88\",\n \"id\": \"AXCR3k9bpSY7bpuh7\",\n \"integrations\": {\n \"key\": \"value\"\n },\n \"isBot\": true,\n \"isMissed\": false,\n \"isMissedByVisitor\": false,\n \"isPushed\": true,\n \"isTrigger\": false,\n \"rawUnsafeHtml\": \"Good morning!
How can I help you?\",\n \"receivedFrom\": \"SuperAwesomeHelpdesk\",\n \"replyTo\": {\n \"email\": \"email\",\n \"name\": \"name\"\n },\n \"sourceMessageId\": \"sourceMessageId\",\n \"subject\": \"Invitation to a meeting\",\n \"text\": \"Your order has shipped! Here’s your tracking number: 9114 5847 3325 9667 4328 88\",\n \"to\": [\n {\n \"email\": \"email\",\n \"name\": \"name\"\n }\n ],\n \"type\": \"agent\",\n \"visitorId\": \"kZMvWhf8npAu3H6qd57w2Hv6nh6rnxvg\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"7da39f40-5660-4486-b572-835f3f204973","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"12a96082-f3dc-4674-b4a6-a2fc4b6aea92","name":"Get an automated message - default","request":{"urlPathTemplate":"/conversations/pushedMessages/{id}","method":"GET","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"{\n \"agentId\": \"d9nKoegKSjmCtyK78\",\n \"agentName\": \"Liz\",\n \"agentUserpic\": \"https://www.brevo.com/\",\n \"attachments\": [\n {\n \"fileName\": \"fileName\",\n \"inlineId\": \"inlineId\",\n \"isImage\": true,\n \"isInline\": \"isInline\",\n \"size\": 1000000,\n \"url\": \"url\"\n }\n ],\n \"bcc\": [\n {\n \"email\": \"email\",\n \"name\": \"name\"\n }\n ],\n \"cc\": [\n {\n \"email\": \"email\",\n \"name\": \"name\"\n }\n ],\n \"createdAt\": 1470222622433,\n \"file\": {\n \"filename\": \"conversations.png\",\n \"imageInfo\": {\n \"height\": 525,\n \"previewUrl\": \"https://ucarecdn.com/03cd56cd-1de9-4f65-996d-08afdf27fa1b/-/preview/800x800/-/quality/lighter/\",\n \"width\": 1129\n },\n \"isImage\": true,\n \"size\": 15538,\n \"url\": \"https://ucarecdn.com/cee5c10c-8302-45c1-b1fb-43860ca941a9/\"\n },\n \"forwardedToSourceStatus\": {\n \"error\": \"error\",\n \"isSuccess\": true\n },\n \"from\": {\n \"email\": \"email\",\n \"name\": \"name\"\n },\n \"html\": \"Your order has shipped! Here’s your tracking number: 9114 5847 3325 9667 4328 88\",\n \"id\": \"AXCR3k9bpSY7bpuh7\",\n \"integrations\": {\n \"key\": \"value\"\n },\n \"isBot\": true,\n \"isMissed\": false,\n \"isMissedByVisitor\": false,\n \"isPushed\": true,\n \"isTrigger\": false,\n \"rawUnsafeHtml\": \"Good morning!
How can I help you?\",\n \"receivedFrom\": \"SuperAwesomeHelpdesk\",\n \"replyTo\": {\n \"email\": \"email\",\n \"name\": \"name\"\n },\n \"sourceMessageId\": \"sourceMessageId\",\n \"subject\": \"Invitation to a meeting\",\n \"text\": \"Your order has shipped! Here’s your tracking number: 9114 5847 3325 9667 4328 88\",\n \"to\": [\n {\n \"email\": \"email\",\n \"name\": \"name\"\n }\n ],\n \"type\": \"agent\",\n \"visitorId\": \"kZMvWhf8npAu3H6qd57w2Hv6nh6rnxvg\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"12a96082-f3dc-4674-b4a6-a2fc4b6aea92","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"88f6c974-0fa5-4c85-bd4a-2c306144fb5a","name":"Update an automated message - default","request":{"urlPathTemplate":"/conversations/pushedMessages/{id}","method":"PUT","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"{\n \"agentId\": \"d9nKoegKSjmCtyK78\",\n \"agentName\": \"Liz\",\n \"agentUserpic\": \"https://www.brevo.com/\",\n \"attachments\": [\n {\n \"fileName\": \"fileName\",\n \"inlineId\": \"inlineId\",\n \"isImage\": true,\n \"isInline\": \"isInline\",\n \"size\": 1000000,\n \"url\": \"url\"\n }\n ],\n \"bcc\": [\n {\n \"email\": \"email\",\n \"name\": \"name\"\n }\n ],\n \"cc\": [\n {\n \"email\": \"email\",\n \"name\": \"name\"\n }\n ],\n \"createdAt\": 1470222622433,\n \"file\": {\n \"filename\": \"conversations.png\",\n \"imageInfo\": {\n \"height\": 525,\n \"previewUrl\": \"https://ucarecdn.com/03cd56cd-1de9-4f65-996d-08afdf27fa1b/-/preview/800x800/-/quality/lighter/\",\n \"width\": 1129\n },\n \"isImage\": true,\n \"size\": 15538,\n \"url\": \"https://ucarecdn.com/cee5c10c-8302-45c1-b1fb-43860ca941a9/\"\n },\n \"forwardedToSourceStatus\": {\n \"error\": \"error\",\n \"isSuccess\": true\n },\n \"from\": {\n \"email\": \"email\",\n \"name\": \"name\"\n },\n \"html\": \"Your order has shipped! Here’s your tracking number: 9114 5847 4668 7775 9233 54\",\n \"id\": \"AXCR3k9bpSY7bpuh7\",\n \"integrations\": {\n \"key\": \"value\"\n },\n \"isBot\": true,\n \"isMissed\": false,\n \"isMissedByVisitor\": false,\n \"isPushed\": true,\n \"isTrigger\": false,\n \"rawUnsafeHtml\": \"Good morning!
How can I help you?\",\n \"receivedFrom\": \"SuperAwesomeHelpdesk\",\n \"replyTo\": {\n \"email\": \"email\",\n \"name\": \"name\"\n },\n \"sourceMessageId\": \"sourceMessageId\",\n \"subject\": \"Invitation to a meeting\",\n \"text\": \"Your order has shipped! Here’s your tracking number: 9114 5847 4668 7775 9233 54\",\n \"to\": [\n {\n \"email\": \"email\",\n \"name\": \"name\"\n }\n ],\n \"type\": \"agent\",\n \"visitorId\": \"kZMvWhf8npAu3H6qd57w2Hv6nh6rnxvg\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"88f6c974-0fa5-4c85-bd4a-2c306144fb5a","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"a43cca1b-0cb5-4197-ad31-8ce0e455a7fe","name":"Delete an automated message - default","request":{"urlPathTemplate":"/conversations/pushedMessages/{id}","method":"DELETE","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"a43cca1b-0cb5-4197-ad31-8ce0e455a7fe","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"27ddcd9f-5f2e-408f-a518-a4e395c047ee","name":"Set visitor group assignment - default","request":{"urlPathTemplate":"/conversations/visitorGroup","method":"PUT"},"response":{"status":200,"body":"{\n \"groupId\": \"PjRBMhWGen6aRHjif\",\n \"visitorId\": \"AXCR3k9bpSY7bpuh7\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"27ddcd9f-5f2e-408f-a518-a4e395c047ee","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"6e38c169-881b-465d-ae5b-201dfe4364a5","name":"Return all your categories - default","request":{"urlPathTemplate":"/categories","method":"GET"},"response":{"status":200,"body":"{\n \"categories\": [\n {\n \"createdAt\": \"2021-12-31T11:42:35.638Z\",\n \"id\": \"C19\",\n \"isDeleted\": true,\n \"modifiedAt\": \"2022-03-03T14:48:31.867Z\",\n \"name\": \"Food\",\n \"url\": \"http://mydomain.com/category/food\"\n },\n {\n \"createdAt\": \"2021-12-31T11:42:35.638Z\",\n \"id\": \"C20\",\n \"isDeleted\": true,\n \"modifiedAt\": \"2022-03-03T14:48:31.867Z\",\n \"name\": \"clothing\",\n \"url\": \"http://mydomain.com/category/clothing\"\n }\n ],\n \"count\": 2\n}","headers":{"Content-Type":"application/json"}},"uuid":"6e38c169-881b-465d-ae5b-201dfe4364a5","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"c1c0c1db-676d-40e5-954f-ce7abd8fa780","name":"Create/Update a category - default","request":{"urlPathTemplate":"/categories","method":"POST"},"response":{"status":201,"body":"{\n \"id\": 21\n}","headers":{"Content-Type":"application/json"}},"uuid":"c1c0c1db-676d-40e5-954f-ce7abd8fa780","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"3355346d-e446-4635-9316-d9de9c0c8459","name":"Create categories in batch - default","request":{"urlPathTemplate":"/categories/batch","method":"POST"},"response":{"status":201,"body":"{\n \"createdCount\": 2,\n \"updatedCount\": 7\n}","headers":{"Content-Type":"application/json"}},"uuid":"3355346d-e446-4635-9316-d9de9c0c8459","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"e9a3bc64-c4fb-42bc-a44c-51ff0565f57d","name":"Get a category details - default","request":{"urlPathTemplate":"/categories/{id}","method":"GET","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"{\n \"createdAt\": \"2017-05-12T12:30:00Z\",\n \"id\": \"C11\",\n \"isDeleted\": true,\n \"modifiedAt\": \"2017-05-12T12:30:00Z\",\n \"name\": \"Electronics\",\n \"url\": \"http://mydomain.com/category/clothing\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"e9a3bc64-c4fb-42bc-a44c-51ff0565f57d","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"4aa9f4f1-3b05-446e-a5c8-175ce020f7dd","name":"Activate the eCommerce app - default","request":{"urlPathTemplate":"/ecommerce/activate","method":"POST"},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"4aa9f4f1-3b05-446e-a5c8-175ce020f7dd","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"ef76fef3-dd84-4cf8-9fa5-ff136eea6618","name":"Get attribution metrics for one or more Brevo campaigns or workflows - default","request":{"urlPathTemplate":"/ecommerce/attribution/metrics","method":"GET","queryParameters":{"periodFrom":{"equalTo":"2022-01-02T00:00:00Z"},"periodTo":{"equalTo":"2022-01-03T00:00:00Z"}}},"response":{"status":200,"body":"{\n \"results\": [\n {\n \"averageBasket\": 3,\n \"conversionSource\": \"email_campaign\",\n \"id\": 1.1,\n \"ordersCount\": 300,\n \"revenue\": 900\n },\n {\n \"averageBasket\": 4,\n \"conversionSource\": \"email_campaign\",\n \"id\": 1.1,\n \"ordersCount\": 200,\n \"revenue\": 800\n }\n ],\n \"totals\": {\n \"averageBasket\": 3.4,\n \"ordersCount\": 500,\n \"revenue\": 1700\n }\n}","headers":{"Content-Type":"application/json"}},"uuid":"ef76fef3-dd84-4cf8-9fa5-ff136eea6618","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"a673ac7e-f9a7-4c21-bd80-b49ff3c73efc","name":"Get detailed attribution metrics for a single Brevo campaign or workflow - default","request":{"urlPathTemplate":"/ecommerce/attribution/metrics/{conversionSource}/{conversionSourceId}","method":"GET","pathParameters":{"conversionSource":{"equalTo":"email_campaign"},"conversionSourceId":{"equalTo":"sale"}}},"response":{"status":200,"body":"{\n \"averageBasket\": 1.1,\n \"conversionSource\": \"email_campaign\",\n \"id\": 1.1,\n \"ordersCount\": 1.1,\n \"revenue\": 1.1,\n \"newCustomersCount\": 1.1\n}","headers":{"Content-Type":"application/json"}},"uuid":"a673ac7e-f9a7-4c21-bd80-b49ff3c73efc","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"d80e42ab-4376-47f6-9971-baead08cd9ec","name":"Get attributed product sales for a single Brevo campaign or workflow - default","request":{"urlPathTemplate":"/ecommerce/attribution/products/{conversionSource}/{conversionSourceId}","method":"GET","pathParameters":{"conversionSource":{"equalTo":"email_campaign"},"conversionSourceId":{"equalTo":"sale"}}},"response":{"status":200,"body":"{\n \"products\": [\n {\n \"id\": \"1\",\n \"imageUrl\": \"http://mydomain.com/product-absoulte-url/img.jpeg\",\n \"name\": \"Milky Way Galaxy\",\n \"ordersCount\": 200,\n \"price\": 1000,\n \"revenue\": 999.99,\n \"sku\": \"sku-1\",\n \"url\": \"https://mydomain.com/products/alpina-panoma-classic\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"d80e42ab-4376-47f6-9971-baead08cd9ec","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"ab816e77-ae78-42da-b0ac-c9e2a426dd38","name":"Get the ISO 4217 compliant display currency code for your Brevo account - default","request":{"urlPathTemplate":"/ecommerce/config/displayCurrency","method":"GET"},"response":{"status":200,"body":"{\n \"code\": \"EUR\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"ab816e77-ae78-42da-b0ac-c9e2a426dd38","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"c8c71b7b-bc9d-4d4f-83d0-1d4a57463596","name":"Set the ISO 4217 compliant display currency code for your Brevo account - default","request":{"urlPathTemplate":"/ecommerce/config/displayCurrency","method":"POST"},"response":{"status":200,"body":"{\n \"code\": \"EUR\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"c8c71b7b-bc9d-4d4f-83d0-1d4a57463596","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"a36a1140-3b78-405a-bb99-4be25b0e6f61","name":"Get order details - default","request":{"urlPathTemplate":"/orders","method":"GET"},"response":{"status":200,"body":"{\n \"count\": 1,\n \"orders\": [\n {\n \"amount\": 2000,\n \"billing\": {\n \"address\": \"Sec 62, Noida\",\n \"city\": \"Noida\",\n \"country\": \"India\",\n \"countryCode\": \"IN\",\n \"paymentMethod\": \"Net banking\",\n \"phone\": 9238283982,\n \"postCode\": 110001,\n \"region\": \"North India\"\n },\n \"contact_id\": 2,\n \"coupons\": [\n \"flat50\",\n \"flat40\"\n ],\n \"createdAt\": \"2021-12-31T11:42:35.638Z\",\n \"email\": \"testvisitor@sendinblue.com\",\n \"id\": \"order1803\",\n \"identifiers\": {\n \"ext_id\": \"ab12\",\n \"loyalty_subscription_id\": \"1234\"\n },\n \"products\": [\n {\n \"price\": 100,\n \"productId\": 21,\n \"quantity\": 2,\n \"quantityFloat\": 0,\n \"variantId\": \"P100\"\n },\n {\n \"price\": 100,\n \"productId\": 21,\n \"quantity\": 0,\n \"quantityFloat\": 2.52,\n \"variantId\": \"P15756\"\n }\n ],\n \"status\": \"complete\",\n \"storeId\": \"123\",\n \"updatedAt\": \"2022-03-03T14:48:31.867Z\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"a36a1140-3b78-405a-bb99-4be25b0e6f61","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"7063107e-0ad5-4bbd-97ec-def7bdb05465","name":"Managing the status of the order - default","request":{"urlPathTemplate":"/orders/status","method":"POST"},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"7063107e-0ad5-4bbd-97ec-def7bdb05465","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"1d3a52e5-1eb4-4b21-9a58-9136f4d6cdda","name":"Create orders in batch - default","request":{"urlPathTemplate":"/orders/status/batch","method":"POST"},"response":{"status":202,"body":"{\n \"batchId\": 1.1,\n \"count\": 17655\n}","headers":{"Content-Type":"application/json"}},"uuid":"1d3a52e5-1eb4-4b21-9a58-9136f4d6cdda","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"fd7eae8c-354e-4a43-8cea-0aa947291dea","name":"Return all your products - default","request":{"urlPathTemplate":"/products","method":"GET"},"response":{"status":200,"body":"{\n \"count\": 2,\n \"products\": [\n {\n \"brand\": \"Adidas\",\n \"categories\": [\n \"279638835374\",\n \"279502848174\"\n ],\n \"createdAt\": \"2022-06-30T10:29:16.078Z\",\n \"description\": \"Shoes for sports\",\n \"id\": \"P11\",\n \"imageUrl\": \"http://mydomain.com/product-absoulte-url/img.jpeg\",\n \"isDeleted\": true,\n \"metaInfo\": {\n \"brand\": \"addidas\",\n \"description\": \"Shoes for sports\"\n },\n \"modifiedAt\": \"2022-06-30T10:29:16.078Z\",\n \"name\": \"Alpina Panoma Classic\",\n \"parentId\": \"parentId\",\n \"price\": 49.95,\n \"s3Original\": \"https://img-ecom.mailinblue.com/path-to-original/img.jpg\",\n \"s3ThumbAnalytics\": \"https://img-ecom.mailinblue.com/path-to-analytics/img.jpg\",\n \"s3ThumbEditor\": \"https://img-ecom.mailinblue.com/path-to-editor/img.jpg\",\n \"sku\": \"186622-9\",\n \"stock\": 100,\n \"url\": \"https://mydomain.com/products/alpina-panoma-classic\"\n },\n {\n \"brand\": \"Adidas\",\n \"categories\": [\n \"2d79638835374\",\n \"27d9502848174\"\n ],\n \"createdAt\": \"2022-06-30T10:29:16.078Z\",\n \"description\": \"Shoes for sports\",\n \"id\": \"P11\",\n \"imageUrl\": \"http://mydomain.com/product-absoulte-url/img.jpeg\",\n \"isDeleted\": true,\n \"metaInfo\": {\n \"brand\": \"addidas\",\n \"description\": \"Shoes for sports\"\n },\n \"modifiedAt\": \"2022-06-30T10:29:16.078Z\",\n \"name\": \"Alpina Panoma Classic2\",\n \"parentId\": \"parentId\",\n \"price\": 49.95,\n \"s3Original\": \"https://img-ecom.mailinblue.com/path-to-original/img.jpg\",\n \"s3ThumbAnalytics\": \"https://img-ecom.mailinblue.com/path-to-analytics/img.jpg\",\n \"s3ThumbEditor\": \"https://img-ecom.mailinblue.com/path-to-editor/img.jpg\",\n \"sku\": \"186622-9\",\n \"stock\": 350,\n \"url\": \"https://mydomain.com/products/alpina-panoma-classic2\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"fd7eae8c-354e-4a43-8cea-0aa947291dea","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"8a42981c-cdd8-404e-bdb0-edaac19b7e0c","name":"Create/Update a product - default","request":{"urlPathTemplate":"/products","method":"POST"},"response":{"status":201,"body":"{\n \"id\": 21\n}","headers":{"Content-Type":"application/json"}},"uuid":"8a42981c-cdd8-404e-bdb0-edaac19b7e0c","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"5f2f0859-18a7-463c-bee7-4afb4ba092b0","name":"Create products in batch - default","request":{"urlPathTemplate":"/products/batch","method":"POST"},"response":{"status":201,"body":"{\n \"createdCount\": 2,\n \"updatedCount\": 7\n}","headers":{"Content-Type":"application/json"}},"uuid":"5f2f0859-18a7-463c-bee7-4afb4ba092b0","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"dcc8be20-9ebc-41b7-a9e0-2e9b9004756a","name":"Get a product's details - default","request":{"urlPathTemplate":"/products/{id}","method":"GET","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"{\n \"brand\": \"Adidas\",\n \"categories\": [\n \"categories\"\n ],\n \"createdAt\": \"2017-05-12T12:30:00Z\",\n \"description\": \"Shoes for sports\",\n \"id\": \"P11\",\n \"imageUrl\": \"http://mydomain.com/product-absoulte-url/img.jpeg\",\n \"isDeleted\": true,\n \"metaInfo\": {\n \"brand\": \"addidas\",\n \"description\": \"Shoes for sports\"\n },\n \"modifiedAt\": \"2017-05-12T12:30:00Z\",\n \"name\": \"Iphone 11\",\n \"parentId\": \"parentId\",\n \"price\": 1.1,\n \"s3Original\": \"s3Original\",\n \"s3ThumbAnalytics\": \"s3ThumbAnalytics\",\n \"s3ThumbEditor\": \"s3ThumbEditor\",\n \"sku\": \"sku\",\n \"stock\": 100,\n \"url\": \"http://mydomain.com/product/electronics/product1\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"dcc8be20-9ebc-41b7-a9e0-2e9b9004756a","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"e82388ef-e4d4-4ac5-874c-2f802a602bed","name":"Create a product alert for a contact - default","request":{"urlPathTemplate":"/products/{id}/alerts/{type}","method":"POST","pathParameters":{"id":{"equalTo":"id"},"type":{"equalTo":"back_in_stock"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"e82388ef-e4d4-4ac5-874c-2f802a602bed","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"1afa5f6e-118c-4482-b744-5ef2a9799cf5","name":"Get all your coupon collections - default","request":{"urlPathTemplate":"/couponCollections","method":"GET"},"response":{"status":200,"body":"{\n \"createdAt\": \"2023-01-06T05:03:47Z\",\n \"defaultCoupon\": \"10 OFF\",\n \"expirationDate\": \"2024-01-01T00:00:00Z\",\n \"id\": \"23befbae-1505-47a8-bd27-e30ef739f32c\",\n \"name\": \"SummerPromotions\",\n \"remainingCoupons\": 5000,\n \"remainingCouponsAlert\": 5,\n \"remainingDaysAlert\": 5,\n \"totalCoupons\": 10000\n}","headers":{"Content-Type":"application/json"}},"uuid":"1afa5f6e-118c-4482-b744-5ef2a9799cf5","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"e6cacd7a-7ba8-4b0a-822c-0d6971f40073","name":"Create а coupon collection - default","request":{"urlPathTemplate":"/couponCollections","method":"POST"},"response":{"status":201,"body":"{\n \"id\": \"23befbae-1505-47a8-bd27-e30ef739f32c\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"e6cacd7a-7ba8-4b0a-822c-0d6971f40073","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"dff4a2fb-73ac-479f-ab4c-2c9110fd1537","name":"Get a coupon collection by id - default","request":{"urlPathTemplate":"/couponCollections/{id}","method":"GET","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"{\n \"createdAt\": \"2023-01-06T05:03:47Z\",\n \"defaultCoupon\": \"10 OFF\",\n \"expirationDate\": \"2024-01-01T00:00:00Z\",\n \"id\": \"23befbae-1505-47a8-bd27-e30ef739f32c\",\n \"name\": \"SummerPromotions\",\n \"remainingCoupons\": 5000,\n \"remainingCouponsAlert\": 5,\n \"remainingDaysAlert\": 5,\n \"totalCoupons\": 10000\n}","headers":{"Content-Type":"application/json"}},"uuid":"dff4a2fb-73ac-479f-ab4c-2c9110fd1537","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"e28907c7-b011-4634-bb47-d32e210b128b","name":"Update a coupon collection by id - default","request":{"urlPathTemplate":"/couponCollections/{id}","method":"PATCH","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"{\n \"defaultCoupon\": \"10 OFF\",\n \"id\": \"23befbae-1505-47a8-bd27-e30ef739f32c\",\n \"name\": \"SummerPromotions\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"e28907c7-b011-4634-bb47-d32e210b128b","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"eef10e8c-75d8-4adc-9fb0-8c2daeb31145","name":"Create coupons for a coupon collection - default","request":{"urlPathTemplate":"/coupons","method":"POST"},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"eef10e8c-75d8-4adc-9fb0-8c2daeb31145","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"35f2e6da-c185-4829-b6ce-3bd466f76681","name":"Create a payment request - default","request":{"urlPathTemplate":"/payments/requests","method":"POST"},"response":{"status":201,"body":"{\n \"id\": 122,\n \"url\": \"https://pay.brevo.com/payment/6d4ec0b2b48ef803df4103ve\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"35f2e6da-c185-4829-b6ce-3bd466f76681","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"173baf22-0f60-411a-b5e3-f68c427c3a5d","name":"Get payment request details - default","request":{"urlPathTemplate":"/payments/requests/{id}","method":"GET","pathParameters":{"id":{"equalTo":"050db7b0-9bb7-4c1e-9c68-5a8dace8c1dc"}}},"response":{"status":200,"body":"{\n \"cart\": {\n \"currency\": \"EUR\",\n \"specificAmount\": 1200\n },\n \"configuration\": {\n \"customSuccessUrl\": \"https://my-company.com/payment-success\"\n },\n \"contactId\": 43,\n \"notification\": {\n \"channel\": \"email\",\n \"text\": \"Please pay for your yoga class.\"\n },\n \"numberOfRemindersSent\": 5,\n \"reference\": \"Invoice #INV0001\\n\",\n \"status\": \"paid\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"173baf22-0f60-411a-b5e3-f68c427c3a5d","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"87ef813d-0336-4656-a5b5-e0899662397f","name":"Delete a payment request. - default","request":{"urlPathTemplate":"/payments/requests/{id}","method":"DELETE","pathParameters":{"id":{"equalTo":"9ae7d68a-565c-4695-9381-d8fb3e3a14cc"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"87ef813d-0336-4656-a5b5-e0899662397f","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"ba454d34-a70b-484d-a728-ffc42856a7b5","name":"Get events - default","request":{"urlPathTemplate":"/events","method":"GET"},"response":{"status":200,"body":"{\n \"events\": [\n {\n \"contact_id\": 211,\n \"event_date\": \"2024-02-06T20:59:23Z\",\n \"event_name\": \"order_created\",\n \"event_filter_id\": \"abc123\",\n \"source\": \"api\",\n \"object_type\": \"subscription\",\n \"event_properties\": {\n \"duration\": 142,\n \"video_title\": \"Brevo — The most approachable CRM suite\"\n },\n \"contact_properties\": {\n \"AGE\": 32,\n \"GENDER\": \"FEMALE\"\n }\n }\n ],\n \"count\": 2\n}","headers":{"Content-Type":"application/json"}},"uuid":"ba454d34-a70b-484d-a728-ffc42856a7b5","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"aed029ff-9be1-4acb-9dcf-a4c3e218a560","name":"Create an event - default","request":{"urlPathTemplate":"/events","method":"POST"},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"aed029ff-9be1-4acb-9dcf-a4c3e218a560","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"89ae63a4-2b31-419a-87b1-c44e0fa54de2","name":"Create events in batch - default","request":{"urlPathTemplate":"/events/batch","method":"POST"},"response":{"status":202,"body":"{\n \"message\": \"Batch accepted. Valid events have been added to the processing queue.\",\n \"count\": 7\n}","headers":{"Content-Type":"application/json"}},"uuid":"89ae63a4-2b31-419a-87b1-c44e0fa54de2","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"09aa7143-15a9-433c-a1e0-3444863bbf64","name":"Get the list of all the events for the received emails. - default","request":{"urlPathTemplate":"/inbound/events","method":"GET"},"response":{"status":200,"body":"{\n \"events\": [\n {\n \"date\": \"2017-03-11T12:30:00Z\",\n \"recipient\": \"alexa@example.com\",\n \"sender\": \"john@example.com\",\n \"uuid\": \"1a825d56-029b-4a41-b8e4-1a825d56\"\n },\n {\n \"date\": \"2017-03-12T12:30:00Z\",\n \"recipient\": \"bob@example.com\",\n \"sender\": \"alice@example.com\",\n \"uuid\": \"1a825d56-029b-4a41-b8e4-61670463431b\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"09aa7143-15a9-433c-a1e0-3444863bbf64","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"ee4248db-9736-4af1-a32a-5a7de6f5328a","name":"Fetch all events history for one particular received email. - default","request":{"urlPathTemplate":"/inbound/events/{uuid}","method":"GET","pathParameters":{"uuid":{"equalTo":"uuid"}}},"response":{"status":200,"body":"{\n \"attachments\": [\n {\n \"contentLength\": 12345,\n \"contentType\": \"application/pdf\",\n \"name\": \"invoice.pdf\"\n }\n ],\n \"deliveredAt\": \"2017-03-12T12:31:00Z\",\n \"logs\": [\n {\n \"date\": \"2017-03-12T12:30:00Z\",\n \"type\": \"received\"\n },\n {\n \"date\": \"2017-03-12T12:30:04Z\",\n \"type\": \"webhookFailed\"\n },\n {\n \"date\": \"2017-03-12T12:31:04Z\",\n \"type\": \"webhookDelivered\"\n }\n ],\n \"messageId\": \"\",\n \"receivedAt\": \"2017-03-12T12:30:00Z\",\n \"recipient\": \"bob@example.com\",\n \"sender\": \"alice@example.com\",\n \"subject\": \"Re: Question about your API\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"ee4248db-9736-4af1-a32a-5a7de6f5328a","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"3426b7cd-c7c6-4cd0-8359-916c1482c4a3","name":"Retrieve inbound attachment with download token. - default","request":{"urlPathTemplate":"/inbound/attachments/{downloadToken}","method":"GET","pathParameters":{"downloadToken":{"equalTo":"downloadToken"}}},"response":{"status":200,"body":"{\n \"key\": \"value\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"3426b7cd-c7c6-4cd0-8359-916c1482c4a3","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"b8273ac4-3d1a-4b9a-b003-bb49ef16337f","name":"Get Active Balances API - default","request":{"urlPathTemplate":"/loyalty/balance/programs/{pid}/active-balance","method":"GET","pathParameters":{"pid":{"equalTo":"pid"}},"queryParameters":{"contact_id":{"equalTo":"1"},"balance_definition_id":{"equalTo":"balance_definition_id"}}},"response":{"status":200,"body":"{\n \"balanceDefinitionId\": \"balanceDefinitionId\",\n \"constraintType\": \"constraintType\",\n \"createdAt\": \"createdAt\",\n \"durationUnit\": \"durationUnit\",\n \"durationValue\": 1,\n \"id\": \"id\",\n \"slidingSchedule\": true,\n \"transactionType\": \"transactionType\",\n \"updatedAt\": \"updatedAt\",\n \"value\": 1\n}","headers":{"Content-Type":"application/json"}},"uuid":"b8273ac4-3d1a-4b9a-b003-bb49ef16337f","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"7ed4ff5a-868f-45ef-a95a-550b62f69d5a","name":"Get balance definition list - default","request":{"urlPathTemplate":"/loyalty/balance/programs/{pid}/balance-definitions","method":"GET","pathParameters":{"pid":{"equalTo":"pid"}}},"response":{"status":200,"body":"{\n \"items\": [\n {\n \"balanceAvailabilityDurationModifier\": \"startOfPeriod\",\n \"balanceAvailabilityDurationUnit\": \"balanceAvailabilityDurationUnit\",\n \"balanceAvailabilityDurationValue\": 1,\n \"balanceExpirationDate\": \"2024-01-15T09:30:00Z\",\n \"balanceOptionAmountOvertakingStrategy\": \"balanceOptionAmountOvertakingStrategy\",\n \"balanceOptionCreditRounding\": \"balanceOptionCreditRounding\",\n \"balanceOptionDebitRounding\": \"balanceOptionDebitRounding\",\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"deletedAt\": \"deletedAt\",\n \"description\": \"description\",\n \"id\": \"id\",\n \"imageRef\": \"imageRef\",\n \"maxAmount\": 1.1,\n \"maxCreditAmountLimit\": 1.1,\n \"maxDebitAmountLimit\": 1.1,\n \"meta\": {\n \"key\": \"value\"\n },\n \"minAmount\": 1.1,\n \"name\": \"name\",\n \"unit\": \"unit\",\n \"updatedAt\": \"updatedAt\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"7ed4ff5a-868f-45ef-a95a-550b62f69d5a","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"9db15f6f-dd09-4033-bff7-9d94ef6ae471","name":"Create balance definition - default","request":{"urlPathTemplate":"/loyalty/balance/programs/{pid}/balance-definitions","method":"POST","pathParameters":{"pid":{"equalTo":"pid"}}},"response":{"status":200,"body":"{\n \"balanceAvailabilityDurationModifier\": \"startOfPeriod\",\n \"balanceAvailabilityDurationUnit\": \"balanceAvailabilityDurationUnit\",\n \"balanceAvailabilityDurationValue\": 1,\n \"balanceExpirationDate\": \"2024-01-15T09:30:00Z\",\n \"balanceOptionAmountOvertakingStrategy\": \"balanceOptionAmountOvertakingStrategy\",\n \"balanceOptionCreditRounding\": \"balanceOptionCreditRounding\",\n \"balanceOptionDebitRounding\": \"balanceOptionDebitRounding\",\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"deletedAt\": \"deletedAt\",\n \"description\": \"description\",\n \"id\": \"id\",\n \"imageRef\": \"imageRef\",\n \"maxAmount\": 1.1,\n \"maxCreditAmountLimit\": 1.1,\n \"maxDebitAmountLimit\": 1.1,\n \"meta\": {\n \"key\": \"value\"\n },\n \"minAmount\": 1.1,\n \"name\": \"name\",\n \"unit\": \"unit\",\n \"updatedAt\": \"updatedAt\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"9db15f6f-dd09-4033-bff7-9d94ef6ae471","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"5171ff4c-8ab1-4886-96b9-72845239dcb2","name":"Get balance definition - default","request":{"urlPathTemplate":"/loyalty/balance/programs/{pid}/balance-definitions/{bdid}","method":"GET","pathParameters":{"pid":{"equalTo":"pid"},"bdid":{"equalTo":"bdid"}}},"response":{"status":200,"body":"{\n \"balanceAvailabilityDurationModifier\": \"startOfPeriod\",\n \"balanceAvailabilityDurationUnit\": \"balanceAvailabilityDurationUnit\",\n \"balanceAvailabilityDurationValue\": 1,\n \"balanceExpirationDate\": \"2024-01-15T09:30:00Z\",\n \"balanceOptionAmountOvertakingStrategy\": \"balanceOptionAmountOvertakingStrategy\",\n \"balanceOptionCreditRounding\": \"balanceOptionCreditRounding\",\n \"balanceOptionDebitRounding\": \"balanceOptionDebitRounding\",\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"deletedAt\": \"deletedAt\",\n \"description\": \"description\",\n \"id\": \"id\",\n \"imageRef\": \"imageRef\",\n \"maxAmount\": 1.1,\n \"maxCreditAmountLimit\": 1.1,\n \"maxDebitAmountLimit\": 1.1,\n \"meta\": {\n \"key\": \"value\"\n },\n \"minAmount\": 1.1,\n \"name\": \"name\",\n \"unit\": \"unit\",\n \"updatedAt\": \"updatedAt\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"5171ff4c-8ab1-4886-96b9-72845239dcb2","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"1da76c71-d209-4641-9094-43a7214838ef","name":"Update balance definition - default","request":{"urlPathTemplate":"/loyalty/balance/programs/{pid}/balance-definitions/{bdid}","method":"PUT","pathParameters":{"pid":{"equalTo":"pid"},"bdid":{"equalTo":"bdid"}}},"response":{"status":200,"body":"{\n \"balanceAvailabilityDurationModifier\": \"startOfPeriod\",\n \"balanceAvailabilityDurationUnit\": \"balanceAvailabilityDurationUnit\",\n \"balanceAvailabilityDurationValue\": 1,\n \"balanceExpirationDate\": \"2024-01-15T09:30:00Z\",\n \"balanceOptionAmountOvertakingStrategy\": \"balanceOptionAmountOvertakingStrategy\",\n \"balanceOptionCreditRounding\": \"balanceOptionCreditRounding\",\n \"balanceOptionDebitRounding\": \"balanceOptionDebitRounding\",\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"deletedAt\": \"deletedAt\",\n \"description\": \"description\",\n \"id\": \"id\",\n \"imageRef\": \"imageRef\",\n \"maxAmount\": 1.1,\n \"maxCreditAmountLimit\": 1.1,\n \"maxDebitAmountLimit\": 1.1,\n \"meta\": {\n \"key\": \"value\"\n },\n \"minAmount\": 1.1,\n \"name\": \"name\",\n \"unit\": \"unit\",\n \"updatedAt\": \"updatedAt\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"1da76c71-d209-4641-9094-43a7214838ef","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"a3817b26-f6c9-4900-86c4-6d4869b41b38","name":"Delete balance definition - default","request":{"urlPathTemplate":"/loyalty/balance/programs/{pid}/balance-definitions/{bdid}","method":"DELETE","pathParameters":{"pid":{"equalTo":"pid"},"bdid":{"equalTo":"bdid"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"a3817b26-f6c9-4900-86c4-6d4869b41b38","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"3d2118a4-5218-46f1-8513-ef75d832d7d5","name":"Create balance limits - default","request":{"urlPathTemplate":"/loyalty/balance/programs/{pid}/balance-definitions/{bdid}/limits","method":"POST","pathParameters":{"pid":{"equalTo":"pid"},"bdid":{"equalTo":"bdid"}}},"response":{"status":200,"body":"{\n \"balanceDefinitionId\": \"balanceDefinitionId\",\n \"constraintType\": \"constraintType\",\n \"createdAt\": \"createdAt\",\n \"durationUnit\": \"durationUnit\",\n \"durationValue\": 1,\n \"id\": \"id\",\n \"slidingSchedule\": true,\n \"transactionType\": \"transactionType\",\n \"updatedAt\": \"updatedAt\",\n \"value\": 1\n}","headers":{"Content-Type":"application/json"}},"uuid":"3d2118a4-5218-46f1-8513-ef75d832d7d5","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"5def443d-7ef0-4c5c-99d3-9e38a21ed142","name":"Get balance limits - default","request":{"urlPathTemplate":"/loyalty/balance/programs/{pid}/balance-definitions/{bdid}/limits/{blid}","method":"GET","pathParameters":{"pid":{"equalTo":"pid"},"bdid":{"equalTo":"bdid"},"blid":{"equalTo":"blid"}}},"response":{"status":200,"body":"{\n \"balanceDefinitionId\": \"balanceDefinitionId\",\n \"constraintType\": \"constraintType\",\n \"createdAt\": \"createdAt\",\n \"durationUnit\": \"durationUnit\",\n \"durationValue\": 1,\n \"id\": \"id\",\n \"slidingSchedule\": true,\n \"transactionType\": \"transactionType\",\n \"updatedAt\": \"updatedAt\",\n \"value\": 1\n}","headers":{"Content-Type":"application/json"}},"uuid":"5def443d-7ef0-4c5c-99d3-9e38a21ed142","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"3c24feb3-061c-4954-a12f-81100122b866","name":"Updates balance limit - default","request":{"urlPathTemplate":"/loyalty/balance/programs/{pid}/balance-definitions/{bdid}/limits/{blid}","method":"PUT","pathParameters":{"pid":{"equalTo":"pid"},"bdid":{"equalTo":"bdid"},"blid":{"equalTo":"blid"}}},"response":{"status":200,"body":"{\n \"balanceDefinitionId\": \"balanceDefinitionId\",\n \"constraintType\": \"constraintType\",\n \"createdAt\": \"createdAt\",\n \"durationUnit\": \"durationUnit\",\n \"durationValue\": 1,\n \"id\": \"id\",\n \"slidingSchedule\": true,\n \"transactionType\": \"transactionType\",\n \"updatedAt\": \"updatedAt\",\n \"value\": 1\n}","headers":{"Content-Type":"application/json"}},"uuid":"3c24feb3-061c-4954-a12f-81100122b866","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"60e7789f-ecdc-4330-96f5-426c8865aa02","name":"Delete balance limit - default","request":{"urlPathTemplate":"/loyalty/balance/programs/{pid}/balance-definitions/{bdid}/limits/{blid}","method":"DELETE","pathParameters":{"pid":{"equalTo":"pid"},"bdid":{"equalTo":"bdid"},"blid":{"equalTo":"blid"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"60e7789f-ecdc-4330-96f5-426c8865aa02","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"a00ea68f-14e1-4bbc-a3ad-1f4c555dbd92","name":"Get balance list - default","request":{"urlPathTemplate":"/loyalty/balance/programs/{pid}/contact-balances","method":"GET","pathParameters":{"pid":{"equalTo":"pid"}}},"response":{"status":200,"body":"{\n \"balanceDefinitionId\": \"balanceDefinitionId\",\n \"balances\": [\n {\n \"contactId\": 1,\n \"loyaltySubscriptionId\": \"loyaltySubscriptionId\",\n \"updatedAt\": \"updatedAt\",\n \"value\": 1.1\n }\n ],\n \"count\": 1,\n \"loyaltyProgramId\": \"loyaltyProgramId\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"a00ea68f-14e1-4bbc-a3ad-1f4c555dbd92","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"24af1e00-9fca-4515-89c5-bce7048b3f2e","name":"Create balance order - default","request":{"urlPathTemplate":"/loyalty/balance/programs/{pid}/create-order","method":"POST","pathParameters":{"pid":{"equalTo":"pid"}}},"response":{"status":200,"body":"{\n \"amount\": 1.1,\n \"balanceDefinitionId\": \"balanceDefinitionId\",\n \"contactId\": 1,\n \"createdAt\": \"createdAt\",\n \"dueAt\": \"dueAt\",\n \"expiresAt\": \"expiresAt\",\n \"id\": \"id\",\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"meta\": {\n \"key\": \"value\"\n },\n \"processedAt\": \"processedAt\",\n \"transactionid\": \"transactionid\",\n \"updatedAt\": \"updatedAt\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"24af1e00-9fca-4515-89c5-bce7048b3f2e","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"bd77b0ff-3379-4930-aa93-f8cc25163bee","name":"Get subscription balances - default","request":{"urlPathTemplate":"/loyalty/balance/programs/{pid}/subscriptions/{cid}/balances","method":"GET","pathParameters":{"pid":{"equalTo":"pid"},"cid":{"equalTo":"cid"}}},"response":{"status":200,"body":"{\n \"balance\": [\n {\n \"balanceDefinitionId\": \"balanceDefinitionId\",\n \"value\": 1.1\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"bd77b0ff-3379-4930-aa93-f8cc25163bee","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"06abbd3e-aec8-48f0-9c90-49887599e5ac","name":"Create subscription balances - default","request":{"urlPathTemplate":"/loyalty/balance/programs/{pid}/subscriptions/{cid}/balances","method":"POST","pathParameters":{"pid":{"equalTo":"pid"},"cid":{"equalTo":"cid"}}},"response":{"status":200,"body":"{\n \"amount\": 1.1,\n \"balanceDefinitionId\": \"balanceDefinitionId\",\n \"consumedAt\": \"consumedAt\",\n \"contactId\": 1,\n \"createdAt\": \"createdAt\",\n \"expiresAt\": \"expiresAt\",\n \"id\": \"id\",\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"organizationId\": 1\n}","headers":{"Content-Type":"application/json"}},"uuid":"06abbd3e-aec8-48f0-9c90-49887599e5ac","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"d806b377-c3f2-46e1-af10-826fc8cb7a77","name":"Get Transaction History API - default","request":{"urlPathTemplate":"/loyalty/balance/programs/{pid}/transaction-history","method":"GET","pathParameters":{"pid":{"equalTo":"pid"}},"queryParameters":{"contactId":{"equalTo":"1"},"balanceDefinitionId":{"equalTo":"balanceDefinitionId"}}},"response":{"status":200,"body":"{\n \"balanceDefinitionId\": \"balanceDefinitionId\",\n \"contactId\": 1,\n \"count\": 1,\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"transactionHistory\": [\n {\n \"amount\": 1.1,\n \"balanceExpirationDate\": \"balanceExpirationDate\",\n \"cancelledAt\": \"cancelledAt\",\n \"completedAt\": \"completedAt\",\n \"createdAt\": \"createdAt\",\n \"id\": \"id\",\n \"meta\": {\n \"key\": \"value\"\n },\n \"rejectReason\": \"rejectReason\",\n \"rejectedAt\": \"rejectedAt\",\n \"status\": \"status\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"d806b377-c3f2-46e1-af10-826fc8cb7a77","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"01dd65f2-fc30-4f9a-94e7-cf908b0c0b6a","name":"Create new transaction - default","request":{"urlPathTemplate":"/loyalty/balance/programs/{pid}/transactions","method":"POST","pathParameters":{"pid":{"equalTo":"pid"}}},"response":{"status":200,"body":"{\n \"amount\": 1.1,\n \"balanceDefinitionId\": \"balanceDefinitionId\",\n \"cancelledAt\": \"cancelledAt\",\n \"completedAt\": \"completedAt\",\n \"contactId\": 1,\n \"createdAt\": \"createdAt\",\n \"eventTime\": \"eventTime\",\n \"expirationDate\": \"expirationDate\",\n \"id\": \"id\",\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"meta\": {\n \"key\": \"value\"\n },\n \"rejectReason\": \"rejectReason\",\n \"rejectedAt\": \"rejectedAt\",\n \"status\": \"status\",\n \"updatedAt\": \"updatedAt\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"01dd65f2-fc30-4f9a-94e7-cf908b0c0b6a","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"bd42f484-63b7-431c-9d4b-a149ff9cd0b8","name":"Cancel transaction - default","request":{"urlPathTemplate":"/loyalty/balance/programs/{pid}/transactions/{tid}/cancel","method":"POST","pathParameters":{"pid":{"equalTo":"pid"},"tid":{"equalTo":"tid"}}},"response":{"status":200,"body":"{\n \"amount\": 1.1,\n \"balanceDefinitionId\": \"balanceDefinitionId\",\n \"cancelledAt\": \"cancelledAt\",\n \"completedAt\": \"completedAt\",\n \"contactId\": 1,\n \"createdAt\": \"createdAt\",\n \"eventTime\": \"eventTime\",\n \"expirationDate\": \"expirationDate\",\n \"id\": \"id\",\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"meta\": {\n \"key\": \"value\"\n },\n \"rejectReason\": \"rejectReason\",\n \"rejectedAt\": \"rejectedAt\",\n \"status\": \"status\",\n \"updatedAt\": \"updatedAt\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"bd42f484-63b7-431c-9d4b-a149ff9cd0b8","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"fbed8bbf-cc97-48fb-a7f6-e56e37f2cf2e","name":"Complete transaction - default","request":{"urlPathTemplate":"/loyalty/balance/programs/{pid}/transactions/{tid}/complete","method":"POST","pathParameters":{"pid":{"equalTo":"pid"},"tid":{"equalTo":"tid"}}},"response":{"status":200,"body":"{\n \"amount\": 1.1,\n \"balanceDefinitionId\": \"balanceDefinitionId\",\n \"cancelledAt\": \"cancelledAt\",\n \"completedAt\": \"completedAt\",\n \"contactId\": 1,\n \"createdAt\": \"createdAt\",\n \"eventTime\": \"eventTime\",\n \"expirationDate\": \"expirationDate\",\n \"id\": \"id\",\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"meta\": {\n \"key\": \"value\"\n },\n \"rejectReason\": \"rejectReason\",\n \"rejectedAt\": \"rejectedAt\",\n \"status\": \"status\",\n \"updatedAt\": \"updatedAt\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"fbed8bbf-cc97-48fb-a7f6-e56e37f2cf2e","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"26205d6c-548c-4928-8845-8eb6528a066d","name":"Get loyalty program list - default","request":{"urlPathTemplate":"/loyalty/config/programs","method":"GET"},"response":{"status":200,"body":"{\n \"items\": [\n {\n \"codeCount\": 1,\n \"createdAt\": \"createdAt\",\n \"description\": \"description\",\n \"documentId\": \"documentId\",\n \"id\": \"id\",\n \"meta\": {\n \"key\": \"value\"\n },\n \"name\": \"name\",\n \"pattern\": \"pattern\",\n \"state\": \"inactive\",\n \"subscriptionGeneratorId\": \"subscriptionGeneratorId\",\n \"subscriptionPoolId\": \"subscriptionPoolId\",\n \"updatedAt\": \"updatedAt\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"26205d6c-548c-4928-8845-8eb6528a066d","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"58d70d75-ea78-49d2-a9d6-beab3075e797","name":"Create loyalty program - default","request":{"urlPathTemplate":"/loyalty/config/programs","method":"POST"},"response":{"status":200,"body":"{\n \"codeCount\": 1,\n \"createdAt\": \"createdAt\",\n \"description\": \"description\",\n \"documentId\": \"documentId\",\n \"id\": \"id\",\n \"meta\": {\n \"key\": \"value\"\n },\n \"name\": \"name\",\n \"pattern\": \"pattern\",\n \"state\": \"inactive\",\n \"subscriptionGeneratorId\": \"subscriptionGeneratorId\",\n \"subscriptionPoolId\": \"subscriptionPoolId\",\n \"updatedAt\": \"updatedAt\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"58d70d75-ea78-49d2-a9d6-beab3075e797","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"c0fa09f4-d2b6-46f5-9560-abd8eb19c934","name":"Get loyalty program Info - default","request":{"urlPathTemplate":"/loyalty/config/programs/{pid}","method":"GET","pathParameters":{"pid":{"equalTo":"pid"}}},"response":{"status":200,"body":"{\n \"codeCount\": 1,\n \"createdAt\": \"createdAt\",\n \"description\": \"description\",\n \"documentId\": \"documentId\",\n \"id\": \"id\",\n \"meta\": {\n \"key\": \"value\"\n },\n \"name\": \"name\",\n \"pattern\": \"pattern\",\n \"state\": \"inactive\",\n \"subscriptionGeneratorId\": \"subscriptionGeneratorId\",\n \"subscriptionPoolId\": \"subscriptionPoolId\",\n \"updatedAt\": \"updatedAt\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"c0fa09f4-d2b6-46f5-9560-abd8eb19c934","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"861e512a-8f3c-4e67-9519-b050d07984c6","name":"Update loyalty program - default","request":{"urlPathTemplate":"/loyalty/config/programs/{pid}","method":"PUT","pathParameters":{"pid":{"equalTo":"pid"}}},"response":{"status":200,"body":"{\n \"codeCount\": 1,\n \"createdAt\": \"createdAt\",\n \"description\": \"description\",\n \"documentId\": \"documentId\",\n \"id\": \"id\",\n \"meta\": {\n \"key\": \"value\"\n },\n \"name\": \"name\",\n \"pattern\": \"pattern\",\n \"state\": \"inactive\",\n \"subscriptionGeneratorId\": \"subscriptionGeneratorId\",\n \"subscriptionPoolId\": \"subscriptionPoolId\",\n \"updatedAt\": \"updatedAt\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"861e512a-8f3c-4e67-9519-b050d07984c6","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"a87fbb4c-71e6-4806-9622-174c92be89d1","name":"Delete Loyalty Program - default","request":{"urlPathTemplate":"/loyalty/config/programs/{pid}","method":"DELETE","pathParameters":{"pid":{"equalTo":"pid"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"a87fbb4c-71e6-4806-9622-174c92be89d1","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"8a2689f4-70a0-4e02-8ce4-3c55e07bc708","name":"Partially update loyalty program - default","request":{"urlPathTemplate":"/loyalty/config/programs/{pid}","method":"PATCH","pathParameters":{"pid":{"equalTo":"pid"}}},"response":{"status":200,"body":"{\n \"codeCount\": 1,\n \"createdAt\": \"createdAt\",\n \"description\": \"description\",\n \"documentId\": \"documentId\",\n \"id\": \"id\",\n \"meta\": {\n \"key\": \"value\"\n },\n \"name\": \"name\",\n \"pattern\": \"pattern\",\n \"state\": \"inactive\",\n \"subscriptionGeneratorId\": \"subscriptionGeneratorId\",\n \"subscriptionPoolId\": \"subscriptionPoolId\",\n \"updatedAt\": \"updatedAt\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"8a2689f4-70a0-4e02-8ce4-3c55e07bc708","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"d32199cf-9ffa-4318-a330-2e9fda3da2d2","name":"Get Subscription Data - default","request":{"urlPathTemplate":"/loyalty/config/programs/{pid}/account-info","method":"GET","pathParameters":{"pid":{"equalTo":"pid"}}},"response":{"status":200,"body":"{\n \"balance\": {\n \"balances\": [\n {}\n ],\n \"contactId\": 1,\n \"loyaltyProgramId\": \"loyaltyProgramId\"\n },\n \"members\": [\n {\n \"createdAt\": \"createdAt\",\n \"memberContactId\": 1,\n \"updatedAt\": \"updatedAt\"\n }\n ],\n \"reward\": [\n {\n \"code\": \"code\",\n \"contactId\": 1,\n \"createdAt\": \"createdAt\",\n \"expirationDate\": \"expirationDate\",\n \"id\": \"id\",\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"meta\": {\n \"key\": \"value\"\n },\n \"rewardId\": \"rewardId\",\n \"updatedAt\": \"updatedAt\"\n }\n ],\n \"tier\": [\n {\n \"contactId\": 1,\n \"createdAt\": \"createdAt\",\n \"groupId\": \"groupId\",\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"meta\": {\n \"key\": \"value\"\n },\n \"tierId\": \"tierId\",\n \"updatedAt\": \"updatedAt\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"d32199cf-9ffa-4318-a330-2e9fda3da2d2","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"0878ece4-9fe9-491a-9a7c-daaf7cf9c341","name":"Delete subscription - default","request":{"urlPathTemplate":"/loyalty/config/programs/{pid}/contact/{cid}","method":"DELETE","pathParameters":{"pid":{"equalTo":"pid"},"cid":{"equalTo":"1"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"0878ece4-9fe9-491a-9a7c-daaf7cf9c341","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"e628ecea-6ac2-4237-bf4e-d3e911f50954","name":"Publish loyalty program - default","request":{"urlPathTemplate":"/loyalty/config/programs/{pid}/publish","method":"POST","pathParameters":{"pid":{"equalTo":"pid"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"e628ecea-6ac2-4237-bf4e-d3e911f50954","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"c63d1aae-db4f-4b4c-b82f-19e95683e037","name":"Create subscription member - default","request":{"urlPathTemplate":"/loyalty/config/programs/{pid}/subscription-members","method":"POST","pathParameters":{"pid":{"equalTo":"pid"}}},"response":{"status":200,"body":"{\n \"createdAt\": \"createdAt\",\n \"memberContactIds\": [\n 1\n ],\n \"organizationId\": 1,\n \"ownerContactId\": 1,\n \"updatedAt\": \"updatedAt\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"c63d1aae-db4f-4b4c-b82f-19e95683e037","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"efc3a783-b09a-41eb-8c6f-6f3f03271ef4","name":"Delete subscription member - default","request":{"urlPathTemplate":"/loyalty/config/programs/{pid}/subscription-members","method":"DELETE","pathParameters":{"pid":{"equalTo":"pid"}},"queryParameters":{"memberContactIds":{"equalTo":"memberContactIds"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"efc3a783-b09a-41eb-8c6f-6f3f03271ef4","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"c73cc6cc-b51b-4e8a-ae72-3446029b9ec5","name":"Create subscription - default","request":{"urlPathTemplate":"/loyalty/config/programs/{pid}/subscriptions","method":"POST","pathParameters":{"pid":{"equalTo":"pid"}}},"response":{"status":200,"body":"{\n \"contactId\": 1,\n \"createdAt\": \"createdAt\",\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"loyaltySubscriptionId\": \"loyaltySubscriptionId\",\n \"organizationId\": 1,\n \"updatedAt\": \"updatedAt\",\n \"versionId\": 1\n}","headers":{"Content-Type":"application/json"}},"uuid":"c73cc6cc-b51b-4e8a-ae72-3446029b9ec5","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"da280697-1454-4e11-996a-89c499cf8d7f","name":"Get code count - default","request":{"urlPathTemplate":"/loyalty/offer/programs/{pid}/code-pools/{cpid}/codes-count","method":"GET","pathParameters":{"pid":{"equalTo":"pid"},"cpid":{"equalTo":"cpid"}}},"response":{"status":200,"body":"{\n \"count\": 1000000\n}","headers":{"Content-Type":"application/json"}},"uuid":"da280697-1454-4e11-996a-89c499cf8d7f","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"3d324fa9-3782-4213-ab50-8574dc117f03","name":"Get Reward Page API - default","request":{"urlPathTemplate":"/loyalty/offer/programs/{pid}/offers","method":"GET","pathParameters":{"pid":{"equalTo":"pid"}}},"response":{"status":200,"body":"{\n \"items\": [\n {\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"endDate\": \"2024-01-15T09:30:00Z\",\n \"id\": \"id\",\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"name\": \"name\",\n \"publicImage\": \"publicImage\",\n \"startDate\": \"2024-01-15T09:30:00Z\",\n \"state\": \"state\",\n \"updatedAt\": \"2024-01-15T09:30:00Z\"\n }\n ],\n \"totalCount\": 1\n}","headers":{"Content-Type":"application/json"}},"uuid":"3d324fa9-3782-4213-ab50-8574dc117f03","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"e24ddc18-7dbb-4302-828c-d6e53ebb4a34","name":"Create a reward - default","request":{"urlPathTemplate":"/loyalty/offer/programs/{pid}/offers","method":"POST","pathParameters":{"pid":{"equalTo":"pid"}}},"response":{"status":200,"body":"{\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"id\": \"id\",\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"name\": \"name\",\n \"publicDescription\": \"publicDescription\",\n \"publicImage\": \"publicImage\",\n \"publicName\": \"publicName\",\n \"updatedAt\": \"updatedAt\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"e24ddc18-7dbb-4302-828c-d6e53ebb4a34","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"661c8611-a50c-4e77-aad2-b152b4a15e63","name":"Create a voucher - default","request":{"urlPathTemplate":"/loyalty/offer/programs/{pid}/rewards/attribute","method":"POST","pathParameters":{"pid":{"equalTo":"pid"}}},"response":{"status":200,"body":"{\n \"code\": \"code\",\n \"consumedAt\": \"consumedAt\",\n \"contactId\": 1000000,\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"expirationDate\": \"2024-01-15T09:30:00Z\",\n \"id\": \"id\",\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"meta\": {\n \"key\": \"value\"\n },\n \"rewardId\": \"rewardId\",\n \"updatedAt\": \"2024-01-15T09:30:00Z\",\n \"value\": 1.1\n}","headers":{"Content-Type":"application/json"}},"uuid":"661c8611-a50c-4e77-aad2-b152b4a15e63","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"aa8692b0-126d-488d-b643-8fe0de2f8405","name":"Create redeem voucher request - default","request":{"urlPathTemplate":"/loyalty/offer/programs/{pid}/rewards/redeem","method":"POST","pathParameters":{"pid":{"equalTo":"pid"}}},"response":{"status":200,"body":"{\n \"cancelledAt\": \"2024-01-15T09:30:00Z\",\n \"completedAt\": \"2024-01-15T09:30:00Z\",\n \"contactId\": 1000000,\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"debitTransactionId\": \"debitTransactionId\",\n \"expiresAt\": \"2024-01-15T09:30:00Z\",\n \"id\": \"id\",\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"meta\": {\n \"key\": \"value\"\n },\n \"rejectReason\": \"rejectReason\",\n \"rejectedAt\": \"2024-01-15T09:30:00Z\",\n \"rewardAttributionId\": \"rewardAttributionId\",\n \"status\": \"status\",\n \"updatedAt\": \"2024-01-15T09:30:00Z\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"aa8692b0-126d-488d-b643-8fe0de2f8405","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"99e6b97f-e193-4c85-b833-07efab4f9b5b","name":"Complete redeem voucher request - default","request":{"urlPathTemplate":"/loyalty/offer/programs/{pid}/rewards/redeem/{tid}/complete","method":"POST","pathParameters":{"pid":{"equalTo":"pid"},"tid":{"equalTo":"tid"}}},"response":{"status":200,"body":"{\n \"cancelledAt\": \"2024-01-15T09:30:00Z\",\n \"completedAt\": \"2024-01-15T09:30:00Z\",\n \"contactId\": 1000000,\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"debitTransactionId\": \"debitTransactionId\",\n \"expiresAt\": \"2024-01-15T09:30:00Z\",\n \"id\": \"id\",\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"meta\": {\n \"key\": \"value\"\n },\n \"rejectReason\": \"rejectReason\",\n \"rejectedAt\": \"2024-01-15T09:30:00Z\",\n \"rewardAttributionId\": \"rewardAttributionId\",\n \"status\": \"status\",\n \"updatedAt\": \"2024-01-15T09:30:00Z\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"99e6b97f-e193-4c85-b833-07efab4f9b5b","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"919890cf-9d52-46fe-87bc-03565bdc4697","name":"Revoke vouchers - default","request":{"urlPathTemplate":"/loyalty/offer/programs/{pid}/rewards/revoke","method":"DELETE","pathParameters":{"pid":{"equalTo":"pid"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"919890cf-9d52-46fe-87bc-03565bdc4697","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"53d2fcd5-6b39-4fa3-a257-21f60d24efc5","name":"Validate a reward - default","request":{"urlPathTemplate":"/loyalty/offer/programs/{pid}/rewards/validate","method":"POST","pathParameters":{"pid":{"equalTo":"pid"}}},"response":{"status":200,"body":"{\n \"authorize\": true\n}","headers":{"Content-Type":"application/json"}},"uuid":"53d2fcd5-6b39-4fa3-a257-21f60d24efc5","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"66e13a60-2e6c-4f3b-9ff7-fc1cdcc147b8","name":"Get reward information - default","request":{"urlPathTemplate":"/loyalty/offer/programs/{pid}/rewards/{rid}","method":"GET","pathParameters":{"pid":{"equalTo":"pid"},"rid":{"equalTo":"rid"}}},"response":{"status":200,"body":"{\n \"attributionPerConsumer\": 1,\n \"balanceDefinitionId\": \"balanceDefinitionId\",\n \"code\": \"code\",\n \"codeCount\": 1000000,\n \"codeGeneratorId\": \"codeGeneratorId\",\n \"codePoolId\": \"codePoolId\",\n \"config\": \"config\",\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"disabledAt\": \"2024-01-15T09:30:00Z\",\n \"endDate\": \"2024-01-15T09:30:00Z\",\n \"expirationDate\": \"2024-01-15T09:30:00Z\",\n \"expirationModifier\": \"startOfPeriod\",\n \"expirationUnit\": \"expirationUnit\",\n \"expirationValue\": 1,\n \"generator\": {\n \"createdAt\": \"createdAt\",\n \"description\": \"description\",\n \"id\": \"id\",\n \"name\": \"name\",\n \"pattern\": \"pattern\",\n \"updatedAt\": \"2024-01-15T09:30:00Z\"\n },\n \"id\": \"id\",\n \"limits\": [\n {\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"durationUnit\": \"durationUnit\",\n \"durationValue\": 1,\n \"limitValue\": 1,\n \"rewardLimitId\": \"rewardLimitId\",\n \"slidingSchedule\": true,\n \"type\": \"type\",\n \"updatedAt\": \"2024-01-15T09:30:00Z\"\n }\n ],\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"meta\": {\n \"key\": \"value\"\n },\n \"name\": \"name\",\n \"products\": [\n {\n \"createdAt\": \"createdAt\",\n \"imageRef\": \"imageRef\",\n \"productId\": \"productId\",\n \"value\": \"value\"\n }\n ],\n \"publicDescription\": \"publicDescription\",\n \"publicImage\": \"publicImage\",\n \"publicName\": \"publicName\",\n \"redeemPerConsumer\": 1,\n \"redeemRules\": [\n \"redeemRules\"\n ],\n \"rewardConfigs\": {\n \"attribution\": \"attribution\",\n \"code\": \"code\",\n \"value\": \"value\"\n },\n \"rule\": {\n \"condition\": {\n \"op\": \"op\"\n },\n \"createdAt\": \"createdAt\",\n \"description\": \"description\",\n \"event\": {\n \"name\": \"name\",\n \"source\": \"source\"\n },\n \"isInternal\": true,\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"loyaltyVersionId\": 1,\n \"meta\": {\n \"key\": \"value\"\n },\n \"name\": \"name\",\n \"results\": [\n {}\n ],\n \"ruleId\": \"ruleId\",\n \"ruleType\": \"ruleType\",\n \"updatedAt\": \"updatedAt\"\n },\n \"startDate\": \"2024-01-15T09:30:00Z\",\n \"subtractBalanceDefinitionId\": \"subtractBalanceDefinitionId\",\n \"subtractBalanceStrategy\": \"subtractBalanceStrategy\",\n \"subtractBalanceValue\": 1,\n \"subtractTotalBalance\": true,\n \"totalAttribution\": 1,\n \"totalRedeem\": 1,\n \"triggerId\": \"triggerId\",\n \"unit\": \"unit\",\n \"updatedAt\": \"updatedAt\",\n \"value\": 1.1,\n \"valueType\": \"valueType\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"66e13a60-2e6c-4f3b-9ff7-fc1cdcc147b8","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"950e340e-ab9c-42c4-8c85-9ea1bd43113d","name":"Get voucher for a contact - default","request":{"urlPathTemplate":"/loyalty/offer/programs/{pid}/vouchers","method":"GET","pathParameters":{"pid":{"equalTo":"pid"}},"queryParameters":{"contactId":{"equalTo":"1"}}},"response":{"status":200,"body":"{\n \"contactId\": 1000000,\n \"contactRewards\": [\n {\n \"code\": \"code\",\n \"consumedAt\": \"consumedAt\",\n \"createdAt\": \"createdAt\",\n \"expirationDate\": \"expirationDate\",\n \"id\": \"id\",\n \"meta\": {\n \"key\": \"value\"\n },\n \"rewardId\": \"rewardId\",\n \"unit\": \"unit\",\n \"updatedAt\": \"updatedAt\",\n \"value\": 1.1\n }\n ],\n \"count\": 1,\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"loyaltySubscriptionId\": \"loyaltySubscriptionId\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"950e340e-ab9c-42c4-8c85-9ea1bd43113d","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"f3e1d26e-fbde-4b7e-afe4-fabb4960ff71","name":"Assign a tier - default","request":{"urlPathTemplate":"/loyalty/tier/programs/{pid}/contacts/{cid}/tiers/{tid}","method":"POST","pathParameters":{"pid":{"equalTo":"pid"},"cid":{"equalTo":"cid"},"tid":{"equalTo":"tid"}}},"response":{"status":200,"body":"{\n \"contactId\": 1,\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"groupId\": \"groupId\",\n \"id\": \"id\",\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"meta\": {\n \"key\": \"value\"\n },\n \"updatedAt\": \"2024-01-15T09:30:00Z\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"f3e1d26e-fbde-4b7e-afe4-fabb4960ff71","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"e6fc762d-7440-4454-beb1-ff71f4a9080e","name":"List tier groups - default","request":{"urlPathTemplate":"/loyalty/tier/programs/{pid}/tier-groups","method":"GET","pathParameters":{"pid":{"equalTo":"pid"}}},"response":{"status":200,"body":"{\n \"items\": [\n {\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"downgradeStrategy\": \"real_time\",\n \"id\": \"id\",\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"name\": \"name\",\n \"tierOrder\": [\n \"tierOrder\"\n ],\n \"updatedAt\": \"2024-01-15T09:30:00Z\",\n \"upgradeStrategy\": \"real_time\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"e6fc762d-7440-4454-beb1-ff71f4a9080e","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"d33f2b3b-2dd3-4911-8200-e4b4ef965933","name":"Create a tier group - default","request":{"urlPathTemplate":"/loyalty/tier/programs/{pid}/tier-groups","method":"POST","pathParameters":{"pid":{"equalTo":"pid"}}},"response":{"status":200,"body":"{\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"downgradeStrategy\": \"real_time\",\n \"id\": \"id\",\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"name\": \"name\",\n \"tierOrder\": [\n \"tierOrder\"\n ],\n \"updatedAt\": \"2024-01-15T09:30:00Z\",\n \"upgradeStrategy\": \"real_time\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"d33f2b3b-2dd3-4911-8200-e4b4ef965933","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"562fecbb-8cc8-46ae-b519-3fd2825bb107","name":"Get tier group - default","request":{"urlPathTemplate":"/loyalty/tier/programs/{pid}/tier-groups/{gid}","method":"GET","pathParameters":{"pid":{"equalTo":"pid"},"gid":{"equalTo":"gid"}}},"response":{"status":200,"body":"{\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"downgradeStrategy\": \"real_time\",\n \"id\": \"id\",\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"name\": \"name\",\n \"tierOrder\": [\n \"tierOrder\"\n ],\n \"updatedAt\": \"2024-01-15T09:30:00Z\",\n \"upgradeStrategy\": \"real_time\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"562fecbb-8cc8-46ae-b519-3fd2825bb107","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"67f29817-d31a-4186-b787-9277e465e139","name":"Update tier group - default","request":{"urlPathTemplate":"/loyalty/tier/programs/{pid}/tier-groups/{gid}","method":"PUT","pathParameters":{"pid":{"equalTo":"pid"},"gid":{"equalTo":"gid"}}},"response":{"status":200,"body":"{\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"downgradeStrategy\": \"real_time\",\n \"id\": \"id\",\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"name\": \"name\",\n \"tierOrder\": [\n \"tierOrder\"\n ],\n \"updatedAt\": \"2024-01-15T09:30:00Z\",\n \"upgradeStrategy\": \"real_time\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"67f29817-d31a-4186-b787-9277e465e139","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"a9e14ece-a957-40e8-b723-4b89904599dd","name":"Delete tier group - default","request":{"urlPathTemplate":"/loyalty/tier/programs/{pid}/tier-groups/{gid}","method":"DELETE","pathParameters":{"pid":{"equalTo":"pid"},"gid":{"equalTo":"gid"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"a9e14ece-a957-40e8-b723-4b89904599dd","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"d2b435bf-764a-46a6-a860-04672e2611c0","name":"Create a tier - default","request":{"urlPathTemplate":"/loyalty/tier/programs/{pid}/tier-groups/{gid}/tiers","method":"POST","pathParameters":{"pid":{"equalTo":"pid"},"gid":{"equalTo":"gid"}}},"response":{"status":200,"body":"{\n \"accessConditions\": [\n {\n \"balanceDefinitionId\": \"balanceDefinitionId\",\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"minimumValue\": 1,\n \"updatedAt\": \"2024-01-15T09:30:00Z\"\n }\n ],\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"groupId\": \"groupId\",\n \"imageRef\": \"imageRef\",\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"name\": \"name\",\n \"tierId\": \"tierId\",\n \"tierRewards\": [\n {\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"rewardId\": \"rewardId\",\n \"updatedAt\": \"2024-01-15T09:30:00Z\"\n }\n ],\n \"updatedAt\": \"2024-01-15T09:30:00Z\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"d2b435bf-764a-46a6-a860-04672e2611c0","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"e335b644-b3a8-4e92-9222-a80f9a8dd3ab","name":"List tiers - default","request":{"urlPathTemplate":"/loyalty/tier/programs/{pid}/tiers","method":"GET","pathParameters":{"pid":{"equalTo":"pid"}}},"response":{"status":200,"body":"{\n \"items\": [\n {\n \"accessConditions\": [\n {}\n ],\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"groupId\": \"groupId\",\n \"imageRef\": \"imageRef\",\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"name\": \"name\",\n \"tierId\": \"tierId\",\n \"tierRewards\": [\n {}\n ],\n \"updatedAt\": \"2024-01-15T09:30:00Z\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"e335b644-b3a8-4e92-9222-a80f9a8dd3ab","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"c299567a-50ff-4db3-a919-280c95c9de65","name":"Update tier - default","request":{"urlPathTemplate":"/loyalty/tier/programs/{pid}/tiers/{tid}","method":"PUT","pathParameters":{"pid":{"equalTo":"pid"},"tid":{"equalTo":"tid"}}},"response":{"status":200,"body":"{\n \"accessConditions\": [\n {\n \"balanceDefinitionId\": \"balanceDefinitionId\",\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"minimumValue\": 1,\n \"updatedAt\": \"2024-01-15T09:30:00Z\"\n }\n ],\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"groupId\": \"groupId\",\n \"imageRef\": \"imageRef\",\n \"loyaltyProgramId\": \"loyaltyProgramId\",\n \"name\": \"name\",\n \"tierId\": \"tierId\",\n \"tierRewards\": [\n {\n \"createdAt\": \"2024-01-15T09:30:00Z\",\n \"rewardId\": \"rewardId\",\n \"updatedAt\": \"2024-01-15T09:30:00Z\"\n }\n ],\n \"updatedAt\": \"2024-01-15T09:30:00Z\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"c299567a-50ff-4db3-a919-280c95c9de65","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"05e6afcc-fb74-4457-a108-1dc6a10a5be7","name":"Delete tier - default","request":{"urlPathTemplate":"/loyalty/tier/programs/{pid}/tiers/{tid}","method":"DELETE","pathParameters":{"pid":{"equalTo":"pid"},"tid":{"equalTo":"tid"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"05e6afcc-fb74-4457-a108-1dc6a10a5be7","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"cec8c14d-adf6-497f-95ee-c48ab1d6503d","name":"Return all your created email campaigns - default","request":{"urlPathTemplate":"/emailCampaigns","method":"GET"},"response":{"status":200,"body":"{\n \"campaigns\": [\n {\n \"attachmentFile\": \"http://mydomain.com/campaign/attachment/file.pdf\",\n \"abTesting\": true,\n \"id\": 12,\n \"name\": \"EN - Sales Summer 2017\",\n \"previewText\": \"Don't miss the sale!\",\n \"scheduledAt\": \"2017-06-01T12:30:00Z\",\n \"sendAtBestTime\": true,\n \"splitRule\": 25,\n \"status\": \"sent\",\n \"subject\": \"20% OFF for 2017 Summer Sales\",\n \"subjectA\": \"Discover the New Collection!\",\n \"subjectB\": \"Want to discover the New Collection?\",\n \"type\": \"classic\",\n \"winnerCriteria\": \"open\",\n \"winnerDelay\": 50,\n \"createdAt\": \"2017-05-01T12:30:00Z\",\n \"footer\": \"[DEFAULT_FOOTER]\",\n \"header\": \"[DEFAULT_HEADER]\",\n \"htmlContent\": \"This is my HTML Content\",\n \"inlineImageActivation\": true,\n \"mirrorActive\": true,\n \"modifiedAt\": \"2017-05-01T12:30:00Z\",\n \"recurring\": false,\n \"replyTo\": \"replyto@domain.com\",\n \"returnBounce\": 5,\n \"sender\": {\n \"email\": \"marketing@mycompany.com\",\n \"id\": 26,\n \"name\": \"Marketing\"\n },\n \"sentDate\": \"2018-12-01T16:30:00Z\",\n \"shareLink\": \"http://example.com/fhsgccc.html?t=9865448900\",\n \"tag\": \"Newsletter\",\n \"tags\": [\n \"tag1\",\n \"tag2\"\n ],\n \"testSent\": true,\n \"toField\": \"{FNAME} {LNAME}\",\n \"utmCampaignValue\": \"myutm\",\n \"utmIDActive\": true,\n \"utmMedium\": \"EMAIL\",\n \"utmSource\": \"Brevo\",\n \"recipients\": {\n \"exclusionLists\": [\n 13\n ],\n \"lists\": [\n 5\n ]\n },\n \"statistics\": {\n \"campaignStats\": [\n {\n \"appleMppOpens\": 10,\n \"clickers\": 2665,\n \"complaints\": 1,\n \"deferred\": 30,\n \"delivered\": 19765,\n \"estimatedViews\": 560,\n \"hardBounces\": 87,\n \"listId\": 5,\n \"opensRate\": 29.54,\n \"returnBounce\": 5,\n \"sent\": 19887,\n \"softBounces\": 100,\n \"trackableViews\": 5661,\n \"trackableViewsRate\": 23.45,\n \"uniqueClicks\": 2300,\n \"uniqueViews\": 7779,\n \"unsubscriptions\": 2,\n \"viewed\": 8999\n }\n ],\n \"globalStats\": {\n \"appleMppOpens\": 10,\n \"clickers\": 2665,\n \"complaints\": 1,\n \"deferred\": 30,\n \"delivered\": 19765,\n \"estimatedViews\": 560,\n \"hardBounces\": 87,\n \"listId\": 2,\n \"opensRate\": 29.54,\n \"returnBounce\": 5,\n \"sent\": 19887,\n \"softBounces\": 100,\n \"trackableViews\": 5661,\n \"trackableViewsRate\": 23.45,\n \"uniqueClicks\": 2300,\n \"uniqueViews\": 7779,\n \"unsubscriptions\": 2,\n \"viewed\": 8999\n },\n \"linksStats\": {},\n \"mirrorClick\": 120,\n \"remaining\": 1000,\n \"statsByBrowser\": {\n \"key\": {\n \"clickers\": 2665,\n \"uniqueClicks\": 2300,\n \"uniqueViews\": 7779,\n \"viewed\": 8999\n }\n },\n \"statsByDevice\": {},\n \"statsByDomain\": {\n \"hotmail.co.uk\": {\n \"appleMppOpens\": 10,\n \"clickers\": 2720,\n \"complaints\": 5,\n \"deferred\": 30,\n \"delivered\": 117056,\n \"estimatedViews\": 560,\n \"hardBounces\": 0,\n \"listId\": 2,\n \"opensRate\": 29.54,\n \"returnBounce\": 5,\n \"sent\": 117055,\n \"softBounces\": 111,\n \"trackableViews\": 5661,\n \"trackableViewsRate\": 23.45,\n \"uniqueClicks\": 1970,\n \"uniqueViews\": 21111,\n \"unsubscriptions\": 105,\n \"viewed\": 35251\n },\n \"yahoo.com\": {\n \"appleMppOpens\": 10,\n \"clickers\": 533,\n \"complaints\": 0,\n \"deferred\": 30,\n \"delivered\": 25596,\n \"estimatedViews\": 560,\n \"hardBounces\": 0,\n \"listId\": 2,\n \"opensRate\": 29.54,\n \"returnBounce\": 5,\n \"sent\": 25601,\n \"softBounces\": 5,\n \"trackableViews\": 5661,\n \"trackableViewsRate\": 23.45,\n \"uniqueClicks\": 298,\n \"uniqueViews\": 3527,\n \"unsubscriptions\": 17,\n \"viewed\": 5255\n }\n }\n }\n },\n {\n \"attachmentFile\": \"http://img.mailinblue.com/{clientID-campaignID}/attachments/{fileName}\",\n \"abTesting\": true,\n \"id\": 22,\n \"name\": \"Weekly - 1\",\n \"previewText\": \"your weekly newsletter!\",\n \"scheduledAt\": \"\",\n \"sendAtBestTime\": true,\n \"splitRule\": 25,\n \"status\": \"draft\",\n \"subject\": \"Week 1 - Newsletter\",\n \"subjectA\": \"Discover the New Collection!\",\n \"subjectB\": \"Want to discover the New Collection?\",\n \"type\": \"classic\",\n \"winnerCriteria\": \"open\",\n \"winnerDelay\": 50,\n \"createdAt\": \"2017-05-01T12:30:00Z\",\n \"footer\": \"[DEFAULT_FOOTER]\",\n \"header\": \"[DEFAULT_HEADER]\",\n \"htmlContent\": \"This is my HTML Content\",\n \"inlineImageActivation\": true,\n \"mirrorActive\": true,\n \"modifiedAt\": \"2017-05-01T12:30:00Z\",\n \"recurring\": false,\n \"replyTo\": \"replyto@domain.com\",\n \"returnBounce\": 5,\n \"sender\": {\n \"email\": \"newsletter@mycompany.com\",\n \"id\": 26,\n \"name\": \"Newsletter\"\n },\n \"sentDate\": \"2018-12-01T16:30:00Z\",\n \"shareLink\": \"http://example.com/fhsgccc.html?t=9865448900\",\n \"tag\": \"Newsletter\",\n \"tags\": [\n \"Newsletter\",\n \"Weekly\"\n ],\n \"testSent\": false,\n \"toField\": \"{FNAME} {LNAME}\",\n \"utmCampaignValue\": \"myutm\",\n \"utmIDActive\": true,\n \"utmMedium\": \"EMAIL\",\n \"utmSource\": \"Brevo\",\n \"recipients\": {\n \"exclusionLists\": [\n 45\n ],\n \"lists\": [\n 10\n ]\n },\n \"statistics\": {\n \"campaignStats\": [\n {\n \"appleMppOpens\": 10,\n \"clickers\": 2665,\n \"complaints\": 1,\n \"deferred\": 30,\n \"delivered\": 19765,\n \"estimatedViews\": 560,\n \"hardBounces\": 87,\n \"listId\": 10,\n \"opensRate\": 29.54,\n \"returnBounce\": 5,\n \"sent\": 19887,\n \"softBounces\": 100,\n \"trackableViews\": 5661,\n \"trackableViewsRate\": 23.45,\n \"uniqueClicks\": 2300,\n \"uniqueViews\": 7779,\n \"unsubscriptions\": 2,\n \"viewed\": 8999\n }\n ],\n \"globalStats\": {\n \"appleMppOpens\": 10,\n \"clickers\": 2665,\n \"complaints\": 1,\n \"deferred\": 30,\n \"delivered\": 19765,\n \"estimatedViews\": 560,\n \"hardBounces\": 87,\n \"listId\": 2,\n \"opensRate\": 29.42,\n \"returnBounce\": 5,\n \"sent\": 19887,\n \"softBounces\": 100,\n \"trackableViews\": 5661,\n \"trackableViewsRate\": 23.45,\n \"uniqueClicks\": 2300,\n \"uniqueViews\": 7779,\n \"unsubscriptions\": 2,\n \"viewed\": 8999\n },\n \"linksStats\": {},\n \"mirrorClick\": 120,\n \"remaining\": 1000,\n \"statsByBrowser\": {\n \"key\": {\n \"clickers\": 2665,\n \"uniqueClicks\": 2300,\n \"uniqueViews\": 7779,\n \"viewed\": 8999\n }\n },\n \"statsByDevice\": {},\n \"statsByDomain\": {\n \"aol\": {\n \"appleMppOpens\": 10,\n \"clickers\": 2665,\n \"complaints\": 1,\n \"deferred\": 30,\n \"delivered\": 19765,\n \"estimatedViews\": 560,\n \"hardBounces\": 87,\n \"listId\": 2,\n \"opensRate\": 29.54,\n \"returnBounce\": 5,\n \"sent\": 19887,\n \"softBounces\": 100,\n \"trackableViews\": 5661,\n \"trackableViewsRate\": 23.45,\n \"uniqueClicks\": 2300,\n \"uniqueViews\": 7779,\n \"unsubscriptions\": 2,\n \"viewed\": 8999\n },\n \"gmail\": {\n \"appleMppOpens\": 10,\n \"clickers\": 2665,\n \"complaints\": 1,\n \"deferred\": 30,\n \"delivered\": 19765,\n \"estimatedViews\": 560,\n \"hardBounces\": 87,\n \"listId\": 2,\n \"opensRate\": 29.54,\n \"returnBounce\": 5,\n \"sent\": 19887,\n \"softBounces\": 100,\n \"trackableViews\": 5661,\n \"trackableViewsRate\": 23.45,\n \"uniqueClicks\": 2300,\n \"uniqueViews\": 7779,\n \"unsubscriptions\": 2,\n \"viewed\": 8999\n }\n }\n }\n }\n ],\n \"count\": 2\n}","headers":{"Content-Type":"application/json"}},"uuid":"cec8c14d-adf6-497f-95ee-c48ab1d6503d","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"3d7c577e-d169-438f-b91c-d1f90d441dee","name":"Create an email campaign - default","request":{"urlPathTemplate":"/emailCampaigns","method":"POST"},"response":{"status":201,"body":"{\n \"id\": 5\n}","headers":{"Content-Type":"application/json"}},"uuid":"3d7c577e-d169-438f-b91c-d1f90d441dee","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"b6e00948-fca2-4a11-addd-d16045c94c90","name":"Upload an image to your account's image gallery - default","request":{"urlPathTemplate":"/emailCampaigns/images","method":"POST"},"response":{"status":201,"body":"{\n \"url\": \"https://img.mailinblue.com/100000/images/rnb/original/62casdase8wewq9df1c2f27c.jpeg\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"b6e00948-fca2-4a11-addd-d16045c94c90","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"da8f0483-4951-4e2d-a495-15906071e018","name":"Get an email campaign report - default","request":{"urlPathTemplate":"/emailCampaigns/{campaignId}","method":"GET","pathParameters":{"campaignId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"{\n \"attachmentFile\": \"http://img.mailinblue.com/{clientID-campaignID}/attachments/{fileName}\",\n \"abTesting\": true,\n \"id\": 22,\n \"name\": \"Weekly - 1\",\n \"previewText\": \"your weekly newsletter\",\n \"scheduledAt\": \"2017-09-22T12:30:00Z\",\n \"sendAtBestTime\": true,\n \"splitRule\": 25,\n \"status\": \"draft\",\n \"subject\": \"Week 1 - Newsletter\",\n \"subjectA\": \"Discover the New Collection!\",\n \"subjectB\": \"Want to discover the New Collection?\",\n \"type\": \"classic\",\n \"winnerCriteria\": \"open\",\n \"winnerDelay\": 50,\n \"createdAt\": \"2017-05-01T12:30:00Z\",\n \"footer\": \"[DEFAULT_FOOTER]\",\n \"header\": \"[DEFAULT_HEADER]\",\n \"htmlContent\": \"This is my HTML Content\",\n \"inlineImageActivation\": true,\n \"mirrorActive\": true,\n \"modifiedAt\": \"2017-05-01T12:30:00Z\",\n \"recurring\": false,\n \"replyTo\": \"replyto@domain.com\",\n \"returnBounce\": 5,\n \"sender\": {\n \"email\": \"newsletter@mycompany.com\",\n \"id\": 26,\n \"name\": \"Newsletter\"\n },\n \"sentDate\": \"2018-12-01T16:30:00Z\",\n \"shareLink\": \"http://dhh.brevo.com/fhsgccc.html?t=9865448900\",\n \"tag\": \"Newsletter\",\n \"tags\": [\n \"Newsletter\",\n \"Weekly\"\n ],\n \"testSent\": false,\n \"toField\": \"{FNAME} {LNAME}\",\n \"utmCampaignValue\": \"myutm\",\n \"utmIDActive\": true,\n \"utmMedium\": \"EMAIL\",\n \"utmSource\": \"Brevo\",\n \"recipients\": {\n \"exclusionLists\": [\n 45\n ],\n \"lists\": [\n 22\n ]\n },\n \"statistics\": {\n \"campaignStats\": [\n {\n \"appleMppOpens\": 10,\n \"clickers\": 2665,\n \"complaints\": 1,\n \"deferred\": 30,\n \"delivered\": 19765,\n \"estimatedViews\": 560,\n \"hardBounces\": 87,\n \"listId\": 22,\n \"opensRate\": 29.54,\n \"returnBounce\": 5,\n \"sent\": 19887,\n \"softBounces\": 100,\n \"trackableViews\": 5661,\n \"trackableViewsRate\": 23.45,\n \"uniqueClicks\": 2300,\n \"uniqueViews\": 7779,\n \"unsubscriptions\": 2,\n \"viewed\": 8999\n }\n ],\n \"globalStats\": {\n \"appleMppOpens\": 10,\n \"clickers\": 2665,\n \"complaints\": 1,\n \"deferred\": 30,\n \"delivered\": 19765,\n \"estimatedViews\": 560,\n \"hardBounces\": 87,\n \"listId\": 2,\n \"opensRate\": 24.59,\n \"returnBounce\": 5,\n \"sent\": 19887,\n \"softBounces\": 100,\n \"trackableViews\": 5661,\n \"trackableViewsRate\": 23.45,\n \"uniqueClicks\": 2300,\n \"uniqueViews\": 7779,\n \"unsubscriptions\": 2,\n \"viewed\": 8999\n },\n \"linksStats\": {},\n \"mirrorClick\": 120,\n \"remaining\": 1000,\n \"statsByBrowser\": {\n \"internetExplorer\": {\n \"clickers\": 0,\n \"uniqueClicks\": 0,\n \"uniqueViews\": 0,\n \"viewed\": 1\n },\n \"safari\": {\n \"clickers\": 1,\n \"uniqueClicks\": 0,\n \"uniqueViews\": 0,\n \"viewed\": 1\n },\n \"thunderbird\": {\n \"clickers\": 1,\n \"uniqueClicks\": 0,\n \"uniqueViews\": 0,\n \"viewed\": 1\n }\n },\n \"statsByDevice\": {\n \"desktop\": {\n \"mac\": {\n \"clickers\": 1,\n \"uniqueClicks\": 0,\n \"uniqueViews\": 1,\n \"viewed\": 2\n }\n },\n \"mobile\": {\n \"androidMobile\": {\n \"clickers\": 1,\n \"uniqueClicks\": 0,\n \"uniqueViews\": 0,\n \"viewed\": 1\n },\n \"iPhone\": {\n \"clickers\": 1,\n \"uniqueClicks\": 0,\n \"uniqueViews\": 0,\n \"viewed\": 2\n }\n },\n \"tablet\": {\n \"key\": {\n \"clickers\": 2665,\n \"uniqueClicks\": 2300,\n \"uniqueViews\": 7779,\n \"viewed\": 8999\n }\n },\n \"unknown\": {\n \"key\": {\n \"clickers\": 2665,\n \"uniqueClicks\": 2300,\n \"uniqueViews\": 7779,\n \"viewed\": 8999\n }\n }\n },\n \"statsByDomain\": {\n \"gmail\": {\n \"appleMppOpens\": 10,\n \"clickers\": 2665,\n \"complaints\": 1,\n \"deferred\": 30,\n \"delivered\": 19765,\n \"estimatedViews\": 560,\n \"hardBounces\": 87,\n \"listId\": 2,\n \"opensRate\": 29.54,\n \"returnBounce\": 5,\n \"sent\": 19887,\n \"softBounces\": 100,\n \"trackableViews\": 5661,\n \"trackableViewsRate\": 23.45,\n \"uniqueClicks\": 2300,\n \"uniqueViews\": 7779,\n \"unsubscriptions\": 2,\n \"viewed\": 8999\n }\n }\n }\n}","headers":{"Content-Type":"application/json"}},"uuid":"da8f0483-4951-4e2d-a495-15906071e018","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"27d7a953-713c-4dcc-a03d-a5fcd5fbc134","name":"Update an email campaign - default","request":{"urlPathTemplate":"/emailCampaigns/{campaignId}","method":"PUT","pathParameters":{"campaignId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"27d7a953-713c-4dcc-a03d-a5fcd5fbc134","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"28dbcc0e-eed7-4b02-a7d8-2aab0a25c731","name":"Delete an email campaign - default","request":{"urlPathTemplate":"/emailCampaigns/{campaignId}","method":"DELETE","pathParameters":{"campaignId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"28dbcc0e-eed7-4b02-a7d8-2aab0a25c731","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"969348eb-29d3-48ab-82d1-c46a8412178e","name":"Get an A/B test email campaign results - default","request":{"urlPathTemplate":"/emailCampaigns/{campaignId}/abTestCampaignResult","method":"GET","pathParameters":{"campaignId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"{\n \"clickRate\": \"50%\",\n \"clickedLinks\": {\n \"Version A\": [\n {\n \"clickRate\": \"0%\",\n \"clicksCount\": 0,\n \"link\": \"https://google.com\"\n },\n {\n \"clickRate\": \"0%\",\n \"clicksCount\": 0,\n \"link\": \"https://youtube.com\"\n }\n ],\n \"Version B\": [\n {\n \"clickRate\": \"40%\",\n \"clicksCount\": 2,\n \"link\": \"http://www.github.com\"\n },\n {\n \"clickRate\": \"60%\",\n \"clicksCount\": 3,\n \"link\": \"http://www.stackoverflow.com\"\n }\n ]\n },\n \"openRate\": \"100%\",\n \"statistics\": {\n \"clicks\": {\n \"Version A\": \"0%\",\n \"Version B\": \"50%\"\n },\n \"complaints\": {\n \"Version A\": \"0%\",\n \"Version B\": \"0%\"\n },\n \"hardBounces\": {\n \"Version A\": \"0%\",\n \"Version B\": \"0%\"\n },\n \"openers\": {\n \"Version A\": \"20%\",\n \"Version B\": \"100%\"\n },\n \"softBounces\": {\n \"Version A\": \"0%\",\n \"Version B\": \"0%\"\n },\n \"unsubscribed\": {\n \"Version A\": \"20%\",\n \"Version B\": \"0%\"\n }\n },\n \"winningCriteria\": \"Click\",\n \"winningSubjectLine\": \"Subject Line A\",\n \"winningVersion\": \"B\",\n \"winningVersionRate\": \"0%\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"969348eb-29d3-48ab-82d1-c46a8412178e","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"93e3be61-a737-4896-a697-7417b837b571","name":"Export the recipients of an email campaign - default","request":{"urlPathTemplate":"/emailCampaigns/{campaignId}/exportRecipients","method":"POST","pathParameters":{"campaignId":{"equalTo":"1000000"}}},"response":{"status":202,"body":"{\n \"processId\": 78\n}","headers":{"Content-Type":"application/json"}},"uuid":"93e3be61-a737-4896-a697-7417b837b571","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"b0b17959-d743-449c-8bdd-ab28a42870cc","name":"Send an email campaign immediately, based on campaignId - default","request":{"urlPathTemplate":"/emailCampaigns/{campaignId}/sendNow","method":"POST","pathParameters":{"campaignId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"b0b17959-d743-449c-8bdd-ab28a42870cc","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"57eba48c-9a52-4e90-a12c-fa89a469f035","name":"Send the report of a campaign - default","request":{"urlPathTemplate":"/emailCampaigns/{campaignId}/sendReport","method":"POST","pathParameters":{"campaignId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"57eba48c-9a52-4e90-a12c-fa89a469f035","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"fc668b8b-10da-4f83-ae38-5004f0a64ae7","name":"Send an email campaign to your test list - default","request":{"urlPathTemplate":"/emailCampaigns/{campaignId}/sendTest","method":"POST","pathParameters":{"campaignId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"fc668b8b-10da-4f83-ae38-5004f0a64ae7","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"6bc6114e-fc20-4aa2-ba22-7e7fe7f95244","name":"Get a shared template url - default","request":{"urlPathTemplate":"/emailCampaigns/{campaignId}/sharedUrl","method":"GET","pathParameters":{"campaignId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"{\n \"sharedUrl\": \"https://my.brevo.com/pt2YU7R5W_guXlowgumy_VX4pFsKu._zd0Gjj96x1_GMmzc1Qps5ZIpj6nx-\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"6bc6114e-fc20-4aa2-ba22-7e7fe7f95244","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"8d661344-163b-4798-a243-ba10bd08cbe9","name":"Update an email campaign status - default","request":{"urlPathTemplate":"/emailCampaigns/{campaignId}/status","method":"PUT","pathParameters":{"campaignId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"8d661344-163b-4798-a243-ba10bd08cbe9","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"ffedd57d-0198-49a4-9112-ce7ae8751ebc","name":"Returns the information for all your created SMS campaigns - default","request":{"urlPathTemplate":"/smsCampaigns","method":"GET"},"response":{"status":200,"body":"{\n \"campaigns\": [\n {\n \"content\": \"Visit our Store and get some discount !\",\n \"createdAt\": \"2017-06-01T12:30:00Z\",\n \"id\": 2,\n \"modifiedAt\": \"2017-05-01T12:30:00Z\",\n \"name\": \"PROMO CODE\",\n \"scheduledAt\": \"2017-06-01T12:30:00Z\",\n \"sender\": \"MyCompany\",\n \"status\": \"sent\",\n \"recipients\": {\n \"exclusionLists\": [\n 13\n ],\n \"lists\": [\n 21\n ]\n },\n \"statistics\": {\n \"answered\": 2,\n \"delivered\": 2987,\n \"hardBounces\": 1,\n \"processing\": 0,\n \"sent\": 3000,\n \"softBounces\": 3,\n \"unsubscriptions\": 3\n }\n },\n {\n \"content\": \"Summer Sale is starting tomorrow. Get extra 10% with this code:SUM17\",\n \"createdAt\": \"2017-06-01T12:30:00Z\",\n \"id\": 10,\n \"modifiedAt\": \"2017-05-01T12:30:00Z\",\n \"name\": \"SUMMER SALE\",\n \"scheduledAt\": \"2017-08-04T12:30:00Z\",\n \"sender\": \"MyCompany\",\n \"status\": \"draft\",\n \"recipients\": {\n \"exclusionLists\": [\n 13\n ],\n \"lists\": [\n 21\n ]\n },\n \"statistics\": {\n \"answered\": 2,\n \"delivered\": 2987,\n \"hardBounces\": 1,\n \"processing\": 0,\n \"sent\": 3000,\n \"softBounces\": 3,\n \"unsubscriptions\": 3\n }\n }\n ],\n \"count\": 12\n}","headers":{"Content-Type":"application/json"}},"uuid":"ffedd57d-0198-49a4-9112-ce7ae8751ebc","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"ff5b73cc-83d1-4d1c-9038-f01bc11a604e","name":"Creates an SMS campaign - default","request":{"urlPathTemplate":"/smsCampaigns","method":"POST"},"response":{"status":201,"body":"{\n \"id\": 5\n}","headers":{"Content-Type":"application/json"}},"uuid":"ff5b73cc-83d1-4d1c-9038-f01bc11a604e","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"9ff5c02a-8b74-486b-aca9-7ac003b1838c","name":"Get an SMS campaign - default","request":{"urlPathTemplate":"/smsCampaigns/{campaignId}","method":"GET","pathParameters":{"campaignId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"{\n \"content\": \"Visit our Store and get some discount !\",\n \"createdAt\": \"2017-06-01T12:30:00Z\",\n \"id\": 2,\n \"modifiedAt\": \"2017-05-01T12:30:00Z\",\n \"name\": \"PROMO CODE\",\n \"scheduledAt\": \"2017-06-01T12:30:00Z\",\n \"sender\": \"MyCompany\",\n \"status\": \"sent\",\n \"recipients\": {\n \"exclusionLists\": [\n 13\n ],\n \"lists\": [\n 21\n ]\n },\n \"statistics\": {\n \"answered\": 2,\n \"delivered\": 2987,\n \"hardBounces\": 1,\n \"processing\": 0,\n \"sent\": 3000,\n \"softBounces\": 3,\n \"unsubscriptions\": 3\n }\n}","headers":{"Content-Type":"application/json"}},"uuid":"9ff5c02a-8b74-486b-aca9-7ac003b1838c","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"828e0b76-55ec-4b20-83fd-ff0d9c6a807f","name":"Update an SMS campaign - default","request":{"urlPathTemplate":"/smsCampaigns/{campaignId}","method":"PUT","pathParameters":{"campaignId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"828e0b76-55ec-4b20-83fd-ff0d9c6a807f","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"0938f276-c211-4150-91ac-9ea5e3ddf7fe","name":"Delete an SMS campaign - default","request":{"urlPathTemplate":"/smsCampaigns/{campaignId}","method":"DELETE","pathParameters":{"campaignId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"0938f276-c211-4150-91ac-9ea5e3ddf7fe","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"daaeea82-c583-43fb-b4c7-a6bbc940fc47","name":"Export an SMS campaign's recipients - default","request":{"urlPathTemplate":"/smsCampaigns/{campaignId}/exportRecipients","method":"POST","pathParameters":{"campaignId":{"equalTo":"1000000"}}},"response":{"status":202,"body":"{\n \"processId\": 78\n}","headers":{"Content-Type":"application/json"}},"uuid":"daaeea82-c583-43fb-b4c7-a6bbc940fc47","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"b7dd5175-f7a0-4b5e-9224-203d4fae1c4d","name":"Send your SMS campaign immediately - default","request":{"urlPathTemplate":"/smsCampaigns/{campaignId}/sendNow","method":"POST","pathParameters":{"campaignId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"b7dd5175-f7a0-4b5e-9224-203d4fae1c4d","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"64e8bd39-5b33-477a-ae7f-0501cb5a6140","name":"Send an SMS campaign's report - default","request":{"urlPathTemplate":"/smsCampaigns/{campaignId}/sendReport","method":"POST","pathParameters":{"campaignId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"64e8bd39-5b33-477a-ae7f-0501cb5a6140","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"734d1bda-9010-4188-9a00-57d5b302eee4","name":"Send a test SMS campaign - default","request":{"urlPathTemplate":"/smsCampaigns/{campaignId}/sendTest","method":"POST","pathParameters":{"campaignId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"734d1bda-9010-4188-9a00-57d5b302eee4","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"694adffd-8af9-45be-8225-5e44e17d7454","name":"Update a campaign's status - default","request":{"urlPathTemplate":"/smsCampaigns/{campaignId}/status","method":"PUT","pathParameters":{"campaignId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"694adffd-8af9-45be-8225-5e44e17d7454","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"03183785-7a99-4733-896c-eb489047065c","name":"Return all your created WhatsApp campaigns - default","request":{"urlPathTemplate":"/whatsappCampaigns","method":"GET"},"response":{"status":200,"body":"{\n \"campaigns\": [\n {\n \"campaignName\": \"campaign_22\",\n \"campaignStatus\": \"sent\",\n \"createdAt\": \"2017-05-01T12:30:00Z\",\n \"errorReason\": \"NONE\",\n \"id\": 1672035851100690,\n \"invalidatedContacts\": 0,\n \"modifiedAt\": \"2017-05-01T12:30:00Z\",\n \"readPercentage\": 28.57,\n \"scheduledAt\": \"2022-12-27T09:50:00Z\",\n \"stats\": {\n \"delivered\": 3,\n \"notSent\": 4,\n \"read\": 2,\n \"sent\": 3,\n \"unsubscribe\": 0\n },\n \"templateId\": \"templateId\"\n }\n ],\n \"count\": 23\n}","headers":{"Content-Type":"application/json"}},"uuid":"03183785-7a99-4733-896c-eb489047065c","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"5fc3f144-a51f-454f-a5d0-019b38ba3c15","name":"Create and Send a WhatsApp campaign - default","request":{"urlPathTemplate":"/whatsappCampaigns","method":"POST"},"response":{"status":201,"body":"{\n \"id\": 5\n}","headers":{"Content-Type":"application/json"}},"uuid":"5fc3f144-a51f-454f-a5d0-019b38ba3c15","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"cc80c9bc-ff82-4140-9b7a-dfb84c8e99a7","name":"Get your WhatsApp API account information - default","request":{"urlPathTemplate":"/whatsappCampaigns/config","method":"GET"},"response":{"status":200,"body":"{\n \"businessStatus\": \"verified\",\n \"phoneNumberNameStatus\": \"APPROVED\",\n \"phoneNumberQuality\": \"GREEN\",\n \"sendingLimit\": \"TIER_1K\",\n \"whatsappBusinessAccountId\": \"whatsappBusinessAccountId\",\n \"whatsappBusinessAccountStatus\": \"APPROVED\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"cc80c9bc-ff82-4140-9b7a-dfb84c8e99a7","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"5217f5cb-e270-45d2-bf41-0aa3651c5839","name":"Create a WhatsApp template - default","request":{"urlPathTemplate":"/whatsappCampaigns/template","method":"POST"},"response":{"status":201,"body":"{\n \"id\": 5\n}","headers":{"Content-Type":"application/json"}},"uuid":"5217f5cb-e270-45d2-bf41-0aa3651c5839","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"e541402c-10e0-447d-ab89-e9102a312296","name":"Return all your created WhatsApp templates - default","request":{"urlPathTemplate":"/whatsappCampaigns/template-list","method":"GET"},"response":{"status":200,"body":"{\n \"count\": 2,\n \"templates\": [\n {\n \"category\": \"MARKETING\",\n \"createdAt\": \"2017-05-01T12:30:00Z\",\n \"errorReason\": \"NONE\",\n \"id\": 235,\n \"language\": \"en\",\n \"modifiedAt\": \"2017-05-01T12:30:00Z\",\n \"name\": \"campaign_22\",\n \"status\": \"approved\"\n },\n {\n \"category\": \"MARKETING\",\n \"createdAt\": \"2017-0\",\n \"errorReason\": \"NONE\",\n \"id\": 124,\n \"language\": \"\",\n \"modifiedAt\": \"2017-05-01T12:30:00Z\",\n \"name\": \"test-template\",\n \"status\": \"draft\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"e541402c-10e0-447d-ab89-e9102a312296","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"c47467e5-3355-486f-b83b-ecf963b249b4","name":"Send your WhatsApp template for approval - default","request":{"urlPathTemplate":"/whatsappCampaigns/template/approval/{templateId}","method":"POST","pathParameters":{"templateId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"c47467e5-3355-486f-b83b-ecf963b249b4","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"6d437255-9beb-48aa-9616-0b438eb437f6","name":"Get a WhatsApp campaign - default","request":{"urlPathTemplate":"/whatsappCampaigns/{campaignId}","method":"GET","pathParameters":{"campaignId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"{\n \"campaignName\": \"Test WhatsApp Campaign\",\n \"campaignStatus\": \"sent\",\n \"createdAt\": \"2022-12-26T06:50:00Z\",\n \"id\": 1672035851100690,\n \"modifiedAt\": \"2022-12-26T08:50:00Z\",\n \"scheduledAt\": \"2022-12-27T09:50:00Z\",\n \"senderNumber\": \"senderNumber\",\n \"stats\": {\n \"delivered\": 3,\n \"notSent\": 4,\n \"read\": 2,\n \"sent\": 3,\n \"unsubscribe\": 0\n },\n \"template\": {\n \"body_variables\": [\n {\n \"datatype\": \"text\",\n \"default\": \"INVALID_HEADER\",\n \"name\": \"FIRSTNAME\"\n }\n ],\n \"button_type\": \"CALL_TO_ACTION\",\n \"category\": \"MARKETING\",\n \"components\": [\n {\n \"text\": \"making it look like readable English.\",\n \"type\": \"BODY\"\n },\n {\n \"text\": \"Life is a long lesson in humility\",\n \"type\": \"BUTTONS\"\n }\n ],\n \"contains_button\": true,\n \"display_header\": false,\n \"header_type\": \"text\",\n \"header_variables\": [\n {\n \"datatype\": \"text\",\n \"default\": \"INVALID HEADER\",\n \"name\": \"FIRSTNAME\"\n }\n ],\n \"hide_footer\": true,\n \"language\": \"en\",\n \"name\": \"official_campaign8\"\n }\n}","headers":{"Content-Type":"application/json"}},"uuid":"6d437255-9beb-48aa-9616-0b438eb437f6","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"eb75a9a4-36c5-4126-9a14-85044f19f2c1","name":"Update a WhatsApp campaign - default","request":{"urlPathTemplate":"/whatsappCampaigns/{campaignId}","method":"PUT","pathParameters":{"campaignId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"eb75a9a4-36c5-4126-9a14-85044f19f2c1","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"b4ef121d-89fa-4fb6-984d-39467bf9fd6b","name":"Delete a WhatsApp campaign - default","request":{"urlPathTemplate":"/whatsappCampaigns/{campaignId}","method":"DELETE","pathParameters":{"campaignId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"b4ef121d-89fa-4fb6-984d-39467bf9fd6b","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"eb31fc6b-22fd-431f-ba7e-59e0d7773487","name":"Get all Companies - default","request":{"urlPathTemplate":"/companies","method":"GET"},"response":{"status":200,"body":"{\n \"items\": [\n {\n \"attributes\": {\n \"created_at\": \"2022-01-13T19:04:24.376+05:30\",\n \"domain\": \"xyz\",\n \"last_updated_at\": \"2022-04-01T18:47:48.283+05:30\",\n \"name\": \"text\",\n \"number_of_contacts\": 0,\n \"owner\": \"62260474111b1101704a9d85\",\n \"owner_assign_date\": \"2022-04-01T18:21:13.379+05:30\",\n \"phone_number\": 8171844192,\n \"revenue\": 10\n },\n \"id\": \"629475917295261d9b1f4403\",\n \"linkedContactsIds\": [\n 1,\n 2,\n 3\n ],\n \"linkedDealsIds\": [\n \"61a5ce58c5d4795761045990\",\n \"61a5ce58c5d4795761045991\",\n \"61a5ce58c5d4795761045992\"\n ]\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"eb31fc6b-22fd-431f-ba7e-59e0d7773487","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"e17f5536-5a6b-4a26-8102-3170dd47ae3d","name":"Create a company - default","request":{"urlPathTemplate":"/companies","method":"POST"},"response":{"status":200,"body":"{\n \"id\": \"61a5cd07ca1347c82306ad06\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"e17f5536-5a6b-4a26-8102-3170dd47ae3d","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"f390d3a7-6a70-4b45-ad33-f4f3d3000538","name":"Import companies(creation and updation) - default","request":{"urlPathTemplate":"/companies/import","method":"POST"},"response":{"status":200,"body":"{\n \"processId\": 50\n}","headers":{"Content-Type":"application/json"}},"uuid":"f390d3a7-6a70-4b45-ad33-f4f3d3000538","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"708feaed-27c0-429f-8086-5e7c5e4ecd8d","name":"Link and Unlink company with contact and deal - default","request":{"urlPathTemplate":"/companies/link-unlink/{id}","method":"PATCH","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"708feaed-27c0-429f-8086-5e7c5e4ecd8d","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"00aba53e-3870-4157-ace9-c2d252198e11","name":"Get a company - default","request":{"urlPathTemplate":"/companies/{id}","method":"GET","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"{\n \"attributes\": {\n \"created_at\": \"2022-01-13T19:04:24.376+05:30\",\n \"domain\": \"xyz\",\n \"last_updated_at\": \"2022-04-01T18:47:48.283+05:30\",\n \"name\": \"text\",\n \"number_of_contacts\": 0,\n \"owner\": \"62260474111b1101704a9d85\",\n \"owner_assign_date\": \"2022-04-01T18:21:13.379+05:30\",\n \"phone_number\": 8171844192,\n \"revenue\": 10\n },\n \"id\": \"629475917295261d9b1f4403\",\n \"linkedContactsIds\": [\n 1,\n 2,\n 3\n ],\n \"linkedDealsIds\": [\n \"61a5ce58c5d4795761045990\",\n \"61a5ce58c5d4795761045991\",\n \"61a5ce58c5d4795761045992\"\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"00aba53e-3870-4157-ace9-c2d252198e11","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"ed72bcbe-33c2-48e2-93e4-756a46e8fd90","name":"Delete a company - default","request":{"urlPathTemplate":"/companies/{id}","method":"DELETE","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"ed72bcbe-33c2-48e2-93e4-756a46e8fd90","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"3d37f940-80db-41f6-9f83-1f3a2c69804b","name":"Update a company - default","request":{"urlPathTemplate":"/companies/{id}","method":"PATCH","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"{\n \"attributes\": {\n \"created_at\": \"2022-01-13T19:04:24.376+05:30\",\n \"domain\": \"xyz\",\n \"last_updated_at\": \"2022-04-01T18:47:48.283+05:30\",\n \"name\": \"text\",\n \"number_of_contacts\": 0,\n \"owner\": \"62260474111b1101704a9d85\",\n \"owner_assign_date\": \"2022-04-01T18:21:13.379+05:30\",\n \"phone_number\": 8171844192,\n \"revenue\": 10\n },\n \"id\": \"629475917295261d9b1f4403\",\n \"linkedContactsIds\": [\n 1,\n 2,\n 3\n ],\n \"linkedDealsIds\": [\n \"61a5ce58c5d4795761045990\",\n \"61a5ce58c5d4795761045991\",\n \"61a5ce58c5d4795761045992\"\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"3d37f940-80db-41f6-9f83-1f3a2c69804b","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"1a24ce32-7c2c-41a5-80a9-1681d05767ad","name":"Create a company/deal attribute - default","request":{"urlPathTemplate":"/crm/attributes","method":"POST"},"response":{"status":200,"body":"{\n \"id\": \"61a5cd07ca1347c82306ad07\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"1a24ce32-7c2c-41a5-80a9-1681d05767ad","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"360c88d6-c7bb-4c00-b1ab-146f803e9eff","name":"Delete an attribute - default","request":{"urlPathTemplate":"/crm/attributes/{id}","method":"DELETE","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"360c88d6-c7bb-4c00-b1ab-146f803e9eff","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"a9790cec-51da-4b91-ae52-a3b58fa8c717","name":"Update an attribute - default","request":{"urlPathTemplate":"/crm/attributes/{id}","method":"PATCH","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"a9790cec-51da-4b91-ae52-a3b58fa8c717","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"696b098d-c426-490d-993d-82b72a9a6eec","name":"Get company attributes - default","request":{"urlPathTemplate":"/crm/attributes/companies","method":"GET"},"response":{"status":200,"body":"[\n {\n \"attributeOptions\": [\n {\n \"key\": \"custom key\",\n \"value\": \"custom label\"\n }\n ],\n \"attributeTypeName\": \"text\",\n \"internalName\": \"name\",\n \"isRequired\": true,\n \"label\": \"Company Name\"\n }\n]","headers":{"Content-Type":"application/json"}},"uuid":"696b098d-c426-490d-993d-82b72a9a6eec","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"3db982e0-00b7-41af-bc9d-fe3f54d90a12","name":"Get deal attributes - default","request":{"urlPathTemplate":"/crm/attributes/deals","method":"GET"},"response":{"status":200,"body":"[\n {\n \"attributeOptions\": [\n {\n \"key\": \"custom key\",\n \"value\": \"custom label\"\n }\n ],\n \"attributeTypeName\": \"text\",\n \"internalName\": \"deal_name\",\n \"isRequired\": true,\n \"label\": \"Deal Name\"\n }\n]","headers":{"Content-Type":"application/json"}},"uuid":"3db982e0-00b7-41af-bc9d-fe3f54d90a12","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"4ee2c155-e8d9-4aee-b095-699a2c9a6263","name":"Get all deals - default","request":{"urlPathTemplate":"/crm/deals","method":"GET"},"response":{"status":200,"body":"{\n \"items\": [\n {\n \"attributes\": {\n \"amount\": 12,\n \"created_at\": \"2022-05-30T07:42:05.671Z\",\n \"deal_name\": \"testname\",\n \"deal_owner\": \"6093d2425a9b436e9519d034\",\n \"deal_stage\": \"9e577ff7-8e42-4ab3-be26-2b5e01b42518\",\n \"last_activity_date\": \"2022-06-06T08:38:36.000Z\",\n \"last_updated_date\": \"2022-06-06T08:38:36.761Z\",\n \"number_of_activities\": 0,\n \"number_of_contacts\": 1,\n \"pipeline\": \"6093d296ad1e9c5cf2140a58\",\n \"stage_updated_at\": \"2022-05-30T07:42:05.671Z\"\n },\n \"id\": \"629475917295261d9b1f4403\",\n \"linkedCompaniesIds\": [\n \"61a5ce58c5d4795761045990\",\n \"61a5ce58c5d4795761045991\",\n \"61a5ce58c5d4795761045992\"\n ],\n \"linkedContactsIds\": [\n 1,\n 2,\n 3\n ]\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"4ee2c155-e8d9-4aee-b095-699a2c9a6263","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"21216821-874f-4e2a-a690-4b805b03c721","name":"Create a deal - default","request":{"urlPathTemplate":"/crm/deals","method":"POST"},"response":{"status":201,"body":"{\n \"id\": \"61a5cd07ca1347c82306ad06\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"21216821-874f-4e2a-a690-4b805b03c721","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"ce9e7723-550c-4f51-af88-6cde553f45b7","name":"Import deals(creation and updation) - default","request":{"urlPathTemplate":"/crm/deals/import","method":"POST"},"response":{"status":200,"body":"{\n \"processId\": 50\n}","headers":{"Content-Type":"application/json"}},"uuid":"ce9e7723-550c-4f51-af88-6cde553f45b7","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"f89fa5e6-0434-46e0-8c77-535bea98fc1a","name":"Link and Unlink a deal with contacts and companies - default","request":{"urlPathTemplate":"/crm/deals/link-unlink/{id}","method":"PATCH","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"f89fa5e6-0434-46e0-8c77-535bea98fc1a","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"a3513f5b-5df8-443d-aa67-5efd91e58f3d","name":"Get a deal - default","request":{"urlPathTemplate":"/crm/deals/{id}","method":"GET","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"{\n \"attributes\": {\n \"amount\": 12,\n \"created_at\": \"2022-05-30T07:42:05.671Z\",\n \"deal_name\": \"testname\",\n \"deal_owner\": \"6093d2425a9b436e9519d034\",\n \"deal_stage\": \"9e577ff7-8e42-4ab3-be26-2b5e01b42518\",\n \"last_activity_date\": \"2022-06-06T08:38:36.000Z\",\n \"last_updated_date\": \"2022-06-06T08:38:36.761Z\",\n \"next_activity_date\": {\n \"key\": \"value\"\n },\n \"number_of_activities\": 0,\n \"number_of_contacts\": 1,\n \"pipeline\": \"6093d296ad1e9c5cf2140a58\",\n \"stage_updated_at\": \"2022-05-30T07:42:05.671Z\"\n },\n \"id\": \"629475917295261d9b1f4403\",\n \"linkedCompaniesIds\": [\n \"61a5ce58c5d4795761045990\",\n \"61a5ce58c5d4795761045991\",\n \"61a5ce58c5d4795761045992\"\n ],\n \"linkedContactsIds\": [\n 1,\n 2,\n 3\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"a3513f5b-5df8-443d-aa67-5efd91e58f3d","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"54ba1660-4170-41b9-86d2-963468e28812","name":"Delete a deal - default","request":{"urlPathTemplate":"/crm/deals/{id}","method":"DELETE","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"54ba1660-4170-41b9-86d2-963468e28812","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"e555066b-bfb4-4582-9f37-6eec50af9fe4","name":"Update a deal - default","request":{"urlPathTemplate":"/crm/deals/{id}","method":"PATCH","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"e555066b-bfb4-4582-9f37-6eec50af9fe4","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"00d065e6-8a4f-4ac9-a849-298a81551e9c","name":"Get pipeline stages - default","request":{"urlPathTemplate":"/crm/pipeline/details","method":"GET"},"response":{"status":200,"body":"{\n \"pipeline\": \"5ea675e3da0dd085acaea610\",\n \"pipeline_name\": \"Sales Pipeline\",\n \"stages\": [\n {\n \"id\": \"9e577ff7-8e42-4ab3-be26-2b5e01b42518\",\n \"name\": \"New\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"00d065e6-8a4f-4ac9-a849-298a81551e9c","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"e75093b9-5f73-46e0-a2af-1f7c47922829","name":"Get all pipelines - default","request":{"urlPathTemplate":"/crm/pipeline/details/all","method":"GET"},"response":{"status":200,"body":"[\n {\n \"pipeline\": \"5ea675e3da0dd085acaea610\",\n \"pipeline_name\": \"Sales Pipeline\",\n \"stages\": [\n {\n \"id\": \"9e577ff7-8e42-4ab3-be26-2b5e01b42518\",\n \"name\": \"New\"\n }\n ]\n }\n]","headers":{"Content-Type":"application/json"}},"uuid":"e75093b9-5f73-46e0-a2af-1f7c47922829","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"2882799f-edf8-4d3b-826d-3692f300d025","name":"Get a pipeline - default","request":{"urlPathTemplate":"/crm/pipeline/details/{pipelineID}","method":"GET","pathParameters":{"pipelineID":{"equalTo":"pipelineID"}}},"response":{"status":200,"body":"[\n {\n \"pipeline\": \"5ea675e3da0dd085acaea610\",\n \"pipeline_name\": \"Sales Pipeline\",\n \"stages\": [\n {\n \"id\": \"9e577ff7-8e42-4ab3-be26-2b5e01b42518\",\n \"name\": \"New\"\n }\n ]\n }\n]","headers":{"Content-Type":"application/json"}},"uuid":"2882799f-edf8-4d3b-826d-3692f300d025","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"2e96e9dc-f52d-4354-a185-de3257903a02","name":"Get all files - default","request":{"urlPathTemplate":"/crm/files","method":"GET"},"response":{"status":200,"body":"[\n {\n \"authorId\": \"61a5ce58y5d4795761045991\",\n \"companyId\": \"61a5ce58c5d4795761045991\",\n \"contactId\": 1,\n \"createdAt\": \"2017-05-01T17:05:03Z\",\n \"dealId\": \"61a5ce58c5d4795761045991\",\n \"name\": \"example.png\",\n \"size\": 10\n }\n]","headers":{"Content-Type":"application/json"}},"uuid":"2e96e9dc-f52d-4354-a185-de3257903a02","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"54153a26-e96d-4b54-acab-08a1b6bb6027","name":"Upload a file - default","request":{"urlPathTemplate":"/crm/files","method":"POST"},"response":{"status":201,"body":"{\n \"authorId\": \"61a5ce58y5d4795761045991\",\n \"companyId\": \"61a5ce58c5d4795761045991\",\n \"contactId\": 1,\n \"createdAt\": \"2017-05-01T17:05:03Z\",\n \"dealId\": \"61a5ce58c5d4795761045991\",\n \"name\": \"example.png\",\n \"size\": 10\n}","headers":{"Content-Type":"application/json"}},"uuid":"54153a26-e96d-4b54-acab-08a1b6bb6027","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"fea850a9-ab2c-4fee-89b8-e564df22e53a","name":"Download a file - default","request":{"urlPathTemplate":"/crm/files/{id}","method":"GET","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"{\n \"fileUrl\": \"https://storage.googleapis.com/brevo-app-crm.......-sample.pdf\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"fea850a9-ab2c-4fee-89b8-e564df22e53a","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"38b72322-9ea0-47f2-b639-7d466c243b82","name":"Delete a file - default","request":{"urlPathTemplate":"/crm/files/{id}","method":"DELETE","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"38b72322-9ea0-47f2-b639-7d466c243b82","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"1ee1505b-b76c-47f3-addc-8d237075f2a3","name":"Get file details - default","request":{"urlPathTemplate":"/crm/files/{id}/data","method":"GET","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"{\n \"authorId\": \"61a5ce58y5d4795761045991\",\n \"companyId\": \"61a5ce58c5d4795761045991\",\n \"contactId\": 1,\n \"createdAt\": \"2017-05-01T17:05:03Z\",\n \"dealId\": \"61a5ce58c5d4795761045991\",\n \"name\": \"example.png\",\n \"size\": 10\n}","headers":{"Content-Type":"application/json"}},"uuid":"1ee1505b-b76c-47f3-addc-8d237075f2a3","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"608a87de-9e4a-45e5-bb3a-e0683eb220b8","name":"Get all notes - default","request":{"urlPathTemplate":"/crm/notes","method":"GET"},"response":{"status":200,"body":"[\n {\n \"authorId\": {\n \"email\": \"johndoe@example.com\",\n \"id\": \"61a5ce58y5d4795761045991\",\n \"locale\": \"en_GB\",\n \"name\": {\n \"fullName\": \"John Doe\"\n },\n \"timezone\": \"Asia/Kolkata\"\n },\n \"contactIds\": [\n 247,\n 1,\n 2\n ],\n \"createdAt\": \"2017-05-01T17:05:03Z\",\n \"dealIds\": [\n \"61a5ce58c5d4795761045990\",\n \"61a5ce58c5d4795761045991\"\n ],\n \"id\": \"61a5cd07ca1347c82306ad09\",\n \"text\": \"In communication with client_dev for resolution of queries.\",\n \"updatedAt\": \"2017-05-01T17:05:03Z\"\n }\n]","headers":{"Content-Type":"application/json"}},"uuid":"608a87de-9e4a-45e5-bb3a-e0683eb220b8","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"0ceb328a-0b27-4d1d-8ba3-3abc8979d485","name":"Create a note - default","request":{"urlPathTemplate":"/crm/notes","method":"POST"},"response":{"status":200,"body":"{\n \"id\": \"61a5cd07ca1347c82306ad09\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"0ceb328a-0b27-4d1d-8ba3-3abc8979d485","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"f9cf8ca7-3372-4b74-854e-93a3d45c5d56","name":"Get a note - default","request":{"urlPathTemplate":"/crm/notes/{id}","method":"GET","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"{\n \"authorId\": {\n \"email\": \"johndoe@example.com\",\n \"id\": \"61a5ce58y5d4795761045991\",\n \"locale\": \"en_GB\",\n \"name\": {\n \"fullName\": \"John Doe\"\n },\n \"timezone\": \"Asia/Kolkata\"\n },\n \"contactIds\": [\n 247,\n 1,\n 2\n ],\n \"createdAt\": \"2017-05-01T17:05:03Z\",\n \"dealIds\": [\n \"61a5ce58c5d4795761045990\",\n \"61a5ce58c5d4795761045991\"\n ],\n \"id\": \"61a5cd07ca1347c82306ad09\",\n \"text\": \"In communication with client_dev for resolution of queries.\",\n \"updatedAt\": \"2017-05-01T17:05:03Z\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"f9cf8ca7-3372-4b74-854e-93a3d45c5d56","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"b382d16e-0455-423c-9dd1-42efa255a495","name":"Delete a note - default","request":{"urlPathTemplate":"/crm/notes/{id}","method":"DELETE","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"b382d16e-0455-423c-9dd1-42efa255a495","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"458a7a9b-298d-44e2-a117-63db0c9047f0","name":"Update a note - default","request":{"urlPathTemplate":"/crm/notes/{id}","method":"PATCH","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"458a7a9b-298d-44e2-a117-63db0c9047f0","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"ce9a81b3-1605-4c76-bf79-fc52ff6a2653","name":"Get all tasks - default","request":{"urlPathTemplate":"/crm/tasks","method":"GET","queryParameters":{"sortBy":{"equalTo":"name"}}},"response":{"status":200,"body":"{\n \"items\": [\n {\n \"companiesIds\": [\n \"61a5ce58c5d4795761045990\",\n \"61a5ce58c5d4795761045991\",\n \"61a5ce58c5d4795761045992\"\n ],\n \"contactsIds\": [\n 1,\n 2,\n 3\n ],\n \"dealsIds\": [\n \"61a5ce58c5d4795761045990\",\n \"61a5ce58c5d4795761045991\",\n \"61a5ce58c5d4795761045992\"\n ],\n \"id\": \"61a5cd07ca1347c82306ad06\",\n \"name\": \"Task: Connect with client_dev\",\n \"taskTypeId\": \"61a5cd07ca1347c82306ad09\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"ce9a81b3-1605-4c76-bf79-fc52ff6a2653","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"60ee1139-00c5-4746-b240-523605d43bb4","name":"Create a task - default","request":{"urlPathTemplate":"/crm/tasks","method":"POST"},"response":{"status":201,"body":"{\n \"id\": \"61a5cd07ca1347c82306ad06\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"60ee1139-00c5-4746-b240-523605d43bb4","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"909b9f4c-1f5b-4271-82fe-a4e4847db6c7","name":"Get a task - default","request":{"urlPathTemplate":"/crm/tasks/{id}","method":"GET","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"{\n \"companiesIds\": [\n \"61a5ce58c5d4795761045990\",\n \"61a5ce58c5d4795761045991\",\n \"61a5ce58c5d4795761045992\"\n ],\n \"contactsIds\": [\n 1,\n 2,\n 3\n ],\n \"dealsIds\": [\n \"61a5ce58c5d4795761045990\",\n \"61a5ce58c5d4795761045991\",\n \"61a5ce58c5d4795761045992\"\n ],\n \"id\": \"61a5cd07ca1347c82306ad06\",\n \"name\": \"Task: Connect with client_dev\",\n \"taskTypeId\": \"61a5cd07ca1347c82306ad09\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"909b9f4c-1f5b-4271-82fe-a4e4847db6c7","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"040ca6a6-b7b7-4cfd-95b2-a493ccc1691e","name":"Delete a task - default","request":{"urlPathTemplate":"/crm/tasks/{id}","method":"DELETE","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"040ca6a6-b7b7-4cfd-95b2-a493ccc1691e","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"90199d04-c868-46bf-8e40-5e330c257e75","name":"Update a task - default","request":{"urlPathTemplate":"/crm/tasks/{id}","method":"PATCH","pathParameters":{"id":{"equalTo":"id"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"90199d04-c868-46bf-8e40-5e330c257e75","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"667b0721-7004-49d8-9017-b6d086394c2f","name":"Get all task types - default","request":{"urlPathTemplate":"/crm/tasktypes","method":"GET"},"response":{"status":200,"body":"{\n \"id\": \"61a88a2eb7a574180261234\",\n \"title\": \"Email\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"667b0721-7004-49d8-9017-b6d086394c2f","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"22a7a09a-6fad-41dd-aed4-b8806c57a34a","name":"Send a WhatsApp message - default","request":{"urlPathTemplate":"/whatsapp/sendMessage","method":"POST"},"response":{"status":201,"body":"{\n \"messageId\": \"23befbae-1505-47a8-bd27-e30ef739f32c\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"22a7a09a-6fad-41dd-aed4-b8806c57a34a","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"fab3ac15-a813-4c2f-9673-e64845544c00","name":"Get all your WhatsApp activity (unaggregated events) - default","request":{"urlPathTemplate":"/whatsapp/statistics/events","method":"GET"},"response":{"status":200,"body":"{\n \"events\": [\n {\n \"body\": \"Hi! I am a reply\",\n \"contactNumber\": \"contactNumber\",\n \"date\": \"2017-03-12T12:30:00Z\",\n \"event\": \"sent\",\n \"mediaUrl\": \"https://example.com/media.png\",\n \"messageId\": \"23befbae-1505-47a8-bd27-e30ef739f32c\",\n \"reason\": \"23befbae-1505-47a8-bd27-e30ef739f32c\",\n \"senderNumber\": \"senderNumber\"\n },\n {\n \"body\": \"Hi! I am a reply\",\n \"contactNumber\": \"contactNumber\",\n \"date\": \"2017-03-12T12:30:00Z\",\n \"event\": \"error\",\n \"mediaUrl\": \"https://example.com/media.png\",\n \"messageId\": \"23befbae-1505-47a8-bd27-e30ef739f32c\",\n \"reason\": \"error reason\",\n \"senderNumber\": \"senderNumber\"\n },\n {\n \"body\": \"Hi! I am a reply\",\n \"contactNumber\": \"contactNumber\",\n \"date\": \"2017-03-12T12:30:00Z\",\n \"event\": \"soft-bounce\",\n \"mediaUrl\": \"https://example.com/media.png\",\n \"messageId\": \"23befbae-1505-47a8-bd27-e30ef739f32c\",\n \"reason\": \"invalid whatsapp contact\",\n \"senderNumber\": \"senderNumber\"\n },\n {\n \"body\": \"body only in case of text reply & url will be empty\",\n \"contactNumber\": \"contactNumber\",\n \"date\": \"2017-03-12T12:30:00Z\",\n \"event\": \"reply\",\n \"mediaUrl\": \"media url only in case media reply & body will be empty\",\n \"messageId\": \"23befbae-1505-47a8-bd27-e30ef739f32c\",\n \"reason\": \"23befbae-1505-47a8-bd27-e30ef739f32c\",\n \"senderNumber\": \"senderNumber\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"fab3ac15-a813-4c2f-9673-e64845544c00","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"28f43c06-69ca-463d-ad60-4a71c61a0440","name":"Get the list of blocked or unsubscribed transactional contacts - default","request":{"urlPathTemplate":"/smtp/blockedContacts","method":"GET"},"response":{"status":200,"body":"{\n \"contacts\": [\n {\n \"blockedAt\": \"2017-05-01T12:30:00Z\",\n \"email\": \"abc@xyz.com\",\n \"reason\": {\n \"code\": \"adminBlocked\",\n \"message\": \"Admin blocked\"\n },\n \"senderEmail\": \"ez312@gmal.com\"\n }\n ],\n \"count\": 1\n}","headers":{"Content-Type":"application/json"}},"uuid":"28f43c06-69ca-463d-ad60-4a71c61a0440","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"e81c8495-0ef3-44b1-a9ce-45cc2bef7798","name":"Unblock or resubscribe a transactional contact - default","request":{"urlPathTemplate":"/smtp/blockedContacts/{email}","method":"DELETE","pathParameters":{"email":{"equalTo":"email"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"e81c8495-0ef3-44b1-a9ce-45cc2bef7798","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"0aab435d-618c-452b-8545-7c35e9088c78","name":"Get the list of blocked domains - default","request":{"urlPathTemplate":"/smtp/blockedDomains","method":"GET"},"response":{"status":200,"body":"{\n \"domains\": [\n \"example.com\",\n \"testdomain.com\"\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"0aab435d-618c-452b-8545-7c35e9088c78","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"350fd1cc-de1c-4197-ae49-46ce6a1d6c03","name":"Add a new domain to the list of blocked domains - default","request":{"urlPathTemplate":"/smtp/blockedDomains","method":"POST"},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"350fd1cc-de1c-4197-ae49-46ce6a1d6c03","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"f5e28407-a9c3-4231-b722-a6b8bbd8af4a","name":"Unblock an existing domain from the list of blocked domains - default","request":{"urlPathTemplate":"/smtp/blockedDomains/{domain}","method":"DELETE","pathParameters":{"domain":{"equalTo":"domain"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"f5e28407-a9c3-4231-b722-a6b8bbd8af4a","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"d0e027cd-c123-40e7-9aad-30cdce7cf01d","name":"Delete hardbounces - default","request":{"urlPathTemplate":"/smtp/deleteHardbounces","method":"POST"},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"d0e027cd-c123-40e7-9aad-30cdce7cf01d","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"4682dc2f-8d22-401b-bb70-9d7939f0b7f7","name":"Send a transactional email - default","request":{"urlPathTemplate":"/smtp/email","method":"POST"},"response":{"status":201,"body":"{\n \"messageId\": \"<201798300811.5787683@relay.domain.com>\",\n \"messageIds\": [\n \"messageIds\"\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"4682dc2f-8d22-401b-bb70-9d7939f0b7f7","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"5b6bfccd-a5f9-44e8-ab53-d5429f8f9e49","name":"Delete scheduled emails by batchId or messageId - default","request":{"urlPathTemplate":"/smtp/email/{identifier}","method":"DELETE","pathParameters":{"identifier":{"equalTo":"4320f270-a4e3-4a2e-b591-edfe30a5e627"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"5b6bfccd-a5f9-44e8-ab53-d5429f8f9e49","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"7b3f5d29-5b44-4d25-ba1b-9b35d7e1bb44","name":"Fetch scheduled emails by batchId or messageId - default","request":{"urlPathTemplate":"/smtp/emailStatus/{identifier}","method":"GET","pathParameters":{"identifier":{"equalTo":"4320f270-a4e3-4a2e-b591-edfe30a5e627"}},"queryParameters":{"startDate":{"equalTo":"2022-02-02"},"endDate":{"equalTo":"2022-03-02"}}},"response":{"status":200,"body":"{\n \"batches\": [\n {\n \"createdAt\": \"2022-02-26T11:36:43Z\",\n \"scheduledAt\": \"2022-02-28T11:36:43Z\",\n \"status\": \"queued\"\n },\n {\n \"createdAt\": \"2022-02-24T11:36:43Z\",\n \"scheduledAt\": \"2022-02-25T11:36:43Z\",\n \"status\": \"processed\"\n },\n {\n \"createdAt\": \"2022-02-25T11:36:43Z\",\n \"scheduledAt\": \"2022-02-26T11:36:43Z\",\n \"status\": \"inProgress\"\n }\n ],\n \"count\": 3\n}","headers":{"Content-Type":"application/json"}},"uuid":"7b3f5d29-5b44-4d25-ba1b-9b35d7e1bb44","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"59d3278a-2ea0-47c9-9d55-a4046d1b1377","name":"Get the list of transactional emails on the basis of allowed filters - default","request":{"urlPathTemplate":"/smtp/emails","method":"GET"},"response":{"status":200,"body":"{\n \"count\": 120,\n \"transactionalEmails\": [\n {\n \"date\": \"2019-05-25T11:53:26Z\",\n \"email\": \"abc@xyz.com\",\n \"from\": \"diana.doe@example.com\",\n \"messageId\": \"<201798300811.5787683@relay.domain.com>\",\n \"subject\": \"summer camp\",\n \"tags\": [\n \"tag1\"\n ],\n \"templateId\": 15,\n \"uuid\": \"5a78c-209ok98262910-std2341\"\n },\n {\n \"date\": \"2019-05-25T07:28:11Z\",\n \"email\": \"test@test.com\",\n \"from\": \"diana.doe@example.com\",\n \"messageId\": \"<201798300811.5700093@relay.domain.com>\",\n \"subject\": \"details verification\",\n \"tags\": [\n \"tag1\"\n ],\n \"templateId\": 15,\n \"uuid\": \"5a78c-209ok98262910-s99a341\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"59d3278a-2ea0-47c9-9d55-a4046d1b1377","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"242bc913-9644-453e-a76b-b6898985c451","name":"Get the personalized content of a sent transactional email - default","request":{"urlPathTemplate":"/smtp/emails/{uuid}","method":"GET","pathParameters":{"uuid":{"equalTo":"uuid"}}},"response":{"status":200,"body":"{\n \"attachmentCount\": 2,\n \"body\": \" Greetings from the team
This is the actual html content sent
\",\n \"date\": \"2016-02-25T11:53:26Z\",\n \"email\": \"abc@example.com\",\n \"events\": [\n {\n \"name\": \"sent\",\n \"time\": \"2016-02-25T11:53:26Z\"\n },\n {\n \"name\": \"delivered\",\n \"time\": \"2016-02-25T11:55:26Z\"\n },\n {\n \"name\": \"opened\",\n \"time\": \"2016-02-26T09:53:26Z\"\n }\n ],\n \"subject\": \"Summer Camps\",\n \"templateId\": 12\n}","headers":{"Content-Type":"application/json"}},"uuid":"242bc913-9644-453e-a76b-b6898985c451","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"1060a95a-b193-4fcb-a2c0-82a02a746067","name":"Delete an SMTP transactional log - default","request":{"urlPathTemplate":"/smtp/log/{identifier}","method":"DELETE","pathParameters":{"identifier":{"equalTo":"identifier"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"1060a95a-b193-4fcb-a2c0-82a02a746067","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"4506e73c-7b47-483f-9ffc-09cb13f3d99a","name":"Get your transactional email activity aggregated over a period of time - default","request":{"urlPathTemplate":"/smtp/statistics/aggregatedReport","method":"GET"},"response":{"status":200,"body":"{\n \"blocked\": 2,\n \"clicks\": 9987,\n \"delivered\": 18996,\n \"hardBounces\": 234,\n \"invalid\": 0,\n \"opens\": 17654,\n \"range\": \"2016-09-08|2017-04-28\",\n \"requests\": 19887,\n \"softBounces\": 1533,\n \"spamReports\": 1,\n \"uniqueClicks\": 8766,\n \"uniqueOpens\": 13688,\n \"unsubscribed\": 2\n}","headers":{"Content-Type":"application/json"}},"uuid":"4506e73c-7b47-483f-9ffc-09cb13f3d99a","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"a81e1c33-f793-49d1-adb6-8083ca10de20","name":"Get all your transactional email activity (unaggregated events) - default","request":{"urlPathTemplate":"/smtp/statistics/events","method":"GET"},"response":{"status":200,"body":"{\n \"events\": [\n {\n \"date\": \"2017-03-12T12:30:00Z\",\n \"email\": \"john.smith@example.com\",\n \"event\": \"deferred\",\n \"from\": \"john@example.com\",\n \"ip\": \"165.87.3.15\",\n \"link\": \"https://www.someexamplelink.com\",\n \"messageId\": \"<201798300811.5787683@example.domain.com>\",\n \"reason\": \"Error connection timeout\",\n \"subject\": \"Sib client_dev test\",\n \"tag\": \"OrderConfirmation\",\n \"templateId\": 4\n },\n {\n \"date\": \"2017-03-13T16:30:00Z\",\n \"email\": \"john.smith@example.com\",\n \"event\": \"delivered\",\n \"from\": \"john@example.com\",\n \"ip\": \"165.87.3.15\",\n \"link\": \"https://www.someexamplelink.com\",\n \"messageId\": \"<201798300811.5787683@example.domain.com>\",\n \"reason\": \"Error connection timeout\",\n \"subject\": \"Sib client_dev test\",\n \"tag\": \"OrderConfirmation\",\n \"templateId\": 5\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"a81e1c33-f793-49d1-adb6-8083ca10de20","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"0d36a3c1-9ba5-4da3-9f9a-5d81dcb8cbc6","name":"Get your transactional email activity aggregated per day - default","request":{"urlPathTemplate":"/smtp/statistics/reports","method":"GET"},"response":{"status":200,"body":"{\n \"reports\": [\n {\n \"blocked\": 519,\n \"clicks\": 1026,\n \"date\": \"2017-04-30\",\n \"delivered\": 10103,\n \"hardBounces\": 21,\n \"invalid\": 1,\n \"opens\": 5091,\n \"requests\": 10756,\n \"softBounces\": 137,\n \"spamReports\": 0,\n \"uniqueClicks\": 720,\n \"uniqueOpens\": 2318,\n \"unsubscribed\": 0\n },\n {\n \"blocked\": 920,\n \"clicks\": 1514,\n \"date\": \"2017-05-01\",\n \"delivered\": 17499,\n \"hardBounces\": 34,\n \"invalid\": 2,\n \"opens\": 10089,\n \"requests\": 18812,\n \"softBounces\": 254,\n \"spamReports\": 0,\n \"uniqueClicks\": 1090,\n \"uniqueOpens\": 4393,\n \"unsubscribed\": 3\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"0d36a3c1-9ba5-4da3-9f9a-5d81dcb8cbc6","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"81e1ac28-8b42-4ff7-a4f4-ad4a4fe0d149","name":"Generate the rendered preview of transactional template - default","request":{"urlPathTemplate":"/smtp/template/preview","method":"POST"},"response":{"status":200,"body":"{\n \"fromEmail\": \"fromEmail\",\n \"fromName\": \"fromName\",\n \"html\": \"html\",\n \"previewText\": \"previewText\",\n \"subject\": \"subject\",\n \"usedFeedNames\": [\n \"usedFeedNames\",\n \"usedFeedNames\"\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"81e1ac28-8b42-4ff7-a4f4-ad4a4fe0d149","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"0e4d0a9a-9763-4d0b-92ab-7b1483ddd81b","name":"Get the list of email templates - default","request":{"urlPathTemplate":"/smtp/templates","method":"GET"},"response":{"status":200,"body":"{\n \"count\": 2,\n \"templates\": [\n {\n \"createdAt\": \"2016-02-24T14:44:24Z\",\n \"doiTemplate\": false,\n \"htmlContent\": \"HTML CONTENT 1\",\n \"id\": 5,\n \"isActive\": false,\n \"modifiedAt\": \"2016-02-24T15:37:11Z\",\n \"name\": \"ChristomasTimeTemplate\",\n \"replyTo\": \"replyto@domain.com\",\n \"sender\": {\n \"email\": \"john.smith@example.com\",\n \"id\": \"43\",\n \"name\": \"John\"\n },\n \"subject\": \"Merry Christmas\",\n \"tag\": \"Festival\",\n \"testSent\": false,\n \"toField\": \"\"\n },\n {\n \"createdAt\": \"2016-02-25T11:53:26Z\",\n \"doiTemplate\": false,\n \"htmlContent\": \"HTML CONTENT 2\",\n \"id\": 12,\n \"isActive\": true,\n \"modifiedAt\": \"2016-02-25T11:53:26Z\",\n \"name\": \"SummerSales2017Template\",\n \"replyTo\": \"replyto@domain.com\",\n \"sender\": {\n \"email\": \"john.smith@example.com\",\n \"id\": \"43\",\n \"name\": \"John\"\n },\n \"subject\": \"Enjoy our summer Sales !\",\n \"tag\": \"Summer\",\n \"testSent\": false,\n \"toField\": \"\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"0e4d0a9a-9763-4d0b-92ab-7b1483ddd81b","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"a7314e1c-958e-4335-9dd3-e65802b21168","name":"Create an email template - default","request":{"urlPathTemplate":"/smtp/templates","method":"POST"},"response":{"status":201,"body":"{\n \"id\": 5\n}","headers":{"Content-Type":"application/json"}},"uuid":"a7314e1c-958e-4335-9dd3-e65802b21168","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"845ecf0d-a02f-461d-908b-25fe3eab4ec9","name":"Returns the template information - default","request":{"urlPathTemplate":"/smtp/templates/{templateId}","method":"GET","pathParameters":{"templateId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"{\n \"createdAt\": \"2016-02-25T11:53:26Z\",\n \"doiTemplate\": false,\n \"htmlContent\": \"HTML CONTENT 4\",\n \"id\": 33,\n \"isActive\": true,\n \"modifiedAt\": \"2016-02-25T11:53:26Z\",\n \"name\": \"OrderConfirmation\",\n \"replyTo\": \"replyto@domain.com\",\n \"sender\": {\n \"email\": \"john.smith@example.com\",\n \"id\": \"43\",\n \"name\": \"John\"\n },\n \"subject\": \"Order Confirmation : Thanks for your Purchase !\",\n \"tag\": \"\",\n \"testSent\": false,\n \"toField\": \"\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"845ecf0d-a02f-461d-908b-25fe3eab4ec9","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"65a53a30-7428-4b1a-b0a4-88869d5b8d78","name":"Update an email template - default","request":{"urlPathTemplate":"/smtp/templates/{templateId}","method":"PUT","pathParameters":{"templateId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"65a53a30-7428-4b1a-b0a4-88869d5b8d78","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"ee12d2af-6eea-4dd3-b43d-ca1463b36b14","name":"Delete an inactive email template - default","request":{"urlPathTemplate":"/smtp/templates/{templateId}","method":"DELETE","pathParameters":{"templateId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"ee12d2af-6eea-4dd3-b43d-ca1463b36b14","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"10979c60-afa4-4a94-a43e-5fc9613e22da","name":"Send a template to your test list - default","request":{"urlPathTemplate":"/smtp/templates/{templateId}/sendTest","method":"POST","pathParameters":{"templateId":{"equalTo":"1000000"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"10979c60-afa4-4a94-a43e-5fc9613e22da","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"df5bc4e6-ca5e-4cd7-809c-269c0845b24d","name":"Send SMS message asynchronously to a mobile number - default","request":{"urlPathTemplate":"/transactionalSMS/send","method":"POST"},"response":{"status":201,"body":"{\n \"messageId\": 1511882900176220\n}","headers":{"Content-Type":"application/json"}},"uuid":"df5bc4e6-ca5e-4cd7-809c-269c0845b24d","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"70d5f369-4f59-482d-a10b-be3e50b4a40a","name":"Send SMS message to a mobile number - default","request":{"urlPathTemplate":"/transactionalSMS/sms","method":"POST"},"response":{"status":201,"body":"{\n \"messageId\": 1511882900176220,\n \"reference\": \"ab1cde2fgh3i4jklmno\",\n \"remainingCredits\": 82.85,\n \"smsCount\": 2,\n \"usedCredits\": 0.7\n}","headers":{"Content-Type":"application/json"}},"uuid":"70d5f369-4f59-482d-a10b-be3e50b4a40a","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"31feec95-40fc-4b7e-9c08-86c997f2dfb0","name":"Get your SMS activity aggregated over a period of time - default","request":{"urlPathTemplate":"/transactionalSMS/statistics/aggregatedReport","method":"GET"},"response":{"status":200,"body":"{\n \"accepted\": 6,\n \"blocked\": 4,\n \"delivered\": 16,\n \"hardBounces\": 5,\n \"range\": \"2015-05-22|2017-11-29\",\n \"rejected\": 14,\n \"replied\": 8,\n \"requests\": 54,\n \"skipped\": 1,\n \"softBounces\": 26,\n \"unsubscribed\": 10\n}","headers":{"Content-Type":"application/json"}},"uuid":"31feec95-40fc-4b7e-9c08-86c997f2dfb0","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"8bec6502-a4a6-4405-88f8-c7b97f2bc0e4","name":"Get all your SMS activity (unaggregated events) - default","request":{"urlPathTemplate":"/transactionalSMS/statistics/events","method":"GET"},"response":{"status":200,"body":"{\n \"events\": [\n {\n \"date\": \"2015-05-20T12:30:00Z\",\n \"event\": \"sent\",\n \"messageId\": \"1473139351170140\",\n \"phoneNumber\": \"phoneNumber\",\n \"reason\": \"Recipient is currently unreachable\",\n \"reply\": \"reply\",\n \"tag\": \"cabWaiting\"\n },\n {\n \"date\": \"2015-05-20T16:30:00Z\",\n \"event\": \"delivered\",\n \"messageId\": \"1473139351170140\",\n \"phoneNumber\": \"phoneNumber\",\n \"reason\": \"Recipient is currently unreachable\",\n \"reply\": \"reply\",\n \"tag\": \"cabRequest\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"8bec6502-a4a6-4405-88f8-c7b97f2bc0e4","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"34ebfec8-ca13-4071-9f58-e116c00c6446","name":"Get your SMS activity aggregated per day - default","request":{"urlPathTemplate":"/transactionalSMS/statistics/reports","method":"GET"},"response":{"status":200,"body":"{\n \"reports\": [\n {\n \"accepted\": 2318,\n \"blocked\": 1026,\n \"date\": \"2017-04-30\",\n \"delivered\": 10103,\n \"hardBounces\": 21,\n \"rejected\": 0,\n \"replied\": 5091,\n \"requests\": 10756,\n \"skipped\": 1,\n \"softBounces\": 137,\n \"unsubscribed\": 720\n },\n {\n \"accepted\": 4393,\n \"blocked\": 1514,\n \"date\": \"2017-05-01\",\n \"delivered\": 17499,\n \"hardBounces\": 34,\n \"rejected\": 0,\n \"replied\": 10089,\n \"requests\": 18812,\n \"skipped\": 0,\n \"softBounces\": 254,\n \"unsubscribed\": 1090\n },\n {\n \"accepted\": 4689,\n \"blocked\": 1646,\n \"date\": \"2017-05-02\",\n \"delivered\": 13427,\n \"hardBounces\": 16,\n \"rejected\": 0,\n \"replied\": 11563,\n \"requests\": 14321,\n \"skipped\": 1,\n \"softBounces\": 176,\n \"unsubscribed\": 1170\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"34ebfec8-ca13-4071-9f58-e116c00c6446","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"b2c77971-5a16-41bb-99c4-62a5707d47bb","name":"Return all your created SMS templates - default","request":{"urlPathTemplate":"/transactionalSMS/templates","method":"GET"},"response":{"status":200,"body":"{\n \"count\": 1,\n \"templates\": [\n {\n \"id\": 4,\n \"name\": \"Order Confirmation - EN\",\n \"short_url_enabled\": false,\n \"message\": \"Thanks for your order !\",\n \"compliance\": {\n \"compliance_toggle\": true,\n \"organisation_prefix\": \"BREVO\",\n \"stop_keyword\": \"STOP\"\n },\n \"encryption\": true,\n \"unicode_sms\": true,\n \"media_file\": \"brv-logo.png\",\n \"media_file_size\": \"media_file_size\",\n \"media_url\": \"https://img-st2.mailinblue.com/1232/images/content_library/original/69282fe28f55fd22de6e0cf9.png\",\n \"createdAt\": \"2025-05-01T12:30:00Z\",\n \"updatedAt\": \"2025-05-01T12:30:00Z\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"b2c77971-5a16-41bb-99c4-62a5707d47bb","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]}],"meta":{"total":284}}
\ No newline at end of file