Import the iBubbl OpenAPI spec into Postman or Insomnia and authenticate with your API key.
The whole /v1 API is described in one OpenAPI file:
https://docs.ibubbl.com/openapi/public.json
It is OpenAPI 3.1. It sets the server to https://api.ibubbl.com and declares a BearerAuth scheme (Authorization: Bearer ib_pk_…) on every endpoint except POST /v1/events/{token}, which is authenticated by the token in its URL. It is the same file the API reference pages are built from, so it always matches them. You can also hand it to a code generator, or to a coding agent (see Build with AI).
Every request is live. There is no sandbox or test mode: sending a request from Postman or Insomnia delivers a real message from your line. Send only to your own phone while you explore.
In Postman, select Import, and paste the link above.
When Postman asks how to import the OpenAPI file, choose Postman Collection, then select Import. You get a collection of folders and requests, one request per endpoint.
Create an environment for iBubbl (Environments, then the add icon) and add a variable named IBUBBL_API_KEY whose value is your key. Mark it secure (secret), so the value is masked. Select the environment in the environment selector at the top right.
Open the collection’s Authorization tab, choose Bearer Token as the Auth Type, and enter {{IBUBBL_API_KEY}} in Token. Requests that inherit auth from the collection now send Authorization: Bearer <your key>. If a request has its own auth set, switch it to inherit from the collection.
Send Retrieve a message or List webhook subscriptions first: they only read. Before sending Send a message, replace the example body: put your own number in to, and a new idempotency_key for every message (a UUID; Postman’s {{$guid}} generates one).
The Receive an event request needs no key: replace {token} with an event source’s token (ibev_…).
In your workspace, select Import, choose URL as the source, and enter the link above.
Select Scan, review the resources, and select Import. Insomnia creates an API collection with the spec in its Spec tab. To get requests you can send, select Generate on the Spec tab and choose requests.
Open Environments and add your key as a variable in JSON, for example { "IBUBBL_API_KEY": "ib_pk_..." }.
Insomnia has no collection-level auth, so set it on a folder (or on each request): on the Auth tab choose Bearer Token, and in the token field press Control+Space and pick IBUBBL_API_KEY from the list.
As in Postman, start with a read-only request, and give every send your own number and a new idempotency_key.
Keep the key in an environment variable, not in a request. If you share a collection or workspace, or sync it to the cloud, check that the key’s value isn’t included.
If a key leaks, revoke it in the dashboard under Settings → API Access and create a new one. See Authentication.
The spec updates when the API does. Postman and Insomnia copy it on import, so re-import after a change listed in the changelog.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"iBubbl","colors":{"primary":"#3B82F6","light":"#60A5FA","dark":"#2563EB"},"logo":{"light":"https://mintcdn.com/ibubbl/vKOMJPyDWV9K1NYc/logo/light.png?fit=max\u0026auto=format\u0026n=vKOMJPyDWV9K1NYc\u0026q=85\u0026s=b8846160ee4db226f79f0e4f7f331870","dark":"https://mintcdn.com/ibubbl/vKOMJPyDWV9K1NYc/logo/dark.png?fit=max\u0026auto=format\u0026n=vKOMJPyDWV9K1NYc\u0026q=85\u0026s=0067c7441443a7b4d08cfd7357f9c219"},"favicon":"https://mintcdn.com/ibubbl/vKOMJPyDWV9K1NYc/favicon.ico?fit=max\u0026auto=format\u0026n=vKOMJPyDWV9K1NYc\u0026q=85\u0026s=e6bd8c62275573958611eefad9499589","api":{"openapi":"openapi/public.json","playground":{"display":"simple"},"examples":{"languages":["curl","typescript","python"]}},"navbar":{"links":[{"href":"https://ibubbl-dashboard.vercel.app","label":"Dashboard"}],"primary":{"type":"button","label":"Sign up","href":"https://ibubbl-dashboard.vercel.app/signup"}},"contextual":{"options":["copy","view","chatgpt","claude","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"ibubbl","hasAudioNarration":false,"actualSubdomain":"ibubbl","customDomains":["docs.ibubbl.com"],"gitSource":{"type":"github","owner":"piter-chern","repo":"ibubbl-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6af49652c5d18096e68004bc","clientVersion":"0.0.4102","searchFilterCounts":[{"language":"default","tag":"API reference","count":18},{"language":"default","tag":"Contacts","count":10},{"language":"default","tag":"Concepts","count":9},{"language":"default","tag":"Guides","count":7},{"language":"default","tag":"Webhooks","count":6},{"language":"default","tag":"Resources","count":5},{"language":"default","tag":"Get started","count":4},{"language":"default","tag":"Messages","count":3},{"language":"default","tag":"Inbound events","count":1}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"openapi","slug":"/openapi","pageMetadata":{"title":"OpenAPI, Postman and Insomnia","description":"Import the iBubbl OpenAPI spec into Postman or Insomnia and authenticate with your API key.","href":"/openapi"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Import the iBubbl OpenAPI spec into Postman or Insomnia and authenticate with your API key.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`The whole `,_jsx(_components.code,{children:`/v1`}),` API is described in one OpenAPI file:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`https://docs.ibubbl.com/openapi/public.json`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[`It is OpenAPI 3.1. It sets the server to `,_jsx(_components.code,{children:`https://api.ibubbl.com`}),` and declares a `,_jsx(_components.code,{children:`BearerAuth`}),` scheme (`,_jsx(_components.code,{children:`Authorization: Bearer ib_pk_…`}),`) on every endpoint except `,_jsx(_components.a,{href:`/api-reference/inbound-events/receive`,children:_jsx(_components.code,{children:`POST /v1/events/{token}`})}),`, which is authenticated by the token in its URL. It is the same file the API reference pages are built from, so it always matches them. You can also hand it to a code generator, or to a coding agent (see `,_jsx(_components.a,{href:`/build-with-ai`,children:`Build with AI`}),`).`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Every request is live.`}),` There is no sandbox or test mode: sending a request from Postman or Insomnia delivers a real message from your line. Send only to your own phone while you explore.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`postman`,children:`Postman`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`In Postman, select `,_jsx(_components.strong,{children:`Import`}),`, and paste the link above.`]}),`\n`,_jsxs(_components.li,{children:[`When Postman asks how to import the OpenAPI file, choose `,_jsx(_components.strong,{children:`Postman Collection`}),`, then select `,_jsx(_components.strong,{children:`Import`}),`. You get a collection of folders and requests, one request per endpoint.`]}),`\n`,_jsxs(_components.li,{children:[`Create an environment for iBubbl (`,_jsx(_components.strong,{children:`Environments`}),`, then the add icon) and add a variable named `,_jsx(_components.code,{children:`IBUBBL_API_KEY`}),` whose value is your key. Mark it secure (secret), so the value is masked. Select the environment in the environment selector at the top right.`]}),`\n`,_jsxs(_components.li,{children:[`Open the collection’s `,_jsx(_components.strong,{children:`Authorization`}),` tab, choose `,_jsx(_components.strong,{children:`Bearer Token`}),` as the `,_jsx(_components.strong,{children:`Auth Type`}),`, and enter `,_jsx(_components.code,{children:`{{IBUBBL_API_KEY}}`}),` in `,_jsx(_components.strong,{children:`Token`}),`. Requests that inherit auth from the collection now send `,_jsx(_components.code,{children:`Authorization: Bearer \u003cyour key>`}),`. If a request has its own auth set, switch it to inherit from the collection.`]}),`\n`,_jsxs(_components.li,{children:[`Send `,_jsx(_components.strong,{children:`Retrieve a message`}),` or `,_jsx(_components.strong,{children:`List webhook subscriptions`}),` first: they only read. Before sending `,_jsx(_components.strong,{children:`Send a message`}),`, replace the example body: put your own number in `,_jsx(_components.code,{children:`to`}),`, and a new `,_jsx(_components.code,{children:`idempotency_key`}),` for every message (a UUID; Postman’s `,_jsx(_components.code,{children:`{{$guid}}`}),` generates one).`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.strong,{children:`Receive an event`}),` request needs no key: replace `,_jsx(_components.code,{children:`{token}`}),` with an event source’s token (`,_jsx(_components.code,{children:`ibev_…`}),`).`]}),`\n`,_jsx(Heading,{level:`2`,id:`insomnia`,children:`Insomnia`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`In your workspace, select `,_jsx(_components.strong,{children:`Import`}),`, choose `,_jsx(_components.strong,{children:`URL`}),` as the source, and enter the link above.`]}),`\n`,_jsxs(_components.li,{children:[`Select `,_jsx(_components.strong,{children:`Scan`}),`, review the resources, and select `,_jsx(_components.strong,{children:`Import`}),`. Insomnia creates an API collection with the spec in its `,_jsx(_components.strong,{children:`Spec`}),` tab. To get requests you can send, select `,_jsx(_components.strong,{children:`Generate`}),` on the Spec tab and choose requests.`]}),`\n`,_jsxs(_components.li,{children:[`Open `,_jsx(_components.strong,{children:`Environments`}),` and add your key as a variable in JSON, for example `,_jsx(_components.code,{children:`{ \"IBUBBL_API_KEY\": \"ib_pk_...\" }`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Insomnia has no collection-level auth, so set it on a folder (or on each request): on the `,_jsx(_components.strong,{children:`Auth`}),` tab choose `,_jsx(_components.strong,{children:`Bearer Token`}),`, and in the token field press `,_jsx(_components.code,{children:`Control+Space`}),` and pick `,_jsx(_components.code,{children:`IBUBBL_API_KEY`}),` from the list.`]}),`\n`,_jsxs(_components.li,{children:[`As in Postman, start with a read-only request, and give every send your own number and a new `,_jsx(_components.code,{children:`idempotency_key`}),`.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`keep-your-key-safe`,children:`Keep your key safe`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Keep the key in an environment variable, not in a request. If you share a collection or workspace, or sync it to the cloud, check that the key’s value isn’t included.`}),`\n`,_jsxs(_components.li,{children:[`If a key leaks, revoke it in the dashboard under `,_jsx(_components.strong,{children:`Settings → API Access`}),` and create a new one. See `,_jsx(_components.a,{href:`/authentication`,children:`Authentication`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`The spec updates when the API does. Postman and Insomnia copy it on import, so re-import after a change listed in the `,_jsx(_components.a,{href:`/changelog`,children:`changelog`}),`.`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"OpenAPI, Postman and Insomnia","description":"Import the iBubbl OpenAPI spec into Postman or Insomnia and authenticate with your API key.","href":"/openapi"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Postman","slug":"postman","depth":2,"children":[]},{"title":"Insomnia","slug":"insomnia","depth":2,"children":[]},{"title":"Keep your key safe","slug":"keep-your-key-safe","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"ibubbl","siteName":"iBubbl","title":"OpenAPI, Postman and Insomnia - iBubbl","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-10T22:12:15.184Z","originalFileLocation":"openapi.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Import the iBubbl OpenAPI spec into Postman or Insomnia and authenticate with your API key.\">\u003cmeta data-mint-head name=\"application-name\" content=\"iBubbl\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/ibubbl/ohHXW5JhUEQpLDyU/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/ibubbl/ohHXW5JhUEQpLDyU/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/ibubbl/ohHXW5JhUEQpLDyU/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/ibubbl/ohHXW5JhUEQpLDyU/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/ibubbl/ohHXW5JhUEQpLDyU/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/ibubbl/ohHXW5JhUEQpLDyU/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/ibubbl/ohHXW5JhUEQpLDyU/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/ibubbl/ohHXW5JhUEQpLDyU/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/ibubbl/ohHXW5JhUEQpLDyU/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"OpenAPI, Postman and Insomnia - iBubbl\">\u003cmeta data-mint-head property=\"og:description\" content=\"Import the iBubbl OpenAPI spec into Postman or Insomnia and authenticate with your API key.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"iBubbl\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.ibubbl.com/openapi\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://ibubbl.mintlify.site/_mintlify/api/og/v2?division=Resources\u0026amp;title=OpenAPI%2C+Postman+and+Insomnia\u0026amp;description=Import+the+iBubbl+OpenAPI+spec+into+Postman+or+Insomnia+and+authenticate+with+your+API+key.\u0026amp;theme=f46070295e80383f74aa319a\u0026amp;signature=4d246479d93e773756b5068527404e17c6cba7d397bf22f75cc158d768f4e915\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"OpenAPI, Postman and Insomnia - iBubbl\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Import the iBubbl OpenAPI spec into Postman or Insomnia and authenticate with your API key.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://ibubbl.mintlify.site/_mintlify/api/og/v2?division=Resources\u0026amp;title=OpenAPI%2C+Postman+and+Insomnia\u0026amp;description=Import+the+iBubbl+OpenAPI+spec+into+Postman+or+Insomnia+and+authenticate+with+your+API+key.\u0026amp;theme=f46070295e80383f74aa319a\u0026amp;signature=4d246479d93e773756b5068527404e17c6cba7d397bf22f75cc158d768f4e915\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/ibubbl/ohHXW5JhUEQpLDyU/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"iBubbl\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3B82F6\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.ibubbl.com/openapi\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/openapi.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.ibubbl.com/#organization\",\"name\":\"iBubbl\",\"url\":\"https://docs.ibubbl.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/ibubbl/vKOMJPyDWV9K1NYc/logo/light.png?fit=max\u0026auto=format\u0026n=vKOMJPyDWV9K1NYc\u0026q=85\u0026s=b8846160ee4db226f79f0e4f7f331870\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.ibubbl.com#website\",\"name\":\"iBubbl\",\"url\":\"https://docs.ibubbl.com\",\"publisher\":{\"@id\":\"https://docs.ibubbl.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.ibubbl.com/openapi#webpage\",\"url\":\"https://docs.ibubbl.com/openapi\",\"name\":\"OpenAPI, Postman and Insomnia\",\"description\":\"Import the iBubbl OpenAPI spec into Postman or Insomnia and authenticate with your API key.\",\"dateModified\":\"2026-11-10T22:12:15.184Z\",\"isPartOf\":{\"@id\":\"https://docs.ibubbl.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.ibubbl.com/openapi#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.ibubbl.com/openapi#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Resources\",\"item\":\"https://docs.ibubbl.com/errors\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"OpenAPI, Postman and Insomnia\",\"item\":\"https://docs.ibubbl.com/openapi\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.ibubbl.com/openapi#article\",\"headline\":\"OpenAPI, Postman and Insomnia\",\"name\":\"OpenAPI, Postman and Insomnia\",\"description\":\"Import the iBubbl OpenAPI spec into Postman or Insomnia and authenticate with your API key.\",\"url\":\"https://docs.ibubbl.com/openapi\",\"mainEntityOfPage\":{\"@id\":\"https://docs.ibubbl.com/openapi#webpage\"},\"dateModified\":\"2026-11-10T22:12:15.184Z\",\"publisher\":{\"@id\":\"https://docs.ibubbl.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.ibubbl.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"iBubbl\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"iBubbl\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/openapi.md","siteName":"iBubbl","nav":{"global":null,"groups":[{"group":"Get started","pages":[{"title":"Overview","href":"/introduction"},{"title":"Quickstart","href":"/quickstart"},{"title":"Authentication","href":"/authentication"},{"title":"Build with AI","href":"/build-with-ai"}]},{"group":"Concepts","pages":[{"title":"Message lifecycle","href":"/concepts/message-lifecycle"},{"title":"Limits and queues","href":"/concepts/limits"},{"title":"Lines and routing","href":"/concepts/lines-and-routing"},{"title":"Idempotency","href":"/idempotency"},{"title":"Pagination","href":"/concepts/pagination"},{"title":"Working Hours \u0026 Scheduling","href":"/concepts/working-hours"},{"title":"After-Hours Auto-Reply","href":"/concepts/after-hours-reply"},{"title":"Suppression \u0026 Opt-Outs","href":"/concepts/suppression"},{"title":"Group Conversations","href":"/concepts/group-conversations"}]},{"group":"Guides","pages":[{"title":"Send messages","href":"/guides/send-messages"},{"title":"Send attachments","href":"/guides/attachments"},{"title":"Tapbacks, Read Receipts \u0026 Typing Indicators","href":"/guides/reactions-read-receipts-typing"},{"title":"Receive messages","href":"/guides/receive-messages"},{"title":"Signature verification","href":"/guides/webhook-signatures"},{"title":"Test webhooks locally","href":"/guides/test-webhooks-locally"},{"title":"Retries and deduplication","href":"/guides/webhook-retries"},{"title":"Inbound events","href":"/inbound-events/overview"}]},{"group":"Webhooks","pages":[{"title":"Webhooks Overview","href":"/webhooks/overview"},{"title":"Webhook Events","href":"/webhooks/events"}]},{"group":"API reference","pages":[{"group":"Messages","pages":[{"title":"Send a message","openapi":"POST /v1/messages","href":"/api-reference/messages/send"},{"title":"List messages","openapi":"GET /v1/messages","href":"/api-reference/messages/list"},{"title":"Retrieve a message","openapi":"GET /v1/messages/{message_id}","href":"/api-reference/messages/retrieve"},{"title":"Add a tapback","openapi":"POST /v1/messages/{message_id}/reactions","href":"/api-reference/messages/react"},{"title":"Remove a tapback","openapi":"DELETE /v1/messages/{message_id}/reactions/{reaction_id}","href":"/api-reference/messages/remove-reaction"}]},{"group":"Contacts","pages":[{"title":"Create or update a contact","openapi":"POST /v1/contacts","href":"/api-reference/contacts/upsert"},{"title":"List contacts","openapi":"GET /v1/contacts","href":"/api-reference/contacts/list"},{"title":"Retrieve a contact","openapi":"GET /v1/contacts/{contact_id}","href":"/api-reference/contacts/retrieve"},{"title":"Update a contact","openapi":"PATCH /v1/contacts/{contact_id}","href":"/api-reference/contacts/update"},{"title":"Delete a contact","openapi":"DELETE /v1/contacts/{contact_id}","href":"/api-reference/contacts/delete"},{"title":"Add a tag to a contact","openapi":"POST /v1/contacts/{contact_id}/tags","href":"/api-reference/contacts/add-tag"},{"title":"Remove a tag from a contact","openapi":"DELETE /v1/contacts/{contact_id}/tags/{name}","href":"/api-reference/contacts/remove-tag"},{"title":"Opt a contact out","openapi":"POST /v1/contacts/{contact_id}/opt-out","href":"/api-reference/contacts/opt-out"},{"title":"Block a contact","openapi":"POST /v1/contacts/{contact_id}/block","href":"/api-reference/contacts/block"},{"title":"Unblock a contact","openapi":"DELETE /v1/contacts/{contact_id}/block","href":"/api-reference/contacts/unblock"}]},{"group":"Conversations","pages":[{"title":"Mark a conversation read","openapi":"POST /v1/conversations/{conversation_id}/read","href":"/api-reference/conversations/mark-read"},{"title":"Start typing","openapi":"POST /v1/conversations/{conversation_id}/typing","href":"/api-reference/conversations/start-typing"},{"title":"Stop typing","openapi":"DELETE /v1/conversations/{conversation_id}/typing","href":"/api-reference/conversations/stop-typing"}]},{"group":"Webhooks","pages":[{"title":"Create a webhook subscription","openapi":"POST /v1/webhooks","href":"/api-reference/webhooks/create"},{"title":"List webhook subscriptions","openapi":"GET /v1/webhooks","href":"/api-reference/webhooks/list"},{"title":"Retrieve a webhook subscription","openapi":"GET /v1/webhooks/{subscription_id}","href":"/api-reference/webhooks/retrieve"},{"title":"Revoke a webhook subscription","openapi":"DELETE /v1/webhooks/{subscription_id}","href":"/api-reference/webhooks/revoke"}]},{"group":"Inbound events","pages":[{"title":"Receive an event","openapi":"POST /v1/events/{token}","href":"/api-reference/inbound-events/receive"}]}]},{"group":"Resources","pages":[{"title":"Error Reference","description":"Stable error codes and what they mean.","href":"/errors"},{"title":"OpenAPI, Postman and Insomnia","href":"/openapi"},{"title":"Versioning","description":"How iBubbl evolves the API without breaking integrations.","href":"/versioning"},{"title":"Changelog","href":"/changelog"},{"title":"Support","href":"/support"}]}]},"basePath":"","title":"OpenAPI, Postman and Insomnia - iBubbl","buildId":"dpl_596ePT575z4qnAFksq1biRW97aLY","deploymentId":"dpl_596ePT575z4qnAFksq1biRW97aLY","dynamics":[],"chunks":[]}