Create a top-up checkout
https://api.mentio.dev/v1/billing/top-upsGet a hosted checkout URL for a top-up; this call charges nothing.
The balance is credited within a minute of payment, and paused tracking resumes. successUrl must be on a trusted origin; omit it for the dashboard.
Authentication
AuthorizationBearer <token>RequiredAn API key (mk_live_...) from the dashboard or an OAuth access token. See Authentication.
Header parameters
idempotency-keystringOptionalA unique value (a UUID) for this request. Retrying with the same key within 24 hours returns the first response instead of creating twice.
1 to 255 charactersBody
application/jsonamountCentsintegerRequiredAmount to add, in USD cents (2000 to 500000). Prefilled at checkout, editable there.
2000 to 500000successUrlstringOptionalWhere the customer lands after paying: a page on an origin this deployment trusts (the dashboard). Omit it and the dashboard's billing page is used.
0 to 2000 charactersuriResponse
urlstringRequiredHosted Polar checkout URL.
+-Show 1 propertyHide 1 property
errorobjectRequiredThe error.
+-Show 4 propertiesHide 4 properties
codestringRequiredStable machine-readable code; branch on this, never on the message. Codes are additive: a client should treat one it does not know as a generic failure of the same status.
+-Show 46 enum valuesHide 46 enum values
unauthorizedforbiddenread_only_keyvalidation_errornot_foundinvalid_cursorpayload_too_largeidempotency_key_in_useidempotency_key_reusedrate_limitedduplicate_keywordinsufficient_balancekeyword_limit_reachedbilling_not_configuredorder_not_creditedschedule_requiredunknown_channelnot_a_digesthourly_email_unsupportedslack_not_connectedslack_not_configuredtelegram_not_configuredfeed_unreadablefeed_login_requiredfeed_login_expiredfeed_limit_reachedfeed_auth_not_configuredemail_not_configuredinvalid_assigneeclassification_pendinginvalid_memberalready_memberlast_ownerduplicate_segmentfilter_too_complexduplicate_viewduplicate_groupdefault_groupdefault_group_contextgroup_changedinvalid_signaturewebhook_not_configuredinvalid_tokenprotected_userupstream_unavailableinternal_errormessagestringRequiredHuman-readable detail; may change between releases.
requestIdstringOptionalThe id of this request (also the X-Request-Id response header); quote it to support.
retryAfterSecondsintegerOptionalFor rate_limited and other retryable errors: how long to wait before retrying (mirrors the Retry-After header).
+-Show 1 propertyHide 1 property
errorobjectRequiredThe error.
+-Show 4 propertiesHide 4 properties
codestringRequiredStable machine-readable code; branch on this, never on the message. Codes are additive: a client should treat one it does not know as a generic failure of the same status.
+-Show 46 enum valuesHide 46 enum values
unauthorizedforbiddenread_only_keyvalidation_errornot_foundinvalid_cursorpayload_too_largeidempotency_key_in_useidempotency_key_reusedrate_limitedduplicate_keywordinsufficient_balancekeyword_limit_reachedbilling_not_configuredorder_not_creditedschedule_requiredunknown_channelnot_a_digesthourly_email_unsupportedslack_not_connectedslack_not_configuredtelegram_not_configuredfeed_unreadablefeed_login_requiredfeed_login_expiredfeed_limit_reachedfeed_auth_not_configuredemail_not_configuredinvalid_assigneeclassification_pendinginvalid_memberalready_memberlast_ownerduplicate_segmentfilter_too_complexduplicate_viewduplicate_groupdefault_groupdefault_group_contextgroup_changedinvalid_signaturewebhook_not_configuredinvalid_tokenprotected_userupstream_unavailableinternal_errormessagestringRequiredHuman-readable detail; may change between releases.
requestIdstringOptionalThe id of this request (also the X-Request-Id response header); quote it to support.
retryAfterSecondsintegerOptionalFor rate_limited and other retryable errors: how long to wait before retrying (mirrors the Retry-After header).
+-Show 1 propertyHide 1 property
errorobjectRequiredThe error.
+-Show 4 propertiesHide 4 properties
codestringRequiredStable machine-readable code; branch on this, never on the message. Codes are additive: a client should treat one it does not know as a generic failure of the same status.
+-Show 46 enum valuesHide 46 enum values
unauthorizedforbiddenread_only_keyvalidation_errornot_foundinvalid_cursorpayload_too_largeidempotency_key_in_useidempotency_key_reusedrate_limitedduplicate_keywordinsufficient_balancekeyword_limit_reachedbilling_not_configuredorder_not_creditedschedule_requiredunknown_channelnot_a_digesthourly_email_unsupportedslack_not_connectedslack_not_configuredtelegram_not_configuredfeed_unreadablefeed_login_requiredfeed_login_expiredfeed_limit_reachedfeed_auth_not_configuredemail_not_configuredinvalid_assigneeclassification_pendinginvalid_memberalready_memberlast_ownerduplicate_segmentfilter_too_complexduplicate_viewduplicate_groupdefault_groupdefault_group_contextgroup_changedinvalid_signaturewebhook_not_configuredinvalid_tokenprotected_userupstream_unavailableinternal_errormessagestringRequiredHuman-readable detail; may change between releases.
requestIdstringOptionalThe id of this request (also the X-Request-Id response header); quote it to support.
retryAfterSecondsintegerOptionalFor rate_limited and other retryable errors: how long to wait before retrying (mirrors the Retry-After header).
+-Show 1 propertyHide 1 property
errorobjectRequiredThe error.
+-Show 4 propertiesHide 4 properties
codestringRequiredStable machine-readable code; branch on this, never on the message. Codes are additive: a client should treat one it does not know as a generic failure of the same status.
+-Show 46 enum valuesHide 46 enum values
unauthorizedforbiddenread_only_keyvalidation_errornot_foundinvalid_cursorpayload_too_largeidempotency_key_in_useidempotency_key_reusedrate_limitedduplicate_keywordinsufficient_balancekeyword_limit_reachedbilling_not_configuredorder_not_creditedschedule_requiredunknown_channelnot_a_digesthourly_email_unsupportedslack_not_connectedslack_not_configuredtelegram_not_configuredfeed_unreadablefeed_login_requiredfeed_login_expiredfeed_limit_reachedfeed_auth_not_configuredemail_not_configuredinvalid_assigneeclassification_pendinginvalid_memberalready_memberlast_ownerduplicate_segmentfilter_too_complexduplicate_viewduplicate_groupdefault_groupdefault_group_contextgroup_changedinvalid_signaturewebhook_not_configuredinvalid_tokenprotected_userupstream_unavailableinternal_errormessagestringRequiredHuman-readable detail; may change between releases.
requestIdstringOptionalThe id of this request (also the X-Request-Id response header); quote it to support.
retryAfterSecondsintegerOptionalFor rate_limited and other retryable errors: how long to wait before retrying (mirrors the Retry-After header).
+-Show 1 propertyHide 1 property
errorobjectRequiredThe error.
+-Show 4 propertiesHide 4 properties
codestringRequiredStable machine-readable code; branch on this, never on the message. Codes are additive: a client should treat one it does not know as a generic failure of the same status.
+-Show 46 enum valuesHide 46 enum values
unauthorizedforbiddenread_only_keyvalidation_errornot_foundinvalid_cursorpayload_too_largeidempotency_key_in_useidempotency_key_reusedrate_limitedduplicate_keywordinsufficient_balancekeyword_limit_reachedbilling_not_configuredorder_not_creditedschedule_requiredunknown_channelnot_a_digesthourly_email_unsupportedslack_not_connectedslack_not_configuredtelegram_not_configuredfeed_unreadablefeed_login_requiredfeed_login_expiredfeed_limit_reachedfeed_auth_not_configuredemail_not_configuredinvalid_assigneeclassification_pendinginvalid_memberalready_memberlast_ownerduplicate_segmentfilter_too_complexduplicate_viewduplicate_groupdefault_groupdefault_group_contextgroup_changedinvalid_signaturewebhook_not_configuredinvalid_tokenprotected_userupstream_unavailableinternal_errormessagestringRequiredHuman-readable detail; may change between releases.
requestIdstringOptionalThe id of this request (also the X-Request-Id response header); quote it to support.
retryAfterSecondsintegerOptionalFor rate_limited and other retryable errors: how long to wait before retrying (mirrors the Retry-After header).