{"info":{"_postman_id":"2b4f0dbf-c19c-4c46-bd60-49089a0171b6","name":"Promo API","description":"<html><head></head><body><h1 id=\"welcome\">✨ Welcome ✨</h1>\n<p>As you explore the proceeding API documentation pages, plug in your API key into postman, or via the provided language code to interact with the actual API.</p>\n<h3 id=\"✔-testing-1-2-3\">✔ Testing 1, 2, 3!</h3>\n<p>Calls herein are <strong>test calls</strong> which you can use to understand how the API works prior to implementation. Simply swap out your key for a JWT token to get the real deal in-app.</p>\n<p>We recommend plugging in your <code>apiKey</code> from the dashboard into a header labeled <code>X-API-Key</code> for \"light\" API access to test/try out endpoints.</p>\n<p>Via <code>cURL</code> this would look:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -H 'X-API-Key: ` ... \n\n</code></pre>\n<h3 id=\"🎸-try-out-everything\">🎸 Try out everything</h3>\n<p>Test that your payload works in most languages by simply changing the <strong>language</strong> in the top bar.</p>\n<p><img src=\"https://user-images.githubusercontent.com/16545607/145294291-12fe5263-ba53-456f-a62b-5f8689874f91.png\" alt=\"\"></p>\n<p>Simply press your favorite language to roll up a pre-baked working code snippet.</p>\n<h3 id=\"📌-press-run-in-postman-to-try\">📌 Press \"Run in Postman\" to try</h3>\n<p>Ready to try out the endpoint? Simply press the big red <strong>Try It!</strong> button to call the actual API.</p>\n<p><img src=\"https://user-images.githubusercontent.com/16545607/145294691-d40b25e7-979f-485e-af37-6b6aadd50269.png\" alt=\"\"></p>\n<blockquote>\n<p>That button says it all. Try it!</p>\n</blockquote>\n<blockquote>\n<p>⚠️ Don't forget, calls using the <code>X-API-Key</code> header are mocked ⚠️</p>\n</blockquote>\n<blockquote>\n<p>You may also use your <code>apiKey</code> for testing purposes in CI/CD, so as not to generate create, modify, or delete actual campaigns. <em>Our contract to you: mocked calls 1:1 map to fully authorized calls.</em></p>\n</blockquote>\n<h2 id=\"❓-need-help\">❓ Need help?</h2>\n<p>The team behind Tincre is small but mighty and we're committed to helping you get up and running, solve challenges that arise over time, and enhance your users' experience.</p>\n<p>For standard support we offer two ways for assistance:</p>\n<ul>\n<li><a href=\"https://discord.gg/cf8jc9rHSJ\">dev Discord channel</a>, and</li>\n<li>our <a href=\"https://community.bitmodulus.com\">dev community</a>.</li>\n</ul>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"✨ Welcome ✨","slug":"welcome"}],"owner":"9054939","collectionId":"2b4f0dbf-c19c-4c46-bd60-49089a0171b6","publishedId":"UV5c9v6j","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"000000"},"publishDate":"2022-02-23T04:46:01.000Z"},"item":[{"name":"campaigns","item":[{"name":"Read Campaigns","id":"5037833d-8f19-4f4c-9579-e47e1a7f9e2b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-API-Key"},{"key":"value","value":"<value>"}]},"isInherited":false},"method":"GET","header":[],"url":"https://promo.api.bitmodulus.com/campaigns?b00st_id=abcdefgh&b00st_id=e2rq31dl","description":"<p>Read campaign metadata associated with given <code>b00st_id</code> query parameters.</p>\n<ul>\n<li><strong><code>b00st_id</code></strong>: b00st ad campaign id</li>\n</ul>\n","urlObject":{"path":["campaigns"],"host":["https://promo.api.bitmodulus.com"],"query":[{"description":{"content":"<p>Include as many as you'd like, e.g. <code>b00st_id=&lt;myid&gt;?b00st_id=&lt;myid2&gt;</code></p>\n","type":"text/plain"},"key":"b00st_id","value":"abcdefgh"},{"description":{"content":"<p>Include as many as you'd like, e.g. <code>b00st_id=&lt;myid&gt;?b00st_id=&lt;myid2&gt;</code></p>\n","type":"text/plain"},"key":"b00st_id","value":"e2rq31dl"}],"variable":[]}},"response":[{"id":"4731edf3-c887-4870-87c7-27b276327b47","name":"Successful Response","originalRequest":{"method":"GET","header":[{"description":"Added as a part of security scheme: apikey","key":"X-API-Key","value":"<API Key>"}],"url":{"raw":"https://promo.api.bitmodulus.com/campaigns?b00st_id=abcdefgh&b00st_id=e2f3dk30","host":["https://promo.api.bitmodulus.com"],"path":["campaigns"],"query":[{"key":"b00st_id","value":"abcdefgh"},{"key":"b00st_id","value":"e2f3dk30"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"[\n {\n  \"asset_title\": \"Lorem et ipsum sint\",\n  \"target_link\": \"aliqua\",\n  \"budget\": 50,\n  \"creative_uri\": [\n   \"sed Duis\",\n   \"in mollit ut\"\n  ],\n  \"b00st_id\": \"laborum \"\n },\n {\n  \"asset_title\": \"in aliquip aute\",\n  \"target_link\": \"anim ipsum\",\n  \"budget\": 50,\n  \"creative_uri\": [\n   \"ea magna Excepteur\",\n   \"ea aliquip\"\n  ],\n  \"b00st_id\": \"nulla eiusmod nostrud\"\n }\n]"},{"id":"2d6de1c7-fd04-4f4f-ac6f-eee5d554e11c","name":"Validation Error","originalRequest":{"method":"GET","header":[{"description":"Added as a part of security scheme: apikey","key":"X-API-Key","value":"<API Key>"}],"url":{"raw":"https://promo.api.bitmodulus.com/campaigns?b00st_id=qui aliquip sunt&b00st_id=reprehenderit voluptate aute","host":["https://promo.api.bitmodulus.com"],"path":["campaigns"],"query":[{"key":"b00st_id","value":"qui aliquip sunt"},{"key":"b00st_id","value":"reprehenderit voluptate aute"}]}},"status":"Unprocessable Entity (WebDAV) (RFC 4918)","code":422,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n \"detail\": [\n  {\n   \"loc\": [\n    \"aliquip\",\n    \"cillum occaecat nostrud\"\n   ],\n   \"msg\": \"proident tempor culpa officia\",\n   \"type\": \"consectetur ad\"\n  },\n  {\n   \"loc\": [\n    \"ex ut aliquip occaecat nostrud\",\n    \"elit sint occaecat aute\"\n   ],\n   \"msg\": \"nulla minim proident ex\",\n   \"type\": \"laborum sunt sit\"\n  }\n ]\n}"}],"_postman_id":"5037833d-8f19-4f4c-9579-e47e1a7f9e2b"},{"name":"Create Campaigns","id":"f941ece5-a9d3-4a6c-9e1c-e6ac64b69672","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-API-Key"},{"key":"value","value":"<value>"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"[\n    {\n        \"asset_title\": \"While My Guitar Gently Weeps\",\n        \"target_link\": \"https://www.youtube.com/watch?v=VJDJs9dumZI\",\n        \"budget\": 5000,\n        \"creative_uri\": [\n            \"https://res.cloudinary.com/tincre/image/upload/v1639024624/bitmodulus.com/The_Fabs_tlv1y7.jpg\"\n        ]\n    },\n    {\n        \"asset_title\": \"While My Guitar Gently Weeps\",\n        \"target_link\": \"https://www.youtube.com/watch?v=9lhYYFxFDHo\",\n        \"budget\": 2700,\n        \"creative_uri\": [\n            \"https://res.cloudinary.com/tincre/image/upload/v1639024624/bitmodulus.com/The_Fabs_tlv1y7.jpg\"\n        ]\n    }\n]"},"url":"https://promo.api.bitmodulus.com/campaigns","description":"<p>Create one or many campaigns.</p>\n<ul>\n<li><strong><code>CampaignToBe</code></strong>: a JSON object including:<ul>\n<li><strong><code>asset_title</code></strong>: string public title for the ad (name of business, artist, or product)</li>\n<li><strong><code>target_link</code></strong>: string click-through link to target</li>\n<li><strong><code>budget</code></strong>: integer or float budget, 50 or above</li>\n<li><strong><code>creative_uri</code></strong>: list of string URIs to images or videos 16:9 or 9:16 1000px and above<blockquote>\n<p>Please examine the schemas below for additional detail.</p>\n</blockquote>\n</li>\n</ul>\n</li>\n</ul>\n","urlObject":{"path":["campaigns"],"host":["https://promo.api.bitmodulus.com"],"query":[],"variable":[]}},"response":[{"id":"fb3b661c-c3e2-4d10-882d-a9838aea20d6","name":"Successful Response","originalRequest":{"method":"POST","header":[{"description":"Added as a part of security scheme: apikey","key":"X-API-Key","value":"<API Key>"}],"body":{"mode":"raw","raw":"[\n    {\n        \"asset_title\": \"culpa Lorem dolor do ut\",\n        \"target_link\": \"aute fugiat tempor aliquip\",\n        \"budget\": 50,\n        \"creative_uri\": [\n            \"eiusmod sit ea\",\n            \"in elit\"\n        ]\n    },\n    {\n        \"asset_title\": \"Lorem ut aliquip\",\n        \"target_link\": \"occaecat in elit nostrud aliquip\",\n        \"budget\": 50,\n        \"creative_uri\": [\n            \"Lorem minim proident aliquip\",\n            \"dolor nostrud cupidatat in\"\n        ]\n    }\n]"},"url":"https://promo.api.bitmodulus.com/campaigns"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{}"},{"id":"0b5bfe0d-3569-43da-828a-2d07b9062b95","name":"Validation Error","originalRequest":{"method":"POST","header":[{"description":"Added as a part of security scheme: apikey","key":"X-API-Key","value":"<API Key>"}],"body":{"mode":"raw","raw":"[\n    {\n        \"asset_title\": \"culpa Lorem dolor do ut\",\n        \"target_link\": \"aute fugiat tempor aliquip\",\n        \"budget\": 50,\n        \"creative_uri\": [\n            \"eiusmod sit ea\",\n            \"in elit\"\n        ]\n    },\n    {\n        \"asset_title\": \"Lorem ut aliquip\",\n        \"target_link\": \"occaecat in elit nostrud aliquip\",\n        \"budget\": 50,\n        \"creative_uri\": [\n            \"Lorem minim proident aliquip\",\n            \"dolor nostrud cupidatat in\"\n        ]\n    }\n]"},"url":"https://promo.api.bitmodulus.com/campaigns"},"status":"Unprocessable Entity (WebDAV) (RFC 4918)","code":422,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n \"detail\": [\n  {\n   \"loc\": [\n    \"nostrud eiusmod ad\",\n    \"in commodo nisi\"\n   ],\n   \"msg\": \"ipsum\",\n   \"type\": \"et minim ad\"\n  },\n  {\n   \"loc\": [\n    \"in laboris\",\n    \"et ut velit\"\n   ],\n   \"msg\": \"sint\",\n   \"type\": \"cillum velit elit\"\n  }\n ]\n}"}],"_postman_id":"f941ece5-a9d3-4a6c-9e1c-e6ac64b69672"},{"name":"Stop Campaigns","id":"d2652193-3087-4c44-b318-09bb0ddb4927","request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-API-Key"},{"key":"value","value":"<value>"}]},"isInherited":false},"method":"DELETE","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"[\n    \"Ut labore cillu\",\n    \"pariatur sunt\"\n]"},"url":"https://promo.api.bitmodulus.com/campaigns","description":"<p>Stop one or many campaigns.</p>\n<p>Input a list of one or more campaign ids to stop (pause).</p>\n","urlObject":{"path":["campaigns"],"host":["https://promo.api.bitmodulus.com"],"query":[],"variable":[]}},"response":[{"id":"80153b76-821d-4e24-9cfb-8f531e4699e7","name":"Successful Response","originalRequest":{"method":"DELETE","header":[{"description":"Added as a part of security scheme: apikey","key":"X-API-Key","value":"<API Key>"}],"body":{"mode":"raw","raw":"[\n    \"nulla voluptate pariatur mollit\",\n    \"dolore labore adipisicing aute\"\n]"},"url":"https://promo.api.bitmodulus.com/campaigns"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{}"},{"id":"3c9331b9-447a-4429-9769-142e787abdab","name":"Validation Error","originalRequest":{"method":"DELETE","header":[{"description":"Added as a part of security scheme: apikey","key":"X-API-Key","value":"<API Key>"}],"body":{"mode":"raw","raw":"[\n    \"nulla voluptate pariatur mollit\",\n    \"dolore labore adipisicing aute\"\n]"},"url":"https://promo.api.bitmodulus.com/campaigns"},"status":"Unprocessable Entity (WebDAV) (RFC 4918)","code":422,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n \"detail\": [\n  {\n   \"loc\": [\n    \"nostrud eiusmod ad\",\n    \"in commodo nisi\"\n   ],\n   \"msg\": \"ipsum\",\n   \"type\": \"et minim ad\"\n  },\n  {\n   \"loc\": [\n    \"in laboris\",\n    \"et ut velit\"\n   ],\n   \"msg\": \"sint\",\n   \"type\": \"cillum velit elit\"\n  }\n ]\n}"}],"_postman_id":"d2652193-3087-4c44-b318-09bb0ddb4927"}],"id":"a2ff6a74-b84d-4fbc-a00a-7b0ab4f70e87","_postman_id":"a2ff6a74-b84d-4fbc-a00a-7b0ab4f70e87","description":"","auth":{"type":"apikey","apikey":{"basicConfig":[]},"isInherited":true,"source":{"_postman_id":"2b4f0dbf-c19c-4c46-bd60-49089a0171b6","id":"2b4f0dbf-c19c-4c46-bd60-49089a0171b6","name":"Promo API","type":"collection"}}},{"name":"Receive Access Or Refresh Tokens","id":"b0a6db4d-1609-4610-bae1-2d8059c4d3ec","request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-API-Key"},{"key":"value","value":"<value>"}]},"isInherited":false},"method":"POST","header":[],"url":"https://promo.api.bitmodulus.com/token","description":"<p>If a valid <code>Authorization: 'Bearer &lt;token&gt;'</code> is present, return a valid,\nupdated set of tokens, if they're expired or near expiry.</p>\n<p><strong>tl;dr</strong></p>\n<ol>\n<li>Try out the API with just your <code>apiKey</code> here!</li>\n<li>Integrate with one of our libraries or call the API for\naccess and refresh tokens via the <code>/token</code> endpoint.</li>\n</ol>\n<ul>\n<li>Endpoint returns an object with properties <code>token</code>, <code>token_type</code>, and\n  <code>refresh_token</code>.</li>\n<li>For <code>app</code> scope requests include your <code>clientId</code> and <code>appId</code> in the\n  token, signed with your <code>clientSecret</code>.</li>\n<li>For <code>app-client</code> scope requests include your users' <code>email</code> as the\n  <code>sub</code> token claim. Your users receive only campaign-specific communication\n  such as reports and confirmations. These communications are branded via\n  with your stuff, if you've chosen to complete this within your developer\n  dashboard.</li>\n<li>A successful call always includes a newly issued or the currently valid\n  refresh token.</li>\n</ul>\n<ol>\n<li>Call the API using the unexpired, short-lived access token from above.</li>\n<li>When your access token is expired, the API will return a 401 HTTP code\nwith an error object and <code>message</code> attribute indicating\n<code>expired access token</code>.</li>\n<li>Get a new token using your unexpired refresh token from <strong>2</strong> to make\ncalls once your access token has expired.</li>\n</ol>\n<blockquote>\n<p>ℹ️ If both tokens are expired, simply call the <code>token</code> endpoint with\na <a href=\"https://jwt.io\">JSON Web Token</a> with the <code>aid</code>, <code>cid</code>, and optional\n<code>sub</code> claims as outlined in <strong>2</strong>, above.</p>\n</blockquote>\n<h2 id=\"scoped-requests--tokens\">Scoped requests &amp; tokens</h2>\n<p>Tokens are issued via scope and are required for non-testing use of\nthe api. In testing/development (see <code>developer</code> below) you only\nneed an api key header.\nFor administrative endpoints an app-scoped token is required and for\nactually running or accessing an ad campaign on behalf of users, an\napp-client-scoped token is required.</p>\n<h3 id=\"scopes-for-this-ads-api\">Scopes for this ads API</h3>\n<p>There are three implicit scopes for the bitmodulus.com ads API. In particular,\na testing/tryout level, an app-wide level, and an application user specific\nlevel (the developers' users).</p>\n<ul>\n<li><code>developer</code>: Use these for \"ease of use\" when testing and building.\nCalls from your terminal, your interactive documentation,\nand other developer tools are rate limited. In addition, some endpoints are\nrestricted due to security concerns. This scope is accessed via <strong>just</strong>\nthe <code>X-API-Key</code> header value. No tokens necessary.</li>\n<li><code>app</code>: Use these for configuration and app-wide endpoints. Though not\nrate-limited, these cannot call individual campaign endpoints.\nThese <strong>tokens will/should not include</strong> a <code>sub</code> token claim. These\ntokens <strong>will/should include</strong> both a <code>cid</code> and <code>aid</code> non-standard claim.<ul>\n<li><code>cid</code>: your <code>clientId</code> provided in the dashboard</li>\n<li><code>aid</code>: the <code>appId</code> provided for each application</li>\n</ul>\n</li>\n<li><code>app-client</code>: Use these for individual user calls to create, manage, or\nretrieve data on behalf of a client. <strong>Tokens should include</strong> a <code>sub</code> token\nclaim, in addition to both <code>aid</code> and <code>cid</code> claims, as above.</li>\n</ul>\n<h3 id=\"token-types-supported\">Token types supported</h3>\n<p>Two types of tokens are supported, <code>Access</code> and <code>Refresh</code>. Access tokens\nare required to operate within the <code>app</code>, or <code>app-client</code> scopes. Refresh\ntokens are required to acquire updated access tokens. Each access token\ngenerated has a unique refresh token associated with that access token.</p>\n<blockquote>\n<p><em>Note: 'Or' here is used as exclusively exclusive, though admittedly,</em>\n<em>'Or', as used in the sciences, is logically superior.</em></p>\n</blockquote>\n<p>If you have an expired access token simply get a new one using a\nlonger-lived refresh token. If both are expired, construct one using\nthe credentials available via your developer dashboard\nat <a href=\"https://bitmodulus.com\">bitmodulus.com</a>.</p>\n<h4 id=\"access-tokens\">Access tokens</h4>\n<p>Access tokens are required to call an api endpoint. To alter a campaign, you need an <code>client-app</code> scoped access token. To read your app's campaigns, you simply need an <code>app</code> scoped token.</p>\n<p>To obtain an access token for <code>app</code> scope simply create a token as instructed in <a>How to auth</a> and send it as a <code>Bearer</code> <code>Authorization</code> header in your request. If your credentials are all correct and it's signed with your <code>clientSecret</code>, we'll return to you an <strong>Application token</strong>.</p>\n<p>The <strong>Application token</strong> allows your app to interact on behalf of users and get user-specific tokens for heightened permission requests, such as allocating ads initially (which spends money) or deleting a campaign.</p>\n<p>To obtain an access token for <code>app-client</code> scope send the tokens as above but with a simple change: add a <code>sub</code> claim with your users' email.</p>\n<h4 id=\"refresh-tokens\">Refresh tokens</h4>\n<p>Refresh tokens can acquire <em>an updated access token</em> and expire\nafter about five days.</p>\n<p>Use these to refresh your access tokens. We send them along in the token acquisition call.</p>\n<h5 id=\"how-to-refresh-the-refresh-token\">How to refresh the Refresh token</h5>\n<p>The skinny: <a href=\"https://music.youtube.com/watch?v=RxsBc5p-dPU&amp;feature=share\">don't you worry 'bout a thing!</a></p>\n<p>When refreshing your access token, if your refresh token is expired or about to expire, a fresh token is automatically returned for you.</p>\n<p>See <a href=\"#access-tokens\">Access tokens, above.</a></p>\n<h5 id=\"how-it-works\">How it works</h5>\n<p>When submitting your refresh token for authentication and authorization, you\nare asking to <em>refresh</em> the expired or soon-to-be-expired access token.</p>\n<p>If your refresh token is not expired, matches the one we have in signature\nand content hash, we examine the length of expiry left on the access token\nassociated with the refresh token submitted.</p>\n<p>If that access token has less than 60 minutes to expiration, we return a\nfreshly updated access token, along with your refresh token.</p>\n<p>As mentioned above, you will be automatically served back a valid refresh\ntoken.</p>\n<blockquote>\n<p>ℹ️ Check the value of <code>refresh_token</code> in your return payload; if it is different from the Refresh token you originally sent, the returned token is now the valid token and <strong>the refresh token originally sent by you is invalid</strong>.</p>\n</blockquote>\n<blockquote>\n<p>ℹ️  See our guides on auth at <a href=\"https://docs.bitmodulus.com/docs/how-to-auth\">how-to-auth</a> for more details.</p>\n</blockquote>\n","urlObject":{"path":["token"],"host":["https://promo.api.bitmodulus.com"],"query":[],"variable":[]}},"response":[{"id":"691fdfc1-6848-4afc-b63e-f952918fb5e6","name":"Successful Response","originalRequest":{"method":"POST","header":[{"description":"Added as a part of security scheme: apikey","key":"X-API-Key","value":"<API Key>"}],"url":"https://promo.api.bitmodulus.com/token"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n \"token\": \"exercitation mollit laborum\",\n \"token_type\": \"irure\",\n \"refresh_token\": \"non\"\n}"},{"id":"480be64d-116e-44ef-8c9b-5a46006cb0bc","name":"403 Forbidden error thrown for invalid credentials","originalRequest":{"method":"POST","header":[{"description":"Added as a part of security scheme: apikey","key":"X-API-Key","value":"<API Key>"}],"url":"https://promo.api.bitmodulus.com/token"},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n \"detail\": \"Token is invalid or missing in addition to no valid API-Key header value.\"\n}"}],"_postman_id":"b0a6db4d-1609-4610-bae1-2d8059c4d3ec"},{"name":"Read User","id":"82e2f9a5-659c-472a-a8f0-f794a63c38c0","request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-API-Key"},{"key":"value","value":"<value>"}]},"isInherited":false},"method":"GET","header":[],"url":"https://promo.api.bitmodulus.com/user/","urlObject":{"path":["user",""],"host":["https://promo.api.bitmodulus.com"],"query":[],"variable":[]}},"response":[{"id":"759bc0fa-5df7-46cb-8b9c-6e90a0fe68e0","name":"Successful Response","originalRequest":{"method":"GET","header":[{"description":"Added as a part of security scheme: apikey","key":"X-API-Key","value":"<API Key>"}],"url":"https://promo.api.bitmodulus.com/user/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n \"id\": -76877785,\n \"email\": \"consectetur nulla nostrud cupidatat\",\n \"apiKey\": \"dolor pariatur cillum est\",\n \"clientId\": \"id in\",\n \"clientSecret\": \"fugiat deserunt pariatur sunt\",\n \"picture\": \"tempor et\",\n \"createdAt\": \"1982-07-04T18:06:09.146Z\"\n}"}],"_postman_id":"82e2f9a5-659c-472a-a8f0-f794a63c38c0"},{"name":"API Schema","id":"0656fa13-f6ca-4be9-affd-e6f9e4edcd09","request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-API-Key"},{"key":"value","value":"<value>"}]},"isInherited":false},"method":"GET","header":[],"url":"https://promo.api.bitmodulus.com/openapi.json","urlObject":{"path":["openapi.json"],"host":["https://promo.api.bitmodulus.com"],"query":[],"variable":[]}},"response":[{"id":"15cfa9b9-d01f-4459-af4c-dd0090782661","name":"Successful Response","originalRequest":{"method":"GET","header":[{"description":"Added as a part of security scheme: apikey","key":"X-API-Key","value":"<API Key>"}],"url":"https://promo.api.bitmodulus.com/openapi.json"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{}"}],"_postman_id":"0656fa13-f6ca-4be9-affd-e6f9e4edcd09"}],"auth":{"type":"apikey","apikey":{"basicConfig":[]}},"event":[{"listen":"prerequest","script":{"id":"32c853c8-5e7d-4843-b130-6883d40ab63f","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"432ce8b9-39a9-4c27-ab1e-65ecfb337f10","type":"text/javascript","exec":[""]}}],"variable":[{"key":"baseUrl","value":"https://promo.api.bitmodulus.com"},{"key":"apiKey","value":"\"\""}]}