> ## Documentation Index
> Fetch the complete documentation index at: https://docs.surfsky.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Update profile

> Update a stopped saved profile. Omitted fields retain their values. The profile's OS identity fields cannot be changed through this request.



## OpenAPI

````yaml /api-reference/openapi.json patch /profiles/{profile_uuid}
openapi: 3.1.0
info:
  title: Surfsky API
  version: 0.1.0
  description: >-
    Start cloud browsers, control them through CDP, and manage the profiles,
    proxies, and fingerprints they run with.
servers:
  - url: '{baseUrl}'
    variables:
      baseUrl:
        default: https://YOUR_API_HOST
        description: API base URL from your Surfsky dashboard, including https://.
security:
  - ApiToken: []
tags:
  - name: profiles
    description: >-
      Start, stop, and manage browsers. A one-time profile is discarded when it
      stops; a persistent profile keeps its cookies, storage, and fingerprint
      according to its storage settings.
  - name: proxies
    description: >-
      Look up what the premium and shared pools can offer before you pin a
      location, and read your traffic quota.
  - name: fingerprints
    description: >-
      The value sets a fingerprint field accepts. Use these to pin a renderer,
      screen, or device model instead of guessing at a string.
  - name: extensions
    description: Upload Chrome extensions once and load them into any browser you start.
  - name: captcha
    description: Balance on the CAPTCHA solver behind your account.
