IndiePitcher REST API allows you to send emails, manage your contacts, and generate portal session to manage user’s contact lists.Please note that most destructive operations are currently not supported through the REST API for sesucurity reasons. Please use the IndiePitcher dashboard.
Do not expose the API key and make calls to our API from your frontend code. You risk your API key being exploited by spammers and us having to reset/disable your API key. We also have CORS security rules in place.
Rate limits are applied to all requests to the IndiePitcher API. The rate limits are as follows:
10 requests per second across API keys tied to a project.
After reaching the rate limit, you will receive a 429 Too Many Requests response. The rate limit will reset after 1 second. We recommend using endpoints that support batch operations to reduce the number of requests made.
curl --request POST \ --url https://api.indiepitcher.com/v1/email/transactional \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "to": "petr@indiepitcher.com", "subject": "You have been invited to IndiePitcher", "body": "This is a sample body that supports **markdown**. Plain html is also supported.", "bodyFormat": "markdown" }'
import { IndiePitcher } from 'indiepitcher';const indiePitcher = new IndiePitcher('sk_xxxxxxxxxxxxxxxxxxxx');await indiePitcher.sendEmail({ to: 'petr@indiepitcher.com', subject: 'You have been invited to IndiePitcher', body: 'This is a sample body that supports **markdown**. Plain html is also supported.', bodyFormat: 'markdown',});
import IndiePitcherSwiftlet indiePitcher = IndiePitcher(apiKey: "sk_xxxxxxxxxxxxxxxxxxxx")try await indiePitcher.sendEmail( data: .init( to: "petr@indiepitcher.com", subject: "You have been invited to IndiePitcher", body: "This is a sample body that supports **markdown**. Plain html is also supported.", bodyFormat: .markdown ))
from indiepitcher import IndiePitcherClient, SendEmail, EmailBodyFormatclient = IndiePitcherClient(api_key="your_api_key")# or for async environments# client = IndiePitcherAsyncClient(api_key="your_api_key")email = SendEmail( to="recipient@example.com", subject="Hello from IndiePitcher!", body="This is a **markdown** email sent via the IndiePitcher Python SDK.", body_format=EmailBodyFormat.MARKDOWN)client.send_email(email)
{"docsConfig":{"$schema":"https://mintlify.com/docs.json","theme":"mint","name":"IndiePitcher","colors":{"primary":"#836FFF","light":"#836FFF","dark":"#836FFF"},"favicon":"/favicon.svg","logo":{"light":"https://mintcdn.com/indiepitcher/9ykXek5nppVsZnK7/logo/iplogo.png?fit=max\u0026auto=format\u0026n=9ykXek5nppVsZnK7\u0026q=85\u0026s=b0a88f34b5a35361f85f6bcc957573e9","dark":"https://mintcdn.com/indiepitcher/9ykXek5nppVsZnK7/logo/iplogo.png?fit=max\u0026auto=format\u0026n=9ykXek5nppVsZnK7\u0026q=85\u0026s=b0a88f34b5a35361f85f6bcc957573e9"},"api":{"openapi":["api-reference/openapi.yml"]},"background":{"decoration":null,"color":{"light":"#F5F5F5","dark":"#090724"}},"navbar":{"links":[{"label":"Support","href":"mailto:petr@indiepitcher.com"}],"primary":{"type":"button","label":"Login","href":"https://app.indiepitcher.com"}},"footer":{"socials":{"twitter":"https://twitter.com/indiepitcher","discord":"https://discord.gg/zjCzhAqQZe","linkedin":"https://linkedin.com/company/indiepitcher","facebook":"https://www.facebook.com/profile.php?id=61555636693060"}},"integrations":{"plausible":{"domain":"docs.indiepitcher.com"}},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"indiepitcher","hasAudioNarration":false,"actualSubdomain":"indiepitcher","customDomains":["docs.indiepitcher.com"],"gitSource":{"type":"github","owner":"petrpavlik","repo":"indiepitcher-mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a21c9428d90fac40fc25dea","collectionId":"9176b456-fa01-497a-befb-294513ffdec6","schemaVersion":"v2"},"entitlements":{},"buildId":"6a21c9428d90fac40fc25dea:success","clientVersion":"0.0.3966","searchFilterCounts":[{"language":"default","tag":"Documentation","count":19},{"language":"default","tag":"API Reference","count":12},{"language":"default","tag":"Contacts","count":6},{"language":"default","tag":"Email","count":3},{"language":"default","tag":"Integrations","count":3},{"language":"default","tag":"Mailing Lists","count":2},{"language":"default","tag":"API Documentation","count":1}]},"assistantConfig":{},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/introduction","slug":"/api-reference/introduction","pageMetadata":{"title":"Introduction","description":"IndiePitcher REST API documentation","href":"/api-reference/introduction"},"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: \"IndiePitcher REST API documentation\"\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`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,CodeGroup,Heading,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!CodeGroup)_missingMdxReference(`CodeGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`welcome`,children:`Welcome`}),`\n`,_jsx(_components.p,{children:`IndiePitcher REST API allows you to send emails, manage your contacts, and generate portal session to manage user’s contact lists.`}),`\n`,_jsxs(_components.p,{children:[`Please note that most destructive operations are currently not supported through the REST API for sesucurity reasons. Please use the `,_jsx(_components.a,{href:`https://app.indiepitcher.com`,children:`IndiePitcher dashboard`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`base-url`,children:`Base URL`}),`\n`,_jsx(_components.p,{children:`All requests contain the following base URL:`}),`\n`,_jsx(CodeBlock,{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://api.indiepitcher.com/v1`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(Heading,{level:`2`,id:`authentication`,children:`Authentication`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Create a free account at `,_jsx(_components.a,{href:`https://app.indiepitcher.com`,children:`IndiePitcher`}),` to get your API key. API keys are tied to a project.`]}),`\n`,_jsxs(_components.li,{children:[`After you’ve generated your API key you can use it to authenticate your requests by including it in the `,_jsx(_components.code,{children:`Authorization`}),` header.`]}),`\n`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`http`,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:`http`,children:_jsxs(_components.code,{language:`http`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`Authorization`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` Bearer sc_xxxxxxxxxxxxxxxxxxxxxxxxxxxx`})]}),`\n`]})})}),`\n`,_jsx(Warning,{children:`Do not expose the API key and make calls to our API from your frontend code. You risk your API key being exploited by spammers and us having to reset/disable your API key. We also have CORS security rules in place.`}),`\n`,_jsx(Heading,{level:`2`,id:`rate-limits`,children:`Rate Limits`}),`\n`,_jsx(_components.p,{children:`Rate limits are applied to all requests to the IndiePitcher API. The rate limits are as follows:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.strong,{children:`10 requests per second across API keys tied to a project.`})}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`After reaching the rate limit, you will receive a `,_jsx(_components.code,{children:`429 Too Many Requests`}),` response. The rate limit will reset after 1 second. We recommend using endpoints that support batch operations to reduce the number of requests made.`]}),`\n`,_jsx(Heading,{level:`2`,id:`sdks`,children:`SDKs`}),`\n`,_jsx(_components.p,{children:`SDKs are available for the following languages:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`https://github.com/IndiePitcher/indiepitcher-node`,children:`Node.js`}),` (requests from web browsers are blocked by CORS)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`https://github.com/IndiePitcher/indiepitcher-swift`,children:`Swift`}),` (server-side usage only)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`https://github.com/IndiePitcher/indiepitcher-python`,children:`Python`}),` (sync and async)`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`openapi-spec`,children:`OpenAPI spec`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://api.indiepitcher.com/openapi.yaml`,children:`https://api.indiepitcher.com/openapi.yaml`})}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`quick-start-guide`,children:`Quick Start Guide`}),`\n`,_jsx(Heading,{level:`3`,id:`send-a-simple-email`,children:`Send a simple email`}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`cURL`,numberOfLines:`10`,language:`shellscript`,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:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`10`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --request`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --url`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.indiepitcher.com/v1/email/transactional`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --header`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Authorization: Bearer \u003ctoken>'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --header`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Content-Type: application/json'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --data`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"to\": \"petr@indiepitcher.com\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"subject\": \"You have been invited to IndiePitcher\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"body\": \"This is a sample body that supports **markdown**. Plain html is also supported.\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"bodyFormat\": \"markdown\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Node.js`,numberOfLines:`9`,language:`javascript`,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:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`9`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`IndiePitcher`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'indiepitcher'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` indiePitcher`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` new`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` IndiePitcher`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'sk_xxxxxxxxxxxxxxxxxxxx'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` indiePitcher`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`sendEmail`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` to:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'petr@indiepitcher.com'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` subject:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'You have been invited to IndiePitcher'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` body:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'This is a sample body that supports **markdown**. Plain html is also supported.'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` bodyFormat:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'markdown'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Server-side Swift`,numberOfLines:`10`,language:`swift`,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:`swift`,children:_jsxs(_components.code,{language:`swift`,numberOfLines:`10`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` IndiePitcherSwift`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`let`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` indiePitcher `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` IndiePitcher`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`apiKey`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"sk_xxxxxxxxxxxxxxxxxxxx\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`try`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` indiePitcher.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`sendEmail`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` data`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: .`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`init`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` to`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"petr@indiepitcher.com\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` subject`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"You have been invited to IndiePitcher\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` body`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"This is a sample body that supports **markdown**. Plain html is also supported.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` bodyFormat`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: .`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`markdown`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ))`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Python`,numberOfLines:`15`,language:`python`,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:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`15`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` indiepitcher `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` IndiePitcherClient, SendEmail, EmailBodyFormat`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`client `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` IndiePitcherClient(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`api_key`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"your_api_key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# or for async environments`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# client = IndiePitcherAsyncClient(api_key=\"your_api_key\")`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`email `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` SendEmail(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` to`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"recipient@example.com\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` subject`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Hello from IndiePitcher!\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` body`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"This is a **markdown** email sent via the IndiePitcher Python SDK.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` body_format`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`EmailBodyFormat.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`MARKDOWN`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`client.send_email(email)`})}),`\n`]})})})]}),`\n`,_jsx(Heading,{level:`2`,id:`learn-more`,children:`Learn More`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/api-reference/endpoints/create-contact`,children:`Add a contact`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/api-reference/endpoints/send-email-to-contact`,children:`Send an email to a contact`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/api-reference/endpoints/send-email-to-mailing-list`,children:`Send an email to contacts subscribed to a mailing list`})}),`\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":"Introduction","description":"IndiePitcher REST API documentation","href":"/api-reference/introduction"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Welcome","slug":"welcome","depth":2,"children":[]},{"title":"Base URL","slug":"base-url","depth":2,"children":[]},{"title":"Authentication","slug":"authentication","depth":2,"children":[]},{"title":"Rate Limits","slug":"rate-limits","depth":2,"children":[]},{"title":"SDKs","slug":"sdks","depth":2,"children":[]},{"title":"OpenAPI spec","slug":"openapi-spec","depth":2,"children":[]},{"title":"Quick Start Guide","slug":"quick-start-guide","depth":2,"children":[{"title":"Send a simple email","slug":"send-a-simple-email","depth":3,"children":[]}]},{"title":"Learn More","slug":"learn-more","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"indiepitcher","siteName":"IndiePitcher","title":"Introduction - IndiePitcher","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-01-07T00:52:39.431Z","originalFileLocation":"api-reference/introduction.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=\"IndiePitcher REST API documentation\">\u003cmeta data-mint-head name=\"application-name\" content=\"IndiePitcher\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/indiepitcher/VouEa1tDVabv-Za1/_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/indiepitcher/VouEa1tDVabv-Za1/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/indiepitcher/VouEa1tDVabv-Za1/_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/indiepitcher/VouEa1tDVabv-Za1/_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/indiepitcher/VouEa1tDVabv-Za1/_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/indiepitcher/VouEa1tDVabv-Za1/_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/indiepitcher/VouEa1tDVabv-Za1/_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/indiepitcher/VouEa1tDVabv-Za1/_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/indiepitcher/VouEa1tDVabv-Za1/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Introduction - IndiePitcher\">\u003cmeta data-mint-head property=\"og:description\" content=\"IndiePitcher REST API documentation\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"IndiePitcher\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.indiepitcher.com/api-reference/introduction\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://indiepitcher.mintlify.app/_mintlify/api/og/v2?division=API+Documentation\u0026amp;title=Introduction\u0026amp;description=IndiePitcher+REST+API+documentation\u0026amp;theme=e15ee1dae9f3d0be7d722962\u0026amp;signature=9aa6deb403a4481b6a93b09b2bf79bc162b8d2dae6e555f646a0f1ce01efb6fe\">\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=\"Introduction - IndiePitcher\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"IndiePitcher REST API documentation\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://indiepitcher.mintlify.app/_mintlify/api/og/v2?division=API+Documentation\u0026amp;title=Introduction\u0026amp;description=IndiePitcher+REST+API+documentation\u0026amp;theme=e15ee1dae9f3d0be7d722962\u0026amp;signature=9aa6deb403a4481b6a93b09b2bf79bc162b8d2dae6e555f646a0f1ce01efb6fe\">\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/indiepitcher/VouEa1tDVabv-Za1/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"IndiePitcher\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#836FFF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.indiepitcher.com/api-reference/introduction\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/introduction.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.indiepitcher.com/#organization\",\"name\":\"IndiePitcher\",\"url\":\"https://docs.indiepitcher.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/indiepitcher/9ykXek5nppVsZnK7/logo/iplogo.png?fit=max\u0026auto=format\u0026n=9ykXek5nppVsZnK7\u0026q=85\u0026s=b0a88f34b5a35361f85f6bcc957573e9\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.indiepitcher.com#website\",\"name\":\"IndiePitcher\",\"url\":\"https://docs.indiepitcher.com\",\"publisher\":{\"@id\":\"https://docs.indiepitcher.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.indiepitcher.com/api-reference/introduction#webpage\",\"url\":\"https://docs.indiepitcher.com/api-reference/introduction\",\"name\":\"Introduction\",\"description\":\"IndiePitcher REST API documentation\",\"dateModified\":\"2026-01-07T00:52:39.431Z\",\"isPartOf\":{\"@id\":\"https://docs.indiepitcher.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.indiepitcher.com/api-reference/introduction#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.indiepitcher.com/api-reference/introduction#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"IndiePitcher\",\"item\":\"https://docs.indiepitcher.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Introduction\",\"item\":\"https://docs.indiepitcher.com/api-reference/introduction\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.indiepitcher.com/api-reference/introduction#article\",\"headline\":\"Introduction\",\"name\":\"Introduction\",\"description\":\"IndiePitcher REST API documentation\",\"url\":\"https://docs.indiepitcher.com/api-reference/introduction\",\"mainEntityOfPage\":{\"@id\":\"https://docs.indiepitcher.com/api-reference/introduction#webpage\"},\"dateModified\":\"2026-01-07T00:52:39.431Z\",\"publisher\":{\"@id\":\"https://docs.indiepitcher.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.indiepitcher.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"IndiePitcher\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"IndiePitcher","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/introduction"}]},{"tab":"API Reference","groups":[{"group":"API Documentation","pages":[{"title":"Introduction","href":"/api-reference/introduction"}]},{"group":"Email","pages":[{"openapi":"post /email/transactional","title":"Sends an email to specified email address.","description":"The email is not required to belong to a contact in your contact list. Use this API to send emails such as that a user who is not signed up for your product was invited to a team.","href":"/api-reference/endpoints/send-transactional-email"},{"openapi":"post /email/contact","title":"Send an email to one of more registered contacts.","href":"/api-reference/endpoints/send-email-to-contacts"},{"openapi":"post /email/list","title":"Send an email to registered contacts in a mailing list.","href":"/api-reference/endpoints/send-email-to-mailing-list"}]},{"group":"Contacts","pages":[{"openapi":"get /contacts","title":"Retrieve contacts","href":"/api-reference/endpoints/list-contacts"},{"openapi":"get /contacts/find","title":"Find a contact","href":"/api-reference/endpoints/find-contact"},{"openapi":"post /contacts/create","title":"Add a new contact","href":"/api-reference/endpoints/create-contact"},{"openapi":"post /contacts/create_many","title":"Add multiple contacts using a single API call","href":"/api-reference/endpoints/create-multiple-contacts"},{"openapi":"patch /contacts/update","title":"Update an existing contact","href":"/api-reference/endpoints/update-contact"},{"openapi":"post /contacts/delete","title":"Delete a contact","href":"/api-reference/endpoints/delete-contact"}]},{"group":"Mailing Lists","pages":[{"openapi":"get /lists","title":"Retrieve mailing lists","href":"/api-reference/endpoints/retrieve-mailing-lists"},{"openapi":"post /lists/portal_session","title":"Create a portal session URL for a contact to manage their mailing list subscripitons","href":"/api-reference/endpoints/create-mailing-list-portal-session"}]}]}]},"title":"Introduction - IndiePitcher","buildId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","deploymentId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","dynamics":[],"chunks":[]}