Create a Persistent Browser Profile
/v1/browser/profilesAccepts creation of a persistent Team Browser Profile. The public resource starts in creating and is reconciled asynchronously with its pinned runtime home node.
On this page
Request example
Replace placeholders with your values. Use your Team API key for authenticated requests.
https://kieapi.comcurl -X POST "https://kieapi.com/v1/browser/profiles" \
-H "Authorization: Bearer $SPIDER_API_KEY" \
-H 'Idempotency-Key: docs-example-01' \
-H "Content-Type: application/json" \
-d '{
"name": "<value>"
}'Authentication
BearerAuth
Parameters
Idempotency-Keyheader ยท string- Optional caller-generated key for replay-safe Browser Profile creation or clone within the bound Team. The normalized key may contain at most 128 characters and is retained for 24 hours.
Request body required
application/json
proxyBrowserProxySelection or null- Four-mode network intent. Do not combine with non-null legacy proxy_id. Session creation with profile_id inherits the Profile and must omit proxy.
namestring requireddevice_profilestringAllowed:
"auto", "windows", "macos", "linux", "android", "ios"Default:
"auto"proxy_idstring | null
Responses
202 Browser Profile creation accepted.
400 Request validation failed.
401 Missing or invalid API key.
403 Authenticated principal cannot access this resource.
409 Browser resource state, idempotency, Proxy authority, or controller ownership conflicts with this request.
422 Request validation failed.
429 Temporary rate limit.
503 Required runtime service is unavailable.
Schemas
Field definitions and complete validation rules for this API. Follow a type link to its definition.
BrowserProfileCreateRequest
object
proxyBrowserProxySelection or null- Four-mode network intent. Do not combine with non-null legacy proxy_id. Session creation with profile_id inherits the Profile and must omit proxy.
namestring requireddevice_profilestringAllowed:
"auto", "windows", "macos", "linux", "android", "ios"Default:
"auto"proxy_idstring | null
Complete schema
{
"type": "object",
"additionalProperties": false,
"required": [
"name"
],
"properties": {
"proxy": {
"anyOf": [
{
"$ref": "#/components/schemas/BrowserProxySelection"
},
{
"type": "null"
}
],
"description": "Four-mode network intent. Do not combine with non-null legacy proxy_id. Session creation with profile_id inherits the Profile and must omit proxy."
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"device_profile": {
"type": "string",
"enum": [
"auto",
"windows",
"macos",
"linux",
"android",
"ios"
],
"default": "auto"
},
"proxy_id": {
"type": [
"string",
"null"
],
"minLength": 1,
"maxLength": 128
}
}
}BrowserProxySelection
object
Exactly one mode: direct has no extra fields; system_dynamic requires a published country and optional published sticky_minutes; account_static/custom_proxy require resource_id and may specify required_country. Credentials are never accepted.
modestring requiredAllowed:
"direct", "system_dynamic", "account_static", "custom_proxy"countrystring or nullDefault:
nullsticky_minutesinteger or nullDefault:
nullresource_idstring or nullDefault:
nullrequired_countrystring or nullDefault:
null
Complete schema
{
"additionalProperties": false,
"description": "Exactly one mode: direct has no extra fields; system_dynamic requires a published country and optional published sticky_minutes; account_static/custom_proxy require resource_id and may specify required_country. Credentials are never accepted.",
"properties": {
"mode": {
"enum": [
"direct",
"system_dynamic",
"account_static",
"custom_proxy"
],
"title": "Mode",
"type": "string"
},
"country": {
"anyOf": [
{
"maxLength": 2,
"minLength": 2,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Country"
},
"sticky_minutes": {
"anyOf": [
{
"enum": [
5,
10,
30
],
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Sticky Minutes"
},
"resource_id": {
"anyOf": [
{
"maxLength": 128,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Resource Id"
},
"required_country": {
"anyOf": [
{
"maxLength": 2,
"minLength": 2,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Required Country"
}
},
"required": [
"mode"
],
"type": "object"
}BrowserProfileResponse
object
profileBrowserProfile required
Complete schema
{
"type": "object",
"additionalProperties": false,
"required": [
"profile"
],
"properties": {
"profile": {
"$ref": "#/components/schemas/BrowserProfile"
}
}
}BrowserProfile
object
proxyBrowserProxySelection or null- Four-mode network intent. Do not combine with non-null legacy proxy_id. Session creation with profile_id inherits the Profile and must omit proxy.
idstring requirednamestring requiredcreated_atstring (date-time) requiredupdated_atstring (date-time) requiredlast_used_atstring | null (date-time) requiredstatusstring requiredAllowed:
"creating", "ready", "in_use", "saving", "create_failed", "updating", "update_failed", "save_failed", "deleting", "deleted", "delete_failed", "error"device_profilestring requiredAllowed:
"auto", "windows", "macos", "linux", "android", "ios"proxy_idstring | null requiredversioninteger requiredfailureBrowserProfileFailure or null required
Complete schema
{
"type": "object",
"additionalProperties": false,
"required": [
"id",
"name",
"status",
"device_profile",
"proxy_id",
"version",
"created_at",
"updated_at",
"last_used_at",
"failure"
],
"properties": {
"proxy": {
"anyOf": [
{
"$ref": "#/components/schemas/BrowserProxySelection"
},
{
"type": "null"
}
],
"description": "Four-mode network intent. Do not combine with non-null legacy proxy_id. Session creation with profile_id inherits the Profile and must omit proxy."
},
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"last_used_at": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"status": {
"type": "string",
"enum": [
"creating",
"ready",
"in_use",
"saving",
"create_failed",
"updating",
"update_failed",
"save_failed",
"deleting",
"deleted",
"delete_failed",
"error"
]
},
"device_profile": {
"type": "string",
"enum": [
"auto",
"windows",
"macos",
"linux",
"android",
"ios"
]
},
"proxy_id": {
"type": [
"string",
"null"
]
},
"version": {
"type": "integer",
"minimum": 1
},
"failure": {
"anyOf": [
{
"$ref": "#/components/schemas/BrowserProfileFailure"
},
{
"type": "null"
}
]
}
}
}BrowserProfileFailure
object
codestring requiredAllowed:
"profile_create_failed", "profile_update_failed", "profile_save_failed", "profile_delete_failed", "profile_runtime_unavailable"occurred_atstring (date-time) requiredrecovered_atstring | null (date-time) required
Complete schema
{
"type": "object",
"additionalProperties": false,
"required": [
"code",
"occurred_at",
"recovered_at"
],
"properties": {
"code": {
"type": "string",
"enum": [
"profile_create_failed",
"profile_update_failed",
"profile_save_failed",
"profile_delete_failed",
"profile_runtime_unavailable"
]
},
"occurred_at": {
"type": "string",
"format": "date-time"
},
"recovered_at": {
"type": [
"string",
"null"
],
"format": "date-time"
}
}
}PublicErrorResponse
object
errorPublicError required
Complete schema
{
"type": "object",
"additionalProperties": false,
"required": [
"error"
],
"properties": {
"error": {
"$ref": "#/components/schemas/PublicError"
}
}
}PublicError
object
codestring requiredAllowed:
"seoapi_price_pending", "seoapi_unavailable", "seoapi_busy", "seoapi_not_found", "seoapi_rate_limited", "seoapi_budget_exceeded", "seoapi_idempotency_conflict", "seoapi_insufficient_credits", "seoapi_admission_failed", "seoapi_execution_interrupted", "seoapi_delivery_unknown", "seoapi_response_invalid", "seoapi_model_unsupported", "seoapi_model_options_invalid", "seoapi_provider_rejected", "seo_price_pending", "seo_provider_blocked", "seo_local_rate_limited", "seo_fallback_unavailable", "seo_fallback_budget_exceeded", "seo_pagination_expired", "seo_delivery_uncertain", "seo_auth_required", "seo_initialization_required", "seo_permission_denied", "seo_verification_required", "seo_rate_limited", "seo_upstream_unavailable", "seo_transport_failed", "seo_invalid_response", "seo_rpc_error", "seo_period_unavailable", "seo_account_unavailable", "seo_session_busy", "seo_configuration_required", "validation_error", "invalid_request", "unsupported_feature", "authentication_required", "permission_denied", "not_found", "run_not_found", "crawl_not_found", "artifact_not_found", "session_not_found", "profile_not_found", "profile_in_use", "profile_not_ready", "profile_not_cloneable", "profile_limit_reached", "profile_proxy_conflict", "proxy_not_found", "proxy_unavailable", "invalid_session_options", "invalid_query_options", "invalid_cursor", "idempotency_key_required", "browser_session_limit_reached", "browser_capacity_exhausted", "browser_start_timeout", "browser_runtime_unavailable", "session_not_active", "controller_already_connected", "browser_relay_unavailable", "precondition_required", "precondition_failed", "timeout", "run_not_ready", "artifact_expired", "quota_exceeded", "insufficient_credits", "billing_reconciliation_required", "rate_limited", "fetch_failed", "render_failed", "maps_rate_limited", "maps_challenge", "maps_schema_changed", "maps_invalid_response", "maps_transport_failed", "maps_page_budget_exhausted", "google_trends_rate_limited", "google_trends_challenge", "google_trends_explore_failed", "google_trends_widget_missing", "google_trends_related_failed", "google_trends_invalid_response", "google_trends_transport_failed", "google_trends_collection_failed", "google_ads_account_context_missing", "google_ads_batch_failed", "google_ads_browser_context_missing", "google_ads_browser_unavailable", "google_ads_collection_failed", "google_ads_page_failed", "google_ads_protocol_drift", "google_ads_rate_limited", "google_ads_timeout", "twitter_provider_unavailable", "twitter_provider_rejected", "twitter_submission_unknown", "wechat_transport_failed", "wechat_rate_limited", "wechat_invalid_response", "wechat_redirect_rejected", "wechat_verification_required", "wechat_parse_failed", "blackhatworld_search_failed", "blackhatworld_no_results", "reddit_read_failed", "idempotency_conflict", "idempotency_in_progress", "service_unavailable", "internal_error"messagestring requiredtypestring requiredAllowed:
"auth", "validation", "quota", "rate_limit", "not_found", "execution", "conflict", "internal"retryableboolean requiredrequest_idstring | nulldetailsobject
Complete schema
{
"type": "object",
"additionalProperties": false,
"required": [
"code",
"message",
"type",
"retryable"
],
"properties": {
"code": {
"type": "string",
"enum": [
"seoapi_price_pending",
"seoapi_unavailable",
"seoapi_busy",
"seoapi_not_found",
"seoapi_rate_limited",
"seoapi_budget_exceeded",
"seoapi_idempotency_conflict",
"seoapi_insufficient_credits",
"seoapi_admission_failed",
"seoapi_execution_interrupted",
"seoapi_delivery_unknown",
"seoapi_response_invalid",
"seoapi_model_unsupported",
"seoapi_model_options_invalid",
"seoapi_provider_rejected",
"seo_price_pending",
"seo_provider_blocked",
"seo_local_rate_limited",
"seo_fallback_unavailable",
"seo_fallback_budget_exceeded",
"seo_pagination_expired",
"seo_delivery_uncertain",
"seo_auth_required",
"seo_initialization_required",
"seo_permission_denied",
"seo_verification_required",
"seo_rate_limited",
"seo_upstream_unavailable",
"seo_transport_failed",
"seo_invalid_response",
"seo_rpc_error",
"seo_period_unavailable",
"seo_account_unavailable",
"seo_session_busy",
"seo_configuration_required",
"validation_error",
"invalid_request",
"unsupported_feature",
"authentication_required",
"permission_denied",
"not_found",
"run_not_found",
"crawl_not_found",
"artifact_not_found",
"session_not_found",
"profile_not_found",
"profile_in_use",
"profile_not_ready",
"profile_not_cloneable",
"profile_limit_reached",
"profile_proxy_conflict",
"proxy_not_found",
"proxy_unavailable",
"invalid_session_options",
"invalid_query_options",
"invalid_cursor",
"idempotency_key_required",
"browser_session_limit_reached",
"browser_capacity_exhausted",
"browser_start_timeout",
"browser_runtime_unavailable",
"session_not_active",
"controller_already_connected",
"browser_relay_unavailable",
"precondition_required",
"precondition_failed",
"timeout",
"run_not_ready",
"artifact_expired",
"quota_exceeded",
"insufficient_credits",
"billing_reconciliation_required",
"rate_limited",
"fetch_failed",
"render_failed",
"maps_rate_limited",
"maps_challenge",
"maps_schema_changed",
"maps_invalid_response",
"maps_transport_failed",
"maps_page_budget_exhausted",
"google_trends_rate_limited",
"google_trends_challenge",
"google_trends_explore_failed",
"google_trends_widget_missing",
"google_trends_related_failed",
"google_trends_invalid_response",
"google_trends_transport_failed",
"google_trends_collection_failed",
"google_ads_account_context_missing",
"google_ads_batch_failed",
"google_ads_browser_context_missing",
"google_ads_browser_unavailable",
"google_ads_collection_failed",
"google_ads_page_failed",
"google_ads_protocol_drift",
"google_ads_rate_limited",
"google_ads_timeout",
"twitter_provider_unavailable",
"twitter_provider_rejected",
"twitter_submission_unknown",
"wechat_transport_failed",
"wechat_rate_limited",
"wechat_invalid_response",
"wechat_redirect_rejected",
"wechat_verification_required",
"wechat_parse_failed",
"blackhatworld_search_failed",
"blackhatworld_no_results",
"reddit_read_failed",
"idempotency_conflict",
"idempotency_in_progress",
"service_unavailable",
"internal_error"
]
},
"message": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"auth",
"validation",
"quota",
"rate_limit",
"not_found",
"execution",
"conflict",
"internal"
]
},
"retryable": {
"type": "boolean"
},
"request_id": {
"type": [
"string",
"null"
]
},
"details": {
"type": "object",
"additionalProperties": true
}
}
}