paths:
  /profiles/{profile_uuid}:
    patch:
      tags:
        - profiles
      summary: Update profile
      description: >-
        Update a stopped saved profile. Omitted fields retain their values. The
        profile's OS identity fields cannot be changed through this request.
      operationId: update_profile_route_profiles__profile_uuid__patch
      parameters:
        - name: profile_uuid
          in: path
          required: true
          schema:
            type: string
            title: Profile Uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePersistentProfileIn'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProfileResult'
        '401':
          description: Missing or invalid API token
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: Account or feature access denied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: Request validation failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: Request, browser, session, or traffic limit reached; inspect code
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
components:
  schemas:
    UpdatePersistentProfileIn:
      properties:
        title:
          type: string
          maxLength: 90
          minLength: 1
          title: Title
        description:
          type: string
          maxLength: 1024
          title: Description
        start_pages:
          items:
            type: string
          type: array
          title: Start Pages
        proxy:
          anyOf:
            - type: string
              minLength: 1
              format: uri
            - $ref: '#/components/schemas/ProxyConfig'
            - type: 'null'
          title: Proxy
        storage_options:
          $ref: '#/components/schemas/PersistentProfileStorageOptions'
        cookies:
          items:
            $ref: '#/components/schemas/JsonCookie'
          type: array
          minItems: 1
          title: Cookies
        fingerprint:
          $ref: '#/components/schemas/FingerprintWithoutOs'
      additionalProperties: false
      type: object
      title: UpdatePersistentProfileIn
    ProfileResult:
      type: object
      properties:
        success:
          type: boolean
        msg:
          type: string
        data:
          type: object
          additionalProperties: true
      required:
        - success
        - data
    ApiError:
      type: object
      properties:
        success:
          type: boolean
          const: false
        msg:
          type: string
        code:
          type: string
        data: {}
        detail: {}
        error: {}
      description: >-
        Error fields vary for forwarded responses. Check HTTP status and code
        when present.
    ProxyConfig:
      properties:
        tier:
          anyOf:
            - $ref: '#/components/schemas/ProxyTier'
            - type: 'null'
        type:
          anyOf:
            - $ref: '#/components/schemas/ProxyType'
            - type: 'null'
        country:
          anyOf:
            - type: string
              pattern: ^[A-Za-z]{2}$
            - type: 'null'
          title: Country
        region:
          anyOf:
            - type: string
              pattern: ^[\w \-]{1,64}$
            - type: 'null'
          title: Region
        city:
          anyOf:
            - type: string
              pattern: ^[\w \-]{1,64}$
            - type: 'null'
          title: City
        pool:
          anyOf:
            - $ref: '#/components/schemas/RegionalPool'
            - type: 'null'
        asn:
          anyOf:
            - type: integer
              maximum: 4294967295
              minimum: 1
            - type: 'null'
          title: Asn
        lat:
          anyOf:
            - type: number
              maximum: 90
              minimum: -90
            - type: 'null'
          title: Lat
        lon:
          anyOf:
            - type: number
              maximum: 180
              minimum: -180
            - type: 'null'
          title: Lon
        session_minutes:
          anyOf:
            - type: integer
              maximum: 10080
              minimum: 1
            - type: 'null'
          title: Session Minutes
        unique_ip:
          type: boolean
          title: Unique Ip
          default: false
        keep_asn:
          type: boolean
          title: Keep Asn
          default: false
        keep_ip:
          type: boolean
          title: Keep Ip
          default: false
      additionalProperties: false
      type: object
      title: ProxyConfig
    PersistentProfileStorageOptions:
      properties:
        cookies:
          type: boolean
          title: Cookies
          default: true
        passwords:
          type: boolean
          title: Passwords
          default: true
        extensions:
          type: boolean
          title: Extensions
          default: false
        localstorage:
          type: boolean
          title: Localstorage
          default: false
        history:
          type: boolean
          title: History
          default: false
        bookmarks:
          type: boolean
          title: Bookmarks
          default: true
        serviceworkers:
          type: boolean
          title: Serviceworkers
          default: false
      additionalProperties: false
      type: object
      title: PersistentProfileStorageOptions
      description: >-
        Storage saved between persistent sessions. Local storage, extensions,
        history, and service workers are disabled by default.
    JsonCookie:
      properties:
        domain:
          type: string
          title: Domain
        path:
          type: string
          title: Path
        expirationDate:
          type: integer
          title: Expirationdate
        sameSite:
          type: string
          title: Samesite
        name:
          type: string
          title: Name
        value:
          type: string
          title: Value
        hostOnly:
          type: boolean
          title: Hostonly
        httpOnly:
          type: boolean
          title: Httponly
        secure:
          type: boolean
          title: Secure
        session:
          type: boolean
          title: Session
      additionalProperties: false
      type: object
      required:
        - domain
        - path
        - expirationDate
        - sameSite
        - name
        - value
        - hostOnly
        - httpOnly
        - secure
        - session
      title: JsonCookie
    FingerprintWithoutOs:
      properties:
        user_agent:
          type: string
          title: User Agent
        screen:
          type: string
          title: Screen
        languages:
          items:
            type: string
          type: array
          title: Languages
        timezone:
          type: string
          title: Timezone
        geolocation:
          $ref: '#/components/schemas/Geolocation'
        cpu:
          type: integer
          title: Cpu
        ram:
          type: integer
          title: Ram
        renderer:
          type: string
          title: Renderer
        noise:
          additionalProperties: true
          type: object
          title: Noise
        dns:
          anyOf:
            - type: string
            - type: 'null'
          title: Dns
        media_devices:
          additionalProperties: true
          type: object
          title: Media Devices
        webrtc:
          additionalProperties: true
          type: object
          title: Webrtc
          default:
            type: real
      additionalProperties: false
      type: object
      title: FingerprintWithoutOs
    ProxyTier:
      type: string
      enum:
        - shared
        - premium
      title: ProxyTier
    ProxyType:
      type: string
      enum:
        - residential
        - mobile
      title: ProxyType
    RegionalPool:
      type: string
      enum:
        - western
        - europe
        - westeurope
        - northamerica
        - southamerica
        - asia
        - centralasia
        - southasia
        - eastasia
        - sea
        - oceania
        - mena
        - middleeast
        - africa
        - northafrica
        - westafrica
        - eastafrica
        - centralafrica
        - southernafrica
      title: RegionalPool
    Geolocation:
      properties:
        latitude:
          type: number
          maximum: 90
          minimum: -90
          title: Latitude
        longitude:
          type: number
          maximum: 180
          minimum: -180
          title: Longitude
        accuracy:
          type: integer
          maximum: 999
          minimum: 1
          title: Accuracy
      type: object
      required:
        - latitude
        - longitude
        - accuracy
      title: Geolocation
  securitySchemes:
    ApiToken:
      type: apiKey
      in: header
      name: X-Cloud-Api-Token
      description: API token from your dashboard.

````