API key secret (starts with s_live_). Create keys in the dashboard under Settings → API keys, or via POST /v1/api-keys/. Send it as Authorization: Bearer <secret>.
How to connect. For credential packages the username is stateful-<name> and the password is the package key. For IP allowlist packages username and password are empty and uri is host:port.
Show child attributes
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"SOAX","colors":{"primary":"#10b77f","light":"#128e65","dark":"#10b77f"},"logo":{"light":"https://mintcdn.com/soax/x2dnBPUF6XiNROo6/logo/logo-wide-black.svg?fit=max\u0026auto=format\u0026n=x2dnBPUF6XiNROo6\u0026q=85\u0026s=8e1801c906e292ef153e926f6a0eb1f2","dark":"https://mintcdn.com/soax/x2dnBPUF6XiNROo6/logo/logo-wide-white.svg?fit=max\u0026auto=format\u0026n=x2dnBPUF6XiNROo6\u0026q=85\u0026s=0c6611fc658f1ec64bf928c6ecf1a105","href":"https://soax.com"},"favicon":"https://mintcdn.com/soax/x2dnBPUF6XiNROo6/logo/favicon.svg?fit=max\u0026auto=format\u0026n=x2dnBPUF6XiNROo6\u0026q=85\u0026s=82cf944d568d4b5bc1bca2be2b4fba7b","background":{"color":{"light":"#f8f7f7","dark":"#131316"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","grok","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"soax","hasAudioNarration":false,"actualSubdomain":"soax","customDomains":["developers.soax.com"],"gitSource":{"type":"github","owner":"soax-org","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aeb5c1da60f76c94453a387","collectionId":"657c1297-a016-457f-b65c-f595c3a469bc","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aeb5c1da60f76c94453a387"},"feedback":{"thumbs":true},"entitlements":{},"buildId":"6aeb5c1da60f76c94453a387","clientVersion":"0.0.4067","searchFilterCounts":[{"language":"default","tag":"API Reference","count":34},{"language":"default","tag":"Locations","count":8},{"language":"default","tag":"Stateful Sessions","count":7},{"language":"default","tag":"Troubleshooting","count":7},{"language":"default","tag":"Trust \u0026 Safety","count":6},{"language":"default","tag":"Code Examples","count":5},{"language":"default","tag":"Getting Started","count":5},{"language":"default","tag":"API Keys","count":4},{"language":"default","tag":"Packages","count":4},{"language":"default","tag":"Dashboard","count":4}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":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":"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":"vite-origin","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":"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}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api/stateful-sessions/rotate","slug":"/api/stateful-sessions/rotate","pageMetadata":{"title":"Rotate a stateful session","openapi":"api/openapi.json POST /v1/proxy/packages/{package_id}/stateful-sessions/{session_id}/rotate","description":"Bind the session to a new exit node now. The response carries the new `exit_ip` and `bound_since`. Limited to one rotation per second per session.\n\nRequires the `proxy:packages:write` scope.","href":"/api/stateful-sessions/rotate"},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Bind the session to a new exit node now. The response carries the new \", _jsx(_components.code, {\n children: \"exit_ip\"\n }), \" and \", _jsx(_components.code, {\n children: \"bound_since\"\n }), \". Limited to one rotation per second per session.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Requires the \", _jsx(_components.code, {\n children: \"proxy:packages:write\"\n }), \" scope.\"]\n })]\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}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Rotate a stateful session","openapi":"api/openapi.json POST /v1/proxy/packages/{package_id}/stateful-sessions/{session_id}/rotate","description":"Bind the session to a new exit node now. The response carries the new `exit_ip` and `bound_since`. Limited to one rotation per second per session.\n\nRequires the `proxy:packages:write` scope.","href":"/api/stateful-sessions/rotate"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Stateful Sessions"],"summary":"Rotate a stateful session","description":"Bind the session to a new exit node now. The response carries the new `exit_ip` and `bound_since`. Limited to one rotation per second per session.\n\nRequires the `proxy:packages:write` scope.","operationId":"rotate_stateful_session_v1_proxy_packages__package_id__stateful_sessions__session_id__rotate_post","parameters":["faadac28-0351-4b03-b1e2-cd8266bb10e5","b5a5ad11-f3a9-4413-852e-4e30cbe97ef3"],"responses":{"200":"6ea812f1-d7d9-428c-951a-b412bf556334","400":"97f725b7-85c8-4b70-bc0b-fd9a7d0bb9c1","401":"3420d38d-9a10-44e1-b236-70e03dd90956","403":"0b407f54-3839-4902-a4b9-b3f73d7ebc66","404":"bba799be-685a-4688-b75d-93547c51132e","422":"bc00edad-a703-4c8e-bcd1-b86dd44bb5ed","429":"1e63a0ea-6b32-4140-a8cb-4e8297e6da60"},"method":"post","type":"path","servers":["06663dcd-10ca-4caf-88d2-0c3b470373f4"],"security":["82a1fae4-d039-4b2f-ad57-104d7467f72b"],"path":"/v1/proxy/packages/{package_id}/stateful-sessions/{session_id}/rotate","baseUrlOptions":["https://api.platform.soax.com"],"title":"Rotate a stateful session","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"faadac28-0351-4b03-b1e2-cd8266bb10e5":{"name":"package_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$","description":"The ID of the proxy package (UUID format)","title":"Package Id","isRequired":true,"uniqueKey":"","typeLabel":"string"},"description":"The ID of the proxy package (UUID format)"},"b5a5ad11-f3a9-4413-852e-4e30cbe97ef3":{"name":"session_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$","description":"The ID of the stateful session (UUID format)","title":"Session Id","isRequired":true,"uniqueKey":"","typeLabel":"string"},"description":"The ID of the stateful session (UUID format)"}},"responses":{"6ea812f1-d7d9-428c-951a-b412bf556334":{"description":"Successful Response","content":{"application/json":{"schema":{"properties":{"id":{"type":"string","title":"Id","isRequired":true,"uniqueKey":"id","typeLabel":"string"},"proxy_id":{"type":"string","title":"Proxy Id","isRequired":true,"uniqueKey":"proxy_id","typeLabel":"string"},"name":{"type":"string","title":"Name","isRequired":true,"uniqueKey":"name","typeLabel":"string"},"status":{"type":"string","enum":["enabled","disabled"],"title":"StatefulSessionStatus","description":"`enabled` or `disabled`.","isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"ruleset":{"properties":{"network_type":{"oneOf":[{"type":"string","title":"Network Type","description":"`wifi` (residential), `mobile`, or `any`. Must be enabled on the package.","enum":["wifi","mobile","any"],"uniqueKey":"ruleset.network_type.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","title":"Network Type","description":"`wifi` (residential), `mobile`, or `any`. Must be enabled on the package.","uniqueKey":"ruleset.network_type.oneOf.1","typeLabel":"null"}],"uniqueKey":"ruleset.network_type","typeLabel":"enum\u003cstring> | null"},"country":{"oneOf":[{"type":"string","title":"Country","description":"Two-letter country code, or `any`. Must be available on the package. Required when any of `region`, `city`, `isp`, `asn` or `zip` is set.","uniqueKey":"ruleset.country.oneOf.0","typeLabel":"string"},{"type":"null","title":"Country","description":"Two-letter country code, or `any`. Must be available on the package. Required when any of `region`, `city`, `isp`, `asn` or `zip` is set.","uniqueKey":"ruleset.country.oneOf.1","typeLabel":"null"}],"uniqueKey":"ruleset.country","typeLabel":"string | null"},"region":{"oneOf":[{"type":"string","title":"Region","description":"Region code from the package location endpoints. Must belong to `country`.","uniqueKey":"ruleset.region.oneOf.0","typeLabel":"string"},{"type":"null","title":"Region","description":"Region code from the package location endpoints. Must belong to `country`.","uniqueKey":"ruleset.region.oneOf.1","typeLabel":"null"}],"uniqueKey":"ruleset.region","typeLabel":"string | null"},"city":{"oneOf":[{"type":"string","title":"City","description":"City code from the package location endpoints. Must belong to `region`, or to `country` when no region is set.","uniqueKey":"ruleset.city.oneOf.0","typeLabel":"string"},{"type":"null","title":"City","description":"City code from the package location endpoints. Must belong to `region`, or to `country` when no region is set.","uniqueKey":"ruleset.city.oneOf.1","typeLabel":"null"}],"uniqueKey":"ruleset.city","typeLabel":"string | null"},"isp":{"oneOf":[{"type":"string","title":"Isp","description":"ISP code from the package location endpoints, valid for the chosen country, region and city.","uniqueKey":"ruleset.isp.oneOf.0","typeLabel":"string"},{"type":"null","title":"Isp","description":"ISP code from the package location endpoints, valid for the chosen country, region and city.","uniqueKey":"ruleset.isp.oneOf.1","typeLabel":"null"}],"uniqueKey":"ruleset.isp","typeLabel":"string | null"},"asn":{"oneOf":[{"type":"string","title":"Asn","description":"ASN from the package location endpoints. Requires ASN targeting on your plan.","uniqueKey":"ruleset.asn.oneOf.0","typeLabel":"string"},{"type":"null","title":"Asn","description":"ASN from the package location endpoints. Requires ASN targeting on your plan.","uniqueKey":"ruleset.asn.oneOf.1","typeLabel":"null"}],"uniqueKey":"ruleset.asn","typeLabel":"string | null"},"zip":{"oneOf":[{"type":"string","title":"Zip","description":"ZIP code from the package location endpoints. Requires ZIP targeting on your plan.","uniqueKey":"ruleset.zip.oneOf.0","typeLabel":"string"},{"type":"null","title":"Zip","description":"ZIP code from the package location endpoints. Requires ZIP targeting on your plan.","uniqueKey":"ruleset.zip.oneOf.1","typeLabel":"null"}],"uniqueKey":"ruleset.zip","typeLabel":"string | null"},"lookalike":{"oneOf":[{"type":"boolean","title":"Lookalike","description":"Whether a replacement node should resemble the previous one.","uniqueKey":"ruleset.lookalike.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Lookalike","description":"Whether a replacement node should resemble the previous one.","uniqueKey":"ruleset.lookalike.oneOf.1","typeLabel":"null"}],"uniqueKey":"ruleset.lookalike","typeLabel":"boolean | null"},"rotation_trigger":{"oneOf":[{"type":"string","title":"Rotation Trigger","description":"`bind`, `on-error`, `timed:\u003cseconds>` (minimum 10) or `request-count:\u003crequests>`.","uniqueKey":"ruleset.rotation_trigger.oneOf.0","typeLabel":"string"},{"type":"null","title":"Rotation Trigger","description":"`bind`, `on-error`, `timed:\u003cseconds>` (minimum 10) or `request-count:\u003crequests>`.","uniqueKey":"ruleset.rotation_trigger.oneOf.1","typeLabel":"null"}],"uniqueKey":"ruleset.rotation_trigger","typeLabel":"string | null"},"error_handling":{"oneOf":[{"type":"string","title":"Error Handling","description":"`replace`, `fail` or `retry_\u003cattempts>`.","uniqueKey":"ruleset.error_handling.oneOf.0","typeLabel":"string"},{"type":"null","title":"Error Handling","description":"`replace`, `fail` or `retry_\u003cattempts>`.","uniqueKey":"ruleset.error_handling.oneOf.1","typeLabel":"null"}],"uniqueKey":"ruleset.error_handling","typeLabel":"string | null"}},"type":"object","title":"StatefulSessionRulesetSchema","description":"The rules you set: what the session is allowed to use.","isRequired":true,"uniqueKey":"ruleset","typeLabel":"StatefulSessionRulesetSchema · object"},"exit_ip":{"type":"string","title":"Exit Ip","description":"IP address of the exit node the session is bound to now.","isRequired":true,"uniqueKey":"exit_ip","typeLabel":"string"},"network_type":{"type":"string","title":"Network Type","description":"Network of the bound node. The top-level geo and network fields describe where the session is bound now; `ruleset` holds what you asked for.","isRequired":true,"uniqueKey":"network_type","typeLabel":"string"},"country":{"type":"string","title":"Country","isRequired":true,"uniqueKey":"country","typeLabel":"string"},"created_at":{"type":"string","format":"date-time","title":"Created At","isRequired":true,"uniqueKey":"created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","title":"Updated At","isRequired":true,"uniqueKey":"updated_at","typeLabel":"string\u003cdate-time>"},"region":{"oneOf":[{"type":"string","title":"Region","uniqueKey":"region.oneOf.0","typeLabel":"string"},{"type":"null","title":"Region","uniqueKey":"region.oneOf.1","typeLabel":"null"}],"uniqueKey":"region","typeLabel":"string | null"},"city":{"oneOf":[{"type":"string","title":"City","uniqueKey":"city.oneOf.0","typeLabel":"string"},{"type":"null","title":"City","uniqueKey":"city.oneOf.1","typeLabel":"null"}],"uniqueKey":"city","typeLabel":"string | null"},"isp":{"oneOf":[{"type":"string","title":"Isp","uniqueKey":"isp.oneOf.0","typeLabel":"string"},{"type":"null","title":"Isp","uniqueKey":"isp.oneOf.1","typeLabel":"null"}],"uniqueKey":"isp","typeLabel":"string | null"},"asn":{"oneOf":[{"type":"string","title":"Asn","uniqueKey":"asn.oneOf.0","typeLabel":"string"},{"type":"null","title":"Asn","uniqueKey":"asn.oneOf.1","typeLabel":"null"}],"uniqueKey":"asn","typeLabel":"string | null"},"zip":{"oneOf":[{"type":"string","title":"Zip","uniqueKey":"zip.oneOf.0","typeLabel":"string"},{"type":"null","title":"Zip","uniqueKey":"zip.oneOf.1","typeLabel":"null"}],"uniqueKey":"zip","typeLabel":"string | null"},"bound_since":{"oneOf":[{"type":"string","title":"Bound Since","description":"When the session was bound to its current node.","format":"date-time","uniqueKey":"bound_since.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","title":"Bound Since","description":"When the session was bound to its current node.","uniqueKey":"bound_since.oneOf.1","typeLabel":"null"}],"uniqueKey":"bound_since","typeLabel":"string\u003cdate-time> | null"},"port":{"oneOf":[{"type":"integer","title":"Port","description":"Gateway port to connect to. IP allowlist packages get a dedicated port per session; credential packages share the gateway port.","uniqueKey":"port.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Port","description":"Gateway port to connect to. IP allowlist packages get a dedicated port per session; credential packages share the gateway port.","uniqueKey":"port.oneOf.1","typeLabel":"null"}],"uniqueKey":"port","typeLabel":"integer | null"},"connection_string":{"oneOf":[{"type":"object","title":"ConnectionStringSchema","description":"How to connect. For credential packages the username is `stateful-\u003cname>` and the password is the package key. For IP allowlist packages `username` and `password` are empty and `uri` is `host:port`.","required":["uri","username","host","port"],"properties":{"uri":{"type":"string","title":"Uri","isRequired":true,"uniqueKey":"connection_string.oneOf.0.uri","typeLabel":"string"},"username":{"type":"string","title":"Username","isRequired":true,"uniqueKey":"connection_string.oneOf.0.username","typeLabel":"string"},"host":{"type":"string","title":"Host","isRequired":true,"uniqueKey":"connection_string.oneOf.0.host","typeLabel":"string"},"port":{"type":"integer","title":"Port","isRequired":true,"uniqueKey":"connection_string.oneOf.0.port","typeLabel":"integer"},"password":{"oneOf":[{"type":"string","title":"Password","uniqueKey":"connection_string.oneOf.0.password.oneOf.0","typeLabel":"string"},{"type":"null","title":"Password","uniqueKey":"connection_string.oneOf.0.password.oneOf.1","typeLabel":"null"}],"uniqueKey":"connection_string.oneOf.0.password","typeLabel":"string | null"}},"uniqueKey":"connection_string.oneOf.0","typeLabel":"ConnectionStringSchema · object"},{"type":"null","description":"How to connect. For credential packages the username is `stateful-\u003cname>` and the password is the package key. For IP allowlist packages `username` and `password` are empty and `uri` is `host:port`.","uniqueKey":"connection_string.oneOf.1","typeLabel":"null"}],"uniqueKey":"connection_string","typeLabel":"ConnectionStringSchema · object | null"}},"type":"object","required":["id","proxy_id","name","status","ruleset","exit_ip","network_type","country","created_at","updated_at"],"title":"StatefulSessionResponse","uniqueKey":"","typeLabel":"StatefulSessionResponse · object"},"example":{"id":"7c1e9a52-3b4d-4f6a-9e8b-2d5c0a1f6b3e","proxy_id":"b2f0c3d4-e5a6-4b7c-8d9e-0f1a2b3c4d5e","name":"checkout1","status":"enabled","ruleset":{"network_type":"wifi","country":"us","region":"california","city":null,"isp":null,"asn":null,"zip":null,"lookalike":false,"rotation_trigger":"timed:300","error_handling":"replace"},"exit_ip":"198.51.100.17","network_type":"wifi","country":"us","region":"california","city":"los_angeles","isp":"charter_communications","asn":"20001","zip":null,"bound_since":"2026-10-27T10:21:40Z","port":1337,"created_at":"2026-10-27T10:15:03Z","updated_at":"2026-10-27T10:15:04Z","connection_string":{"uri":"stateful-checkout1:aB3dE5fG7h@proxy.soax.com:1337","username":"stateful-checkout1","password":"aB3dE5fG7h","host":"proxy.soax.com","port":1337}},"examples":{"Example":{"title":"Example","value":{"id":"7c1e9a52-3b4d-4f6a-9e8b-2d5c0a1f6b3e","proxy_id":"b2f0c3d4-e5a6-4b7c-8d9e-0f1a2b3c4d5e","name":"checkout1","status":"enabled","ruleset":{"network_type":"wifi","country":"us","region":"california","city":null,"isp":null,"asn":null,"zip":null,"lookalike":false,"rotation_trigger":"timed:300","error_handling":"replace"},"exit_ip":"198.51.100.17","network_type":"wifi","country":"us","region":"california","city":"los_angeles","isp":"charter_communications","asn":"20001","zip":null,"bound_since":"2026-10-27T10:21:40Z","port":1337,"created_at":"2026-10-27T10:15:03Z","updated_at":"2026-10-27T10:15:04Z","connection_string":{"uri":"stateful-checkout1:aB3dE5fG7h@proxy.soax.com:1337","username":"stateful-checkout1","password":"aB3dE5fG7h","host":"proxy.soax.com","port":1337}}}},"exampleType":"examples"}},"exampleType":"examples"},"97f725b7-85c8-4b70-bc0b-fd9a7d0bb9c1":{"description":"The package is suspended or deleted.","content":{"application/json":{"example":{"detail":"Package is suspended and cannot provision stateful sessions."},"examples":{"Example":{"title":"Example","value":{"detail":"Package is suspended and cannot provision stateful sessions."}}},"exampleType":"examples"}},"exampleType":"examples"},"3420d38d-9a10-44e1-b236-70e03dd90956":{"description":"Missing, invalid, or revoked API key.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string","uniqueKey":"detail","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"detail":"Invalid API key"},"examples":{"Example":{"title":"Example","value":{"detail":"Invalid API key"}}},"exampleType":"examples"}},"exampleType":"examples"},"0b407f54-3839-4902-a4b9-b3f73d7ebc66":{"description":"The API key does not carry the scope this endpoint requires.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string","uniqueKey":"detail","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"detail":"Missing required scope: proxy:packages:write"},"examples":{"Example":{"title":"Example","value":{"detail":"Missing required scope: proxy:packages:write"}}},"exampleType":"examples"}},"exampleType":"examples"},"bba799be-685a-4688-b75d-93547c51132e":{"description":"Session not found, or outside the API key's package restriction.","content":{"application/json":{"example":{"detail":"Session not found"},"examples":{"Example":{"title":"Example","value":{"detail":"Session not found"}}},"exampleType":"examples"}},"exampleType":"examples"},"bc00edad-a703-4c8e-bcd1-b86dd44bb5ed":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"loc":{"items":{"oneOf":[{"type":"string","uniqueKey":"detail.items.[INDEX].loc.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"integer","uniqueKey":"detail.items.[INDEX].loc.items.[INDEX].oneOf.1","typeLabel":"integer"}],"uniqueKey":"detail.items.[INDEX].loc.items.[INDEX]","typeLabel":"string | integer"},"type":"array","title":"Location","isRequired":true,"uniqueKey":"detail.items.[INDEX].loc","typeLabel":"(string | integer)[]"},"msg":{"type":"string","title":"Message","isRequired":true,"uniqueKey":"detail.items.[INDEX].msg","typeLabel":"string"},"type":{"type":"string","title":"Error Type","isRequired":true,"uniqueKey":"detail.items.[INDEX].type","typeLabel":"string"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError","uniqueKey":"detail.items.[INDEX]","typeLabel":"ValidationError · object"},"type":"array","title":"Detail","uniqueKey":"detail","typeLabel":"ValidationError · object[]"}},"type":"object","title":"HTTPValidationError","uniqueKey":"","typeLabel":"HTTPValidationError · object"},"examples":{"Example":{"title":"Example","value":{"detail":[{"loc":["\u003cstring>"],"msg":"\u003cstring>","type":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"1e63a0ea-6b32-4140-a8cb-4e8297e6da60":{"description":"This session was rotated less than a second ago (`Retry-After: 1`), or the API key's rate limit was exceeded (5 requests/second per API key, 500 requests/minute per IP). Wait `Retry-After` seconds and retry.","content":{"application/json":{"example":{"detail":"Rotation is rate-limited to 1 per second per session."},"examples":{"Example":{"title":"Example","value":{"detail":"Rotation is rate-limited to 1 per second per session."}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"82a1fae4-d039-4b2f-ad57-104d7467f72b":{"bearerAuth":{"type":"http","scheme":"bearer","description":"API key secret (starts with `s_live_`). Create keys in the dashboard under **Settings → API keys**, or via `POST /v1/api-keys/`. Send it as `Authorization: Bearer \u003csecret>`.","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"06663dcd-10ca-4caf-88d2-0c3b470373f4":{"url":"https://api.platform.soax.com"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"API key secret (starts with `s_live_`). Create keys in the dashboard under **Settings → API keys**, or via `POST /v1/api-keys/`. Send it as `Authorization: Bearer \u003csecret>`.","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"API key secret (starts with `s_live_`). Create keys in the dashboard under **Settings → API keys**, or via `POST /v1/api-keys/`. Send it as `Authorization: Bearer \u003csecret>`.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"api/openapi.json"},"subdomain":"soax","siteName":"SOAX","title":"Rotate a stateful session - SOAX","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-04T16:24:06.272Z","originalFileLocation":"api/stateful-sessions/rotate.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=\"Bind the session to a new exit node now. The response carries the new exit_ip and bound_since. Limited to one rotation per second per session. Requires the proxy:packages:write scope.\">\u003cmeta data-mint-head name=\"application-name\" content=\"SOAX\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/soax/xEvn0n-A8DsILfj7/_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/soax/xEvn0n-A8DsILfj7/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/soax/xEvn0n-A8DsILfj7/_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/soax/xEvn0n-A8DsILfj7/_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/soax/xEvn0n-A8DsILfj7/_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/soax/xEvn0n-A8DsILfj7/_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/soax/xEvn0n-A8DsILfj7/_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/soax/xEvn0n-A8DsILfj7/_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/soax/xEvn0n-A8DsILfj7/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Rotate a stateful session - SOAX\">\u003cmeta data-mint-head property=\"og:description\" content=\"Bind the session to a new exit node now. The response carries the new exit_ip and bound_since. Limited to one rotation per second per session. Requires the proxy:packages:write scope.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"SOAX\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developers.soax.com/api/stateful-sessions/rotate\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://soax.mintlify.app/_mintlify/api/og/v2?division=Stateful+Sessions\u0026amp;title=Rotate+a+stateful+session\u0026amp;description=Bind+the+session+to+a+new+exit+node+now.+The+response+carries+the+new+%60exit_ip%60+and+%60bound_since%60.+Limited+to+one+rotation+per+second+per+session.%0A%0ARequires+the\u0026amp;theme=44f3ae9b74b0cebb564095b1\u0026amp;signature=d0e2092e514996cf92ee80a26f7d791b6ea57ad5144ccae331f9023b0a3691a6\">\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=\"Rotate a stateful session - SOAX\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Bind the session to a new exit node now. The response carries the new exit_ip and bound_since. Limited to one rotation per second per session. Requires the proxy:packages:write scope.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://soax.mintlify.app/_mintlify/api/og/v2?division=Stateful+Sessions\u0026amp;title=Rotate+a+stateful+session\u0026amp;description=Bind+the+session+to+a+new+exit+node+now.+The+response+carries+the+new+%60exit_ip%60+and+%60bound_since%60.+Limited+to+one+rotation+per+second+per+session.%0A%0ARequires+the\u0026amp;theme=44f3ae9b74b0cebb564095b1\u0026amp;signature=d0e2092e514996cf92ee80a26f7d791b6ea57ad5144ccae331f9023b0a3691a6\">\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/soax/xEvn0n-A8DsILfj7/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"SOAX\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#10b77f\">\u003clink data-mint-head rel=\"canonical\" href=\"https://developers.soax.com/api/stateful-sessions/rotate\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api/stateful-sessions/rotate.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://developers.soax.com/#organization\",\"name\":\"SOAX\",\"url\":\"https://developers.soax.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/soax/x2dnBPUF6XiNROo6/logo/logo-wide-black.svg?fit=max\u0026auto=format\u0026n=x2dnBPUF6XiNROo6\u0026q=85\u0026s=8e1801c906e292ef153e926f6a0eb1f2\"}},{\"@type\":\"WebSite\",\"@id\":\"https://developers.soax.com#website\",\"name\":\"SOAX\",\"url\":\"https://developers.soax.com\",\"publisher\":{\"@id\":\"https://developers.soax.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://developers.soax.com/api/stateful-sessions/rotate#webpage\",\"url\":\"https://developers.soax.com/api/stateful-sessions/rotate\",\"name\":\"Rotate a stateful session\",\"description\":\"Bind the session to a new exit node now. The response carries the new exit_ip and bound_since. Limited to one rotation per second per session. Requires the proxy:packages:write scope.\",\"dateModified\":\"2026-11-04T16:24:06.272Z\",\"isPartOf\":{\"@id\":\"https://developers.soax.com#website\"},\"breadcrumb\":{\"@id\":\"https://developers.soax.com/api/stateful-sessions/rotate#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developers.soax.com/api/stateful-sessions/rotate#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API Reference\",\"item\":\"https://developers.soax.com/api/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Stateful Sessions\",\"item\":\"https://developers.soax.com/api/stateful-sessions/create\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Rotate a stateful session\",\"item\":\"https://developers.soax.com/api/stateful-sessions/rotate\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://developers.soax.com/api/stateful-sessions/rotate#apireference\",\"headline\":\"Rotate a stateful session\",\"name\":\"Rotate a stateful session\",\"description\":\"Bind the session to a new exit node now. The response carries the new exit_ip and bound_since. Limited to one rotation per second per session. Requires the proxy:packages:write scope.\",\"url\":\"https://developers.soax.com/api/stateful-sessions/rotate\",\"mainEntityOfPage\":{\"@id\":\"https://developers.soax.com/api/stateful-sessions/rotate#webpage\"},\"dateModified\":\"2026-11-04T16:24:06.272Z\",\"publisher\":{\"@id\":\"https://developers.soax.com/#organization\"},\"isPartOf\":{\"@id\":\"https://developers.soax.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"SOAX\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"SOAX","nav":{"global":null,"groups":[{"group":"Getting Started","pages":[{"title":"What is SOAX","href":"/getting-started/what-is-soax"},{"title":"Quickstart","href":"/getting-started/quickstart"},{"title":"Core Concepts","href":"/getting-started/core-concepts"},{"title":"Choosing the Right Proxy Type","href":"/getting-started/choosing-proxy-type"},{"title":"Authentication","href":"/getting-started/authentication"}]},{"group":"Proxies","pages":[{"title":"Residential Proxies","href":"/proxies/residential"},{"title":"Mobile Proxies","href":"/proxies/mobile"},{"title":"Stateful Sessions","href":"/proxies/stateful-sessions"}]},{"group":"Dashboard","pages":[{"title":"Quick Connect","href":"/dashboard/quick-connect"},{"title":"Package Management","href":"/dashboard/package-management"},{"title":"Usage Analytics","href":"/dashboard/usage-analytics"},{"title":"Account \u0026 Billing","href":"/dashboard/account-billing"}]},{"group":"Trust \u0026 Safety","pages":[{"title":"Responsible web access","href":"/trust/responsible-web-access"},{"title":"Customer screening \u0026 verification","href":"/trust/customer-screening"},{"title":"Access restrictions","href":"/trust/access-restrictions"},{"title":"Requesting additional access","href":"/trust/additional-access"},{"title":"Network sourcing \u0026 consent","href":"/trust/network-sourcing"},{"title":"Acceptable use \u0026 abuse response","href":"/trust/acceptable-use"}]},{"group":"API Reference","pages":[{"title":"API overview","href":"/api/overview"},{"title":"API quickstart","href":"/api/quickstart"},{"title":"API authentication","href":"/api/authentication"},{"title":"Error handling","href":"/api/errors"},{"title":"Rate limits","href":"/api/rate-limits"},{"group":"API Keys","pages":[{"title":"Get current API key","openapi":"api/openapi.json GET /v1/api-keys/me","href":"/api/keys/me"},{"title":"List API keys","openapi":"api/openapi.json GET /v1/api-keys/","href":"/api/keys/list"},{"title":"Create an API key","openapi":"api/openapi.json POST /v1/api-keys/","href":"/api/keys/create"},{"title":"Revoke an API key","openapi":"api/openapi.json DELETE /v1/api-keys/{key_id}","href":"/api/keys/revoke"}]},{"group":"Packages","pages":[{"title":"List packages","openapi":"api/openapi.json GET /v1/proxy/packages","href":"/api/packages/list"},{"title":"Get a package","openapi":"api/openapi.json GET /v1/proxy/packages/{package_id}","href":"/api/packages/get"},{"title":"Get connection strings","openapi":"api/openapi.json GET /v1/proxy/packages/{package_id}/connection-string","href":"/api/packages/connection-string"},{"title":"Rotate package password","openapi":"api/openapi.json POST /v1/proxy/packages/{package_id}/rotate-password","href":"/api/packages/rotate-password"}]},{"group":"Stateful Sessions","pages":[{"title":"Create stateful sessions","openapi":"api/openapi.json POST /v1/proxy/packages/{package_id}/stateful-sessions","href":"/api/stateful-sessions/create"},{"title":"List stateful sessions","openapi":"api/openapi.json GET /v1/proxy/packages/{package_id}/stateful-sessions","href":"/api/stateful-sessions/list"},{"title":"Get a stateful session","openapi":"api/openapi.json GET /v1/proxy/packages/{package_id}/stateful-sessions/{session_id}","href":"/api/stateful-sessions/get"},{"title":"Update a stateful session","openapi":"api/openapi.json PATCH /v1/proxy/packages/{package_id}/stateful-sessions/{session_id}","description":"Change a session's name, status or rules. Your client keeps the same connection string; the next request picks up the change. Renaming is the exception: the username is `stateful-\u003cname>`, so a rename changes it.\n\nSend only what you want to change. In `ruleset`, an omitted field keeps its stored value and an explicit `null` clears a geo field or `network_type`. `lookalike`, `rotation_trigger` and `error_handling` cannot be `null`.\n\nChanging a geo field to a different value clears the fields beneath it that you did not send: changing `country` clears `region`, `city`, `isp`, `asn` and `zip`; changing `region` clears `city`, `isp`, `asn` and `zip`; changing `city` clears `isp`, `asn` and `zip`. `isp`, `asn` and `zip` never clear one another.\n\nSet `status` to `disabled` to stop a session carrying traffic without losing its name, port or rules, and back to `enabled` to resume. Re-enabling binds a new node; if none is available the call returns `502` and the session stays disabled.\n\nRequires the `proxy:packages:write` scope.","href":"/api/stateful-sessions/update"},{"title":"Rotate a stateful session","openapi":"api/openapi.json POST /v1/proxy/packages/{package_id}/stateful-sessions/{session_id}/rotate","href":"/api/stateful-sessions/rotate"},{"title":"Delete a stateful session","openapi":"api/openapi.json DELETE /v1/proxy/packages/{package_id}/stateful-sessions/{session_id}","description":"Delete a session. It stops working immediately, and its name and port are freed for reuse.\n\nRequires the `proxy:packages:write` scope.","href":"/api/stateful-sessions/delete"},{"title":"Delete stateful sessions in bulk","openapi":"api/openapi.json POST /v1/proxy/packages/{package_id}/stateful-sessions/delete","href":"/api/stateful-sessions/bulk-delete"}]},{"group":"Locations","pages":[{"title":"List proxy tiers","openapi":"api/openapi.json GET /v1/proxy/locations/tiers","href":"/api/locations/tiers"},{"title":"List proxy countries","openapi":"api/openapi.json GET /v1/proxy/locations/countries","href":"/api/locations/countries"},{"title":"List package countries","openapi":"api/openapi.json GET /v1/proxy/packages/{package_id}/locations/countries","href":"/api/locations/package-countries"},{"title":"List package regions","openapi":"api/openapi.json GET /v1/proxy/packages/{package_id}/locations/countries/{cc}/regions","href":"/api/locations/package-regions"},{"title":"List package cities","openapi":"api/openapi.json GET /v1/proxy/packages/{package_id}/locations/countries/{cc}/cities","href":"/api/locations/package-cities"},{"title":"List package ISPs","openapi":"api/openapi.json GET /v1/proxy/packages/{package_id}/locations/countries/{cc}/isps","href":"/api/locations/package-isps"},{"title":"List package ASNs","openapi":"api/openapi.json GET /v1/proxy/packages/{package_id}/locations/countries/{cc}/asns","href":"/api/locations/package-asns"},{"title":"List package ZIP codes","openapi":"api/openapi.json GET /v1/proxy/packages/{package_id}/locations/countries/{cc}/zip-codes","href":"/api/locations/package-zip-codes"}]},{"group":"Account","pages":[{"title":"Get account","openapi":"api/openapi.json GET /v1/account","href":"/api/account/get"},{"title":"List credit blocks","openapi":"api/openapi.json GET /v1/account/credits","href":"/api/account/credits"},{"title":"Get subscription","openapi":"api/openapi.json GET /v1/account/subscription","href":"/api/account/subscription"}]},{"group":"Analytics","pages":[{"title":"Usage summary","openapi":"api/openapi.json POST /v1/proxy/analytics/summary","href":"/api/analytics/summary"},{"title":"Traffic breakdown","openapi":"api/openapi.json POST /v1/proxy/analytics/traffic","href":"/api/analytics/traffic"},{"title":"Credits burned","openapi":"api/openapi.json POST /v1/proxy/analytics/credits-burned","href":"/api/analytics/credits-burned"}]}]},{"group":"Code Examples","pages":[{"title":"Python","href":"/examples/python"},{"title":"Node.js","href":"/examples/nodejs"},{"title":"Go","href":"/examples/go"},{"title":"curl","href":"/examples/curl"},{"group":"Advanced","pages":[{"title":"Advanced: Multi-Geo Monitoring in Go","href":"/examples/advanced/multi-geo-go"}]}]},{"group":"Troubleshooting","pages":[{"title":"Error Codes \u0026 Fixes","href":"/troubleshooting/error-codes"},{"title":"Connection Debugging","href":"/troubleshooting/connection-debugging"},{"title":"CAPTCHA \u0026 Ban Rates","href":"/troubleshooting/captcha-ban-rates"},{"title":"Proxy Speed \u0026 Latency","href":"/troubleshooting/proxy-speed-latency"},{"title":"IP Quality \u0026 Fraud Score","href":"/troubleshooting/ip-quality-fraud-score"},{"title":"Account Bans \u0026 Protection","href":"/troubleshooting/account-bans-protection"},{"title":"FAQ","href":"/troubleshooting/faq"}]}]},"basePath":"","title":"Rotate a stateful session - SOAX","buildId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","deploymentId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DX1Meug0.js","utils-B_OMIQVC.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-ChxhRPMa.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-CuKvD8Iv.js","snippetPresets-C5d7p2hp.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CfHcE8m4.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C1zZV314.js","shallow-CmQhqCJn.js","getApiPlaygroundDisplay-YRo9s1O7.js","CodeSnippet-RN1MTdfk.js","CodeSnippets-DKLPHxJA.js","Page-BAvA99GL.js","getPastedJson-bz0M41mU.js","icon-CsmhpPrv.js","MethodPill-CNGsVE77.js","DuplicateIcon-DilfU_Z2.js","createIcon-BdsYzQck.js","DynamicMarkdown-CbqEDjbV.js","SectionHeading-O6hXpFCN.js","axios-vUo_bRtp.js","Markdown-nKm-uidQ.js","clsx-ClVdStUn.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CIQkMg3R.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-ImrFS4Fy.js"]}