H Company Browser Profiles API
The Browser Profiles API from H Company — 6 operation(s) for browser profiles.
The Browser Profiles API from H Company — 6 operation(s) for browser profiles.
openapi: 3.1.0
info:
title: Computer-Use Agents Browser Profiles API
version: 1.0.0
servers:
- url: https://agp.eu.hcompany.ai
description: Europe
x-fern-server-name: Eu
- url: https://agp.hcompany.ai
description: United States
x-fern-server-name: Us
tags:
- name: Browser Profiles
paths:
/api/v2/browser-profiles:
get:
tags:
- Browser Profiles
summary: List Browser Profiles
description: List the caller's browser profiles.
operationId: list_browser_profiles_api_v2_browser_profiles_get
security:
- HTTPBearer: []
parameters:
- name: limit
in: query
required: false
schema:
type: integer
maximum: 1000
minimum: 1
default: 10
title: Limit
- name: offset
in: query
required: false
schema:
type: integer
minimum: 0
default: 0
title: Offset
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/BrowserProfileList'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v2/browser-profiles/initiate-upload:
post:
tags:
- Browser Profiles
summary: Initiate Browser Profile Upload
description: 'Get a presigned S3 POST for uploading a profile zip directly to S3.
The returned ``upload_url`` and ``upload_fields`` are passed through verbatim;
the client uploads to S3 and then calls ``complete-upload``.'
operationId: initiate_browser_profile_upload_api_v2_browser_profiles_initiate_upload_post
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/InitiateUploadResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- HTTPBearer: []
/api/v2/browser-profiles/{profile_id}/complete-upload:
post:
tags:
- Browser Profiles
summary: Complete Browser Profile Upload
description: 'Finalize a profile after the zip is uploaded to S3.
``browser_name`` is an unconstrained ``str`` here; env-manager validates it
against its own ``BROWSER_NAMES`` literal and returns 422 on a bad value.'
operationId: complete_browser_profile_upload_api_v2_browser_profiles__profile_id__complete_upload_post
security:
- HTTPBearer: []
parameters:
- name: profile_id
in: path
required: true
schema:
type: string
format: uuid
title: Profile Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BrowserProfileCreate'
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/BrowserProfileRead'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v2/browser-profiles/default:
get:
tags:
- Browser Profiles
summary: Get Default Browser Profile
description: Fetch the caller's default profile for a browser flavor (404 when unset).
operationId: get_default_browser_profile_api_v2_browser_profiles_default_get
security:
- HTTPBearer: []
parameters:
- name: browser_name
in: query
required: true
schema:
type: string
description: Browser flavor, e.g. 'chromium'
title: Browser Name
description: Browser flavor, e.g. 'chromium'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/BrowserProfileRead'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v2/browser-profiles/{profile_id}/default:
put:
tags:
- Browser Profiles
summary: Set Default Browser Profile
description: 'Mark a profile as the caller''s default for its browser flavor.
Sessions created with ``use_default_browser_profile: true`` attach this
profile. Replaces the caller''s previous default for the same browser_name.'
operationId: set_default_browser_profile_api_v2_browser_profiles__profile_id__default_put
security:
- HTTPBearer: []
parameters:
- name: profile_id
in: path
required: true
schema:
type: string
format: uuid
title: Profile Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/BrowserProfileRead'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
delete:
tags:
- Browser Profiles
summary: Unset Default Browser Profile
description: Clear the default flag on a profile.
operationId: unset_default_browser_profile_api_v2_browser_profiles__profile_id__default_delete
security:
- HTTPBearer: []
parameters:
- name: profile_id
in: path
required: true
schema:
type: string
format: uuid
title: Profile Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/BrowserProfileRead'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v2/browser-profiles/{profile_id}:
get:
tags:
- Browser Profiles
summary: Get Browser Profile
description: Fetch a browser profile by id.
operationId: get_browser_profile_api_v2_browser_profiles__profile_id__get
security:
- HTTPBearer: []
parameters:
- name: profile_id
in: path
required: true
schema:
type: string
format: uuid
title: Profile Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/BrowserProfileRead'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
delete:
tags:
- Browser Profiles
summary: Delete Browser Profile
description: Delete a browser profile (record + S3 object).
operationId: delete_browser_profile_api_v2_browser_profiles__profile_id__delete
security:
- HTTPBearer: []
parameters:
- name: profile_id
in: path
required: true
schema:
type: string
format: uuid
title: Profile Id
responses:
'204':
description: Successful Response
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
components:
schemas:
BrowserProfileList:
properties:
total:
type: integer
title: Total
limit:
type: integer
title: Limit
offset:
type: integer
title: Offset
profiles:
items:
$ref: '#/components/schemas/BrowserProfileRead'
type: array
title: Profiles
type: object
required:
- total
- limit
- offset
- profiles
title: BrowserProfileList
description: Response model for listing browser profiles.
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
input:
title: Input
ctx:
type: object
title: Context
type: object
required:
- loc
- msg
- type
title: ValidationError
BrowserProfileCreate:
properties:
name:
type: string
title: Name
browser_name:
type: string
title: Browser Name
browser_version:
type: string
title: Browser Version
description:
anyOf:
- type: string
- type: 'null'
title: Description
labels:
additionalProperties:
type: string
type: object
title: Labels
type: object
required:
- name
- browser_name
- browser_version
title: BrowserProfileCreate
description: Request model for completing a browser profile upload.
BrowserProfileRead:
properties:
id:
type: string
format: uuid
title: Id
user_id:
type: string
format: uuid
title: User Id
org_id:
type: string
format: uuid
title: Org Id
name:
type: string
title: Name
description:
anyOf:
- type: string
- type: 'null'
title: Description
browser_name:
type: string
title: Browser Name
browser_version:
type: string
title: Browser Version
s3_path:
anyOf:
- type: string
- type: 'null'
title: S3 Path
file_size_bytes:
anyOf:
- type: integer
- type: 'null'
title: File Size Bytes
checksum:
anyOf:
- type: string
- type: 'null'
title: Checksum
usage_count:
type: integer
title: Usage Count
default: 0
last_used_at:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Last Used At
labels:
anyOf:
- additionalProperties: true
type: object
- type: 'null'
title: Labels
is_default:
type: boolean
title: Is Default
default: false
created_at:
type: string
format: date-time
title: Created At
updated_at:
type: string
format: date-time
title: Updated At
type: object
required:
- id
- user_id
- org_id
- name
- browser_name
- browser_version
- created_at
- updated_at
title: BrowserProfileRead
description: Response model for a browser profile.
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
InitiateUploadResponse:
properties:
profile_id:
type: string
format: uuid
title: Profile Id
upload_url:
type: string
title: Upload Url
upload_fields:
additionalProperties:
type: string
type: object
title: Upload Fields
upload_expires_in:
type: integer
title: Upload Expires In
type: object
required:
- profile_id
- upload_url
- upload_fields
- upload_expires_in
title: InitiateUploadResponse
description: Response model for initiating a browser profile upload.
securitySchemes:
HTTPBearer:
type: http
scheme: bearer