Send notifications, manage Profiles and Lists, and configure Templates from your backend. Each authenticates with a workspace API key from , scoped to one .
Build the Inbox, Toasts, and Preferences into your app. holds those flows, and holds mobile push. Each SDK page is the reference for its platform.
React
Vue
Angular
Web Components
JavaScript
React Native
iOS
Android
Flutter
Upgrading from React v7? See the .
⌘I
{"docsConfig":{"theme":"almond","$schema":"https://mintlify.com/docs.json","name":"Courier","description":"Courier is one API for email, SMS, push, chat, and in-app inbox, sending through the notification providers you already use. It adds templates, routing, preferences, and multi-step journeys, so your application makes one request instead of integrating each channel.","colors":{"primary":"#7C3AED","light":"#A78BFA","dark":"#5B21B6"},"logo":{"light":"https://mintcdn.com/courier-4f1f25dc/xDJPBS8EQ58X_0-v/assets/logo-light.svg?fit=max\u0026auto=format\u0026n=xDJPBS8EQ58X_0-v\u0026q=85\u0026s=2da40366f40ee5623aeabb98e65c6295","dark":"https://mintcdn.com/courier-4f1f25dc/xDJPBS8EQ58X_0-v/assets/logo-dark.svg?fit=max\u0026auto=format\u0026n=xDJPBS8EQ58X_0-v\u0026q=85\u0026s=eb1071ffaff93617b67ff4a2778f81d0","href":"https://www.courier.com/docs/overview"},"favicon":"https://mintcdn.com/courier-4f1f25dc/0KoAxE2unzOHL3EV/favicon.ico?fit=max\u0026auto=format\u0026n=0KoAxE2unzOHL3EV\u0026q=85\u0026s=3081d4055f7ca229bdeaac300a92b39c","navbar":{"links":[{"href":"https://www.courier.com/request-demo","label":"Request demo"},{"href":"https://app.courier.com/login?_gl=1*29rs2q*_gcl_au*MTYxMjIwODg4NS4xNzI5NjU5MDE4","label":"Login"}],"primary":{"type":"button","label":"Sign Up","href":"https://app.courier.com/signup?_gl=1*1130zcw*_gcl_au*MTYxMjIwODg4NS4xNzI5NjU5MDE4"}},"footer":{"socials":{"github":"https://github.com/trycourier","linkedin":"https://www.linkedin.com/company/trycourier","x":"https://x.com/trycourier"}},"search":{"prompt":"Search or ask AI"},"seo":{"metatags":{"canonical":"https://www.courier.com/docs"}},"fonts":{"heading":{"family":"Inter"},"body":{"family":"Inter"}},"integrations":{"gtm":{"tagId":"GTM-5PCP3R6"}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"markdown":{"instructions":["Install the Courier skill before writing code: `npx skills add trycourier/courier-skills`. It carries the verified SDK shapes and the rules you cannot get wrong.","Authenticate every request with `Authorization: Bearer \u003cAPI_KEY>`. A workspace has several environments and each has its own keys, which are plain `pk_` strings with no environment prefix. Start with Test.","Send with `client.send.message` from the Node SDK (`@trycourier/courier` v7 and later, where the client is the default import). Reference a template by its `nt_` id or its alias.","A send accepts a bare Elemental element list, but storing content on a template requires the top-level elements wrapped in a channel element.","To translate a template, write one locale at a time with `PUT /notifications/{id}/locales/{localeId}`, which merges into the existing translations. `PUT /notifications/{id}/content` and `PUT /notifications/{id}/elements/{elementId}` overwrite translations along with the content, so send each element's `id` and `locales` back, and first remove every `checksum` and any `locales` key that starts with an underscore.","Templates and journeys can be built in the Courier app or created through the API. Either way they live in the workspace and are referenced by ID when you send.","The hosted MCP server is https://mcp.courier.com. For a briefing on what Courier is and when to use it, read https://www.courier.com/llms.txt.","Prefer the Guides tab for how-do-I questions and the Docs tab for how-does-it-behave questions. The API reference lives under /api-reference."]},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"courier-4f1f25dc","hasAudioNarration":false,"actualSubdomain":"courier-4f1f25dc","customDomains":["www.courier.com"],"gitSource":{"type":"github","owner":"trycourier","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae248e446012f4c953cf951","collectionId":"e2e60b62-b5aa-4363-8d07-7ed52efc722d","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae248e446012f4c953cf951"},"feedback":{"thumbs":false},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae248e446012f4c953cf951","clientVersion":"0.0.4006","searchFilterCounts":[{"language":"default","tag":"API Reference","count":169},{"language":"default","tag":"Docs","count":99},{"language":"default","tag":"Integrations","count":67},{"language":"default","tag":"Available integrations","count":65},{"language":"default","tag":"Guides","count":39},{"language":"default","tag":"Journeys","count":36},{"language":"default","tag":"Design","count":33},{"language":"default","tag":"Templates","count":25},{"language":"default","tag":"Elemental","count":17},{"language":"default","tag":"SDKs","count":17}]},"assistantConfig":{"enableAskAiButton":true,"enableAskAiSearchBar":true},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","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":"editor-v7-file-tree","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":"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":"pause-universal-search-reconcile","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":"per-site-search-delta","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":"editor-private-page-search","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":"editor-nav-generations","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":"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":"byok-sep-25","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":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","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":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"styles.css","content":"html{scroll-behavior:smooth}#navbar div:has(>a img.nav-logo){flex:0 0 256px!important}#navbar div:has(>div>div>.nav-tabs){flex:1 1 auto!important}#navbar div:has(>div>.nav-tabs){margin-left:0!important;justify-content:space-between!important}#content-area{max-width:50rem!important;margin-left:auto!important;margin-right:auto!important}#content-container{position:relative;isolation:isolate}#content-container::before{content:\"\";position:absolute;top:0;left:0;right:0;height:420px;z-index:-1;pointer-events:none;background-image:radial-gradient(140% 100% at 50% 20%,rgba(139,92,246,.06),rgba(139,92,246,.015));-webkit-mask-image:repeating-linear-gradient(to right,#000 0 3px,transparent 3px 4px),repeating-linear-gradient(to bottom,#000 0 3px,transparent 3px 4px),linear-gradient(to bottom,#000 0,#000 112px,rgba(0,0,0,.7) 176px,rgba(0,0,0,.45) 240px,rgba(0,0,0,.26) 300px,rgba(0,0,0,.12) 352px,rgba(0,0,0,.05) 392px,transparent 420px);-webkit-mask-composite:source-in,source-in;mask-image:repeating-linear-gradient(to right,#000 0 3px,transparent 3px 4px),repeating-linear-gradient(to bottom,#000 0 3px,transparent 3px 4px),linear-gradient(to bottom,#000 0,#000 112px,rgba(0,0,0,.7) 176px,rgba(0,0,0,.45) 240px,rgba(0,0,0,.26) 300px,rgba(0,0,0,.12) 352px,rgba(0,0,0,.05) 392px,transparent 420px);mask-composite:intersect,intersect,intersect}.dark #content-container::before{background-image:radial-gradient(140% 100% at 50% 20%,rgba(139,92,246,.12),rgba(139,92,246,.03))}#topbar-cta-button svg{display:inline-block!important;color:#fff!important}#topbar-cta-button a>div{gap:.25rem!important}@media (min-width:1024px){.sticky:has(>#chat-assistant-sheet){top:calc(var(--banner-height, 0px) + var(--cx-navbar-height, 56px))!important;margin-top:calc(var(--banner-height, 0px) + var(--cx-navbar-height, 56px))!important;height:calc(100vh - var(--banner-height, 0px) - var(--cx-navbar-height, 56px))!important;padding-top:0!important}}.chat-assistant-floating-input{visibility:hidden!important}@media (min-width:1024px){#navbar{width:100%!important}}#navbar a.nav-tabs-item,.cx-mobile-demo{white-space:nowrap}@media (min-width:1024px) and (max-width:1129px){#navbar li:has(>a[href*=\"courier.com/signup\"]){display:none!important}}@media (min-width:1024px) and (max-width:1199px){#navbar li:has(>a[href*=\"courier.com/login\"]){display:none!important}}@media (max-width:1023px){#navbar div:has(>a img.nav-logo){flex:0 1 auto!important}#navbar .lg\\:hidden.items-center.gap-3{margin-left:auto!important}}.cx-mobile-demo{display:inline-flex;align-items:center;font-size:13px;font-weight:500;line-height:1;text-decoration:none;padding:7px 11px;border-radius:8px;border:1px solid rgba(130,130,140,.35);color:inherit}div:has(>.sidebar-group-header)+div:has(>.sidebar-group-header){position:relative;margin-top:1rem!important;padding-top:1.375rem}div:has(>.sidebar-group-header)+div:has(>.sidebar-group-header)::before{content:\"\";position:absolute;top:0;left:.5rem;right:.5rem;border-top:1px solid rgba(17,24,39,.08)}.dark div:has(>.sidebar-group-header)+div:has(>.sidebar-group-header)::before{border-top-color:rgba(255,255,255,.1)}#content-area [data-component-part=card-icon]:has(>img[src*=\"/assets/provider-\"]),#content-area [data-component-part=card-icon]>img[src*=\"/assets/provider-\"]{width:2rem;height:2rem;object-fit:contain}.cx-provider-logo-slot{display:block;width:3.75rem;height:3.75rem;margin-bottom:.75rem;font-size:0;line-height:0}.cx-provider-logo{width:100%;height:100%;object-fit:contain;object-position:left center}.dark img[src$=\"/provider-apple-push-notification.webp\"],.dark img[src$=\"/provider-beamer.svg\"],.dark img[src$=\"/provider-custom-provider.svg\"],.dark img[src$=\"/provider-expo.svg\"],.dark img[src$=\"/provider-pagerduty.svg\"],.dark img[src$=\"/provider-postmark.webp\"],.dark img[src$=\"/provider-resend.svg\"],.dark img[src$=\"/provider-splunk-on-call.svg\"],.dark img[src$=\"/provider-vonage.svg\"]{filter:invert(1)}.cx-endpoint,.dark .cx-endpoint{--cx-verb-bg:rgba(156, 163, 175, 0.2)}.cx-endpoint{display:inline-flex;align-items:center;gap:.375em;max-width:100%;vertical-align:middle;padding:.15em .3em .15em .55em;border:1px solid rgba(17,24,39,.09);border-radius:.5em;background-color:rgba(17,24,39,.035);font-size:.9375em;font-weight:inherit;line-height:1.35;color:inherit;text-decoration:none!important;transition:background-color 120ms ease,border-color 120ms ease,color 120ms ease;--cx-verb:#374151}.dark .cx-endpoint{border-color:rgba(255,255,255,.09);background-color:rgba(255,255,255,.05);--cx-verb:#9ca3af}.cx-endpoint-method{flex:0 0 auto;padding:.05em .4em;border-radius:.5em;background-color:var(--cx-verb-bg);color:var(--cx-verb);font-size:.72em;font-weight:700;white-space:nowrap}.cx-endpoint-label{min-width:0;color:inherit}.cx-endpoint[data-method=GET]{--cx-verb:#15803d;--cx-verb-bg:rgba(74, 222, 128, 0.2)}.cx-endpoint[data-method=POST]{--cx-verb:#1d4ed8;--cx-verb-bg:rgba(96, 165, 250, 0.2)}.cx-endpoint[data-method=PUT]{--cx-verb:#a16207;--cx-verb-bg:rgba(250, 204, 21, 0.2)}.cx-endpoint[data-method=PATCH]{--cx-verb:#c2410c;--cx-verb-bg:rgba(251, 146, 60, 0.2)}.cx-endpoint[data-method=DELETE]{--cx-verb:#b91c1c;--cx-verb-bg:rgba(248, 113, 113, 0.2)}.dark .cx-endpoint[data-method=GET]{--cx-verb:#4ade80}.dark .cx-endpoint[data-method=POST]{--cx-verb:#60a5fa}.dark .cx-endpoint[data-method=PUT]{--cx-verb:#facc15}.dark .cx-endpoint[data-method=PATCH]{--cx-verb:#fb923c}.dark .cx-endpoint[data-method=DELETE]{--cx-verb:#f87171}a.cx-endpoint:hover{border-color:rgba(124,58,237,.32);background-color:rgba(124,58,237,.07);color:#6d28d9}.dark a.cx-endpoint:hover{border-color:rgba(139,92,246,.45);background-color:rgba(139,92,246,.14);color:#c4b5fd}a.cx-endpoint:focus-visible{outline:2px solid rgba(124,58,237,.55);outline-offset:2px}.cx-endpoint[data-kind=doc] .cx-endpoint-method,.cx-endpoint[data-kind=guide] .cx-endpoint-method{font-weight:600;letter-spacing:.02em}.cx-endpoint[data-kind=app] .cx-endpoint-method{font-weight:600}a.cx-endpoint[data-kind=app]:hover,a.cx-endpoint[data-kind=doc]:hover,a.cx-endpoint[data-kind=guide]:hover{--cx-verb:#6d28d9;--cx-verb-bg:rgba(124, 58, 237, 0.12)}.dark a.cx-endpoint[data-kind=app]:hover,.dark a.cx-endpoint[data-kind=doc]:hover,.dark a.cx-endpoint[data-kind=guide]:hover{--cx-verb:#c4b5fd;--cx-verb-bg:rgba(139, 92, 246, 0.18)}.cx-endpoint[data-kind=doc],.cx-endpoint[data-kind=guide]{--cx-verb:#4b5563;--cx-verb-bg:rgba(17, 24, 39, 0.07)}.dark .cx-endpoint[data-kind=doc],.dark .cx-endpoint[data-kind=guide]{--cx-verb:#d1d5db;--cx-verb-bg:rgba(255, 255, 255, 0.11)}.cx-endpoint[data-kind=app]{--cx-verb:#6d28d9;--cx-verb-bg:rgba(124, 58, 237, 0.1)}.dark .cx-endpoint[data-kind=app]{--cx-verb:#c4b5fd;--cx-verb-bg:rgba(139, 92, 246, 0.16)}.cx-endpoint[data-kind=app] .cx-endpoint-method{font-size:.85em;line-height:1;letter-spacing:0}.callout .cx-endpoint,.callout a.cx-endpoint:hover{padding:0;border-width:0;background-color:transparent;font-size:1em;font-weight:600}.callout .cx-endpoint .cx-endpoint-label{border-bottom:1px solid currentColor}.cx-tag,.cx-tags{align-items:center;gap:.375rem}.cx-tags{display:flex;flex-wrap:wrap;margin:0 0 1.5em}.cx-tag{display:inline-flex;padding:.25rem .5rem;border:0;border-radius:.5rem;background-color:var(--cx-tag-bg);color:var(--cx-tag-fg);font-size:.875rem;font-weight:600;line-height:1.25;white-space:nowrap;text-decoration:none!important;transition:background-color 120ms ease,color 120ms ease;--cx-tag-fg:#584f69;--cx-tag-bg:#f5f3f8}.cx-tag[data-icon]::before{content:\"\";flex:none;width:.875em;height:.875em;background-color:currentColor;-webkit-mask-image:var(--cx-tag-icon);mask-image:var(--cx-tag-icon);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.dark .cx-tag{--cx-tag-fg:#cdc4dc;--cx-tag-bg:rgba(167, 139, 250, 0.10)}a.cx-tag:hover{--cx-tag-fg:#443c52;--cx-tag-bg:#ece9f1}.dark a.cx-tag:hover{--cx-tag-fg:#ded7e8;--cx-tag-bg:rgba(167, 139, 250, 0.18)}a.cx-tag:focus-visible{outline:2px solid rgba(124,58,237,.5);outline-offset:2px}.code-scroll [data-component-part=scroll-area-viewport]{max-height:30rem}"},{"filePath":"photo-shoot/index.css","content":"@font-face{font-family:'Poppins';src:url(/Poppins-Regular.ttf) format('truetype');font-weight:400;font-style:normal;font-display:swap}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px}"}],"page":{"pagePath":"sdk-libraries/sdks-overview","slug":"/sdk-libraries/sdks-overview","pageMetadata":{"title":"Courier SDKs","sidebarTitle":"Overview","description":"Server SDKs that wrap the REST API and client SDKs that render in-app UI, for every platform.","mode":"wide","href":"/sdk-libraries/sdks-overview"},"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: \"Server SDKs that wrap the REST API and client SDKs that render in-app UI, for every platform.\"\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];const AppLink=({href,children,name,bare})=>{const _components={a:`a`,..._provideComponents()};const label=children||name||`Open in Courier`;if(bare){return _jsx(_components.a,{href,target:`_blank`,rel:`noreferrer`,children:label})}return _jsxs(_components.a,{className:`cx-endpoint`,\"data-kind\":`app`,href,target:`_blank`,rel:`noreferrer`,children:[_jsx(`span`,{className:`cx-endpoint-label`,children:label}),_jsx(`span`,{className:`cx-endpoint-method`,\"aria-hidden\":`true`,children:`↗`})]})};const Guide=({href,children,name,bare})=>{const _components={a:`a`,..._provideComponents()};const label=children||name||href;if(bare){return _jsx(_components.a,{href,children:label})}return _jsxs(_components.a,{className:`cx-endpoint`,\"data-kind\":`guide`,href,children:[_jsx(`span`,{className:`cx-endpoint-label`,children:label}),_jsx(`span`,{className:`cx-endpoint-method`,children:`GUIDE`})]})};const Doc=({href,children,name,bare})=>{const _components={a:`a`,..._provideComponents()};const label=children||name||href;if(bare){return _jsx(_components.a,{href,children:label})}return _jsxs(_components.a,{className:`cx-endpoint`,\"data-kind\":`doc`,href,children:[_jsx(`span`,{className:`cx-endpoint-label`,children:label}),_jsx(`span`,{className:`cx-endpoint-method`,children:`DOC`})]})};function _createMdxContent(props){const _components={p:`p`,..._provideComponents(),...props.components},{Card,CardGroup,Heading,_MdxComponentBoundary}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!_MdxComponentBoundary)_missingMdxReference(`_MdxComponentBoundary`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Server SDKs wrap the `,_jsx(_MdxComponentBoundary,{name:`Doc`,children:_jsx(Doc,{href:`/reference/api-overview`,children:`REST API`})}),`. Client SDKs render in-app UI.`]}),`\n`,_jsx(Heading,{level:`2`,id:`server`,children:`Server`}),`\n`,_jsxs(_components.p,{children:[`Send notifications, manage Profiles and Lists, and configure Templates from your backend. Each authenticates with a workspace API key from `,_jsx(_MdxComponentBoundary,{name:`AppLink`,children:_jsx(AppLink,{href:`https://app.courier.com/settings/api-keys`,children:`Settings → API Keys`})}),`, scoped to one `,_jsx(_MdxComponentBoundary,{name:`Doc`,children:_jsx(Doc,{href:`/workspaces/environments`,children:`environment`})}),`.`]}),`\n`,_jsxs(CardGroup,{cols:4,children:[_jsx(Card,{title:`Node.js`,icon:`node-js`,href:`/sdk-libraries/node`,horizontal:true}),_jsx(Card,{title:`Python`,icon:`python`,href:`/sdk-libraries/python`,horizontal:true}),_jsx(Card,{title:`Ruby`,icon:`gem`,href:`/sdk-libraries/ruby`,horizontal:true}),_jsx(Card,{title:`Go`,icon:`golang`,href:`/sdk-libraries/go`,horizontal:true}),_jsx(Card,{title:`Java`,icon:`java`,href:`/sdk-libraries/java`,horizontal:true}),_jsx(Card,{title:`PHP`,icon:`php`,href:`/sdk-libraries/php`,horizontal:true}),_jsx(Card,{title:`C# / .NET`,icon:`code`,href:`/sdk-libraries/csharp`,horizontal:true})]}),`\n`,_jsx(Heading,{level:`2`,id:`client`,children:`Client`}),`\n`,_jsxs(_components.p,{children:[`Build the Inbox, Toasts, and Preferences into your app. `,_jsx(_MdxComponentBoundary,{name:`Doc`,children:_jsx(Doc,{href:`/in-app/overview`,children:`In-App`})}),` holds those flows, and `,_jsx(_MdxComponentBoundary,{name:`Guide`,children:_jsx(Guide,{href:`/guides/set-up-mobile-push`,children:`Set up push notifications`})}),` holds mobile push. Each SDK page is the reference for its platform.`]}),`\n`,_jsxs(CardGroup,{cols:4,children:[_jsx(Card,{title:`React`,icon:`react`,href:`/sdk-libraries/courier-react-web`,horizontal:true}),_jsx(Card,{title:`Vue`,icon:`vuejs`,href:`/sdk-libraries/courier-vue-web`,horizontal:true}),_jsx(Card,{title:`Angular`,icon:`angular`,href:`/sdk-libraries/courier-angular-web`,horizontal:true}),_jsx(Card,{title:`Web Components`,icon:`browser`,href:`/sdk-libraries/courier-web-components`,horizontal:true}),_jsx(Card,{title:`JavaScript`,icon:`js`,href:`/sdk-libraries/courier-js-web`,horizontal:true}),_jsx(Card,{title:`React Native`,icon:`react`,href:`/sdk-libraries/react-native`,horizontal:true}),_jsx(Card,{title:`iOS`,icon:`apple`,href:`/sdk-libraries/ios`,horizontal:true}),_jsx(Card,{title:`Android`,icon:`android`,href:`/sdk-libraries/android`,horizontal:true}),_jsx(Card,{title:`Flutter`,icon:`flutter`,href:`/sdk-libraries/flutter`,horizontal:true})]}),`\n`,_jsxs(_components.p,{children:[`Upgrading from React v7? See the `,_jsx(_MdxComponentBoundary,{name:`Doc`,children:_jsx(Doc,{href:`/sdk-libraries/courier-react-v8-migration-guide`,children:`migration guide`})}),`.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{AppLink,Guide,Doc,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":"Courier SDKs","sidebarTitle":"Overview","description":"Server SDKs that wrap the REST API and client SDKs that render in-app UI, for every platform.","mode":"wide","href":"/sdk-libraries/sdks-overview"}}},"mdxSourceWithNoJs":null,"noJsSplices":[[143,1421,")=>null;const Guide=()=>null;const Doc=()=>null;function _cr"]]},"mdxExtracts":{"tableOfContents":[{"title":"Server","slug":"server","depth":2,"children":[]},{"title":"Client","slug":"client","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/docs/_mintlify/custom/courier-4f1f25dc/57421be0d4eec0e0/content/favicons.js","/docs/_mintlify/custom/courier-4f1f25dc/05bb41119f2419fd/scripts.js"],"subdomain":"courier-4f1f25dc","siteName":"Courier","title":"Courier SDKs - Courier","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-02T14:16:53.634Z","originalFileLocation":"sdk-libraries/sdks-overview.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=\"Server SDKs that wrap the REST API and client SDKs that render in-app UI, for every platform.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Courier\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/courier-4f1f25dc/dyGkQZT6Sxn7ts5C/_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=\"/docs/mintlify-assets/_mintlify/favicons/courier-4f1f25dc/dyGkQZT6Sxn7ts5C/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/courier-4f1f25dc/dyGkQZT6Sxn7ts5C/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/courier-4f1f25dc/dyGkQZT6Sxn7ts5C/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/courier-4f1f25dc/dyGkQZT6Sxn7ts5C/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/courier-4f1f25dc/dyGkQZT6Sxn7ts5C/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/courier-4f1f25dc/dyGkQZT6Sxn7ts5C/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/courier-4f1f25dc/dyGkQZT6Sxn7ts5C/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/courier-4f1f25dc/dyGkQZT6Sxn7ts5C/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Courier SDKs - Courier\">\u003cmeta data-mint-head property=\"og:description\" content=\"Server SDKs that wrap the REST API and client SDKs that render in-app UI, for every platform.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Courier\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://www.courier.com/docs/sdk-libraries/sdks-overview\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://courier-4f1f25dc.mintlify.app/_mintlify/api/og/v2?division=Get+started\u0026amp;title=Courier+SDKs\u0026amp;description=Server+SDKs+that+wrap+the+REST+API+and+client+SDKs+that+render+in-app+UI%2C+for+every+platform.\u0026amp;theme=cd9c1f7a2a145eb25435c169\u0026amp;signature=66093766c072e04baf6cd7271e401f0c1ea45d21d22795435259641ce0137ae5\">\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=\"Courier SDKs - Courier\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Server SDKs that wrap the REST API and client SDKs that render in-app UI, for every platform.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://courier-4f1f25dc.mintlify.app/_mintlify/api/og/v2?division=Get+started\u0026amp;title=Courier+SDKs\u0026amp;description=Server+SDKs+that+wrap+the+REST+API+and+client+SDKs+that+render+in-app+UI%2C+for+every+platform.\u0026amp;theme=cd9c1f7a2a145eb25435c169\u0026amp;signature=66093766c072e04baf6cd7271e401f0c1ea45d21d22795435259641ce0137ae5\">\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=\"/docs/mintlify-assets/_mintlify/favicons/courier-4f1f25dc/dyGkQZT6Sxn7ts5C/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Courier\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#7C3AED\">\u003clink data-mint-head rel=\"canonical\" href=\"https://www.courier.com/docs/sdk-libraries/sdks-overview\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/sdk-libraries/sdks-overview.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://www.courier.com/#organization\",\"name\":\"Courier\",\"url\":\"https://www.courier.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/courier-4f1f25dc/xDJPBS8EQ58X_0-v/assets/logo-light.svg?fit=max\u0026auto=format\u0026n=xDJPBS8EQ58X_0-v\u0026q=85\u0026s=2da40366f40ee5623aeabb98e65c6295\"}},{\"@type\":\"WebSite\",\"@id\":\"https://www.courier.com/docs#website\",\"name\":\"Courier\",\"url\":\"https://www.courier.com/docs\",\"publisher\":{\"@id\":\"https://www.courier.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://www.courier.com/docs/sdk-libraries/sdks-overview#webpage\",\"url\":\"https://www.courier.com/docs/sdk-libraries/sdks-overview\",\"name\":\"Courier SDKs\",\"description\":\"Server SDKs that wrap the REST API and client SDKs that render in-app UI, for every platform.\",\"dateModified\":\"2026-10-02T14:16:53.634Z\",\"isPartOf\":{\"@id\":\"https://www.courier.com/docs#website\"},\"breadcrumb\":{\"@id\":\"https://www.courier.com/docs/sdk-libraries/sdks-overview#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://www.courier.com/docs/sdk-libraries/sdks-overview#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Courier\",\"item\":\"https://www.courier.com/docs\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Courier SDKs\",\"item\":\"https://www.courier.com/docs/sdk-libraries/sdks-overview\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://www.courier.com/docs/sdk-libraries/sdks-overview#article\",\"headline\":\"Courier SDKs\",\"name\":\"Courier SDKs\",\"description\":\"Server SDKs that wrap the REST API and client SDKs that render in-app UI, for every platform.\",\"url\":\"https://www.courier.com/docs/sdk-libraries/sdks-overview\",\"mainEntityOfPage\":{\"@id\":\"https://www.courier.com/docs/sdk-libraries/sdks-overview#webpage\"},\"dateModified\":\"2026-10-02T14:16:53.634Z\",\"publisher\":{\"@id\":\"https://www.courier.com/#organization\"},\"isPartOf\":{\"@id\":\"https://www.courier.com/docs#website\"}}]}\u003c/script>","siteName":"Courier","nav":{"global":null,"tabs":[{"tab":"Docs","icon":"book","pages":[{"title":"Docs","href":"/overview"}]},{"tab":"Guides","icon":"list-check","pages":[{"title":"Guides","href":"/guides/overview"}]},{"tab":"Integrations","icon":"puzzle-piece","pages":[{"title":"Integrations","href":"/integrations/overview"}]},{"tab":"In-App","icon":"inbox","pages":[{"title":"In-App","href":"/in-app/overview"}]},{"tab":"SDKs","icon":"cube","groups":[{"group":"Get started","icon":"rocket","pages":[{"title":"Courier SDKs","sidebarTitle":"Overview","mode":"wide","href":"/sdk-libraries/sdks-overview"}]},{"group":"Server","icon":"server","pages":[{"title":"Courier Node.js SDK","sidebarTitle":"Node.js","description":"Typed access to the Courier API from TypeScript or JavaScript: install, authenticate, send.","icon":"node-js","href":"/sdk-libraries/node"},{"title":"Courier Python SDK","sidebarTitle":"Python","icon":"python","href":"/sdk-libraries/python"},{"title":"Courier Ruby SDK","sidebarTitle":"Ruby","icon":"gem","href":"/sdk-libraries/ruby"},{"title":"Courier Go SDK","sidebarTitle":"Go","icon":"golang","href":"/sdk-libraries/go"},{"title":"Courier Java SDK","sidebarTitle":"Java","icon":"java","href":"/sdk-libraries/java"},{"title":"Courier PHP SDK","sidebarTitle":"PHP","icon":"php","href":"/sdk-libraries/php"},{"title":"Courier C# SDK","sidebarTitle":"C#","icon":"code","href":"/sdk-libraries/csharp"}]},{"group":"Client","icon":"laptop-code","pages":[{"title":"Courier React SDK","sidebarTitle":"React","icon":"react","href":"/sdk-libraries/courier-react-web"},{"title":"Courier Vue SDK","sidebarTitle":"Vue","icon":"vuejs","href":"/sdk-libraries/courier-vue-web"},{"title":"Courier Angular SDK","sidebarTitle":"Angular","icon":"angular","href":"/sdk-libraries/courier-angular-web"},{"title":"Courier Web Components SDK","sidebarTitle":"Web Components","icon":"browser","href":"/sdk-libraries/courier-web-components"},{"title":"Courier JS SDK","sidebarTitle":"Courier JS","icon":"js","href":"/sdk-libraries/courier-js-web"},{"title":"Courier React Native SDK","sidebarTitle":"React Native","icon":"react","href":"/sdk-libraries/react-native"},{"title":"Courier iOS SDK","sidebarTitle":"iOS","icon":"apple","href":"/sdk-libraries/ios"},{"title":"Courier Android SDK","sidebarTitle":"Android","icon":"android","href":"/sdk-libraries/android"},{"title":"Courier Flutter SDK","sidebarTitle":"Flutter","icon":"flutter","href":"/sdk-libraries/flutter"}]}]},{"tab":"API Reference","icon":"code","pages":[{"title":"API Reference","href":"/reference/api-overview"}]},{"tab":"Build with AI","icon":"microchip-ai","pages":[{"title":"Build with AI","href":"/get-started/build-with-ai"}]}]},"title":"Courier SDKs - Courier","buildId":"dpl_AUojGTPodKNPTVaxVPcxnNvkSVqo","deploymentId":"dpl_AUojGTPodKNPTVaxVPcxnNvkSVqo","dynamics":[],"chunks":[]}