openapi: 3.1.0 info: title: AnchorBrowser Agentic capabilities Profiles API version: 1.0.0 description: APIs to manage all browser-related actions and configuration. servers: - url: https://api.anchorbrowser.io description: API server tags: - name: Profiles paths: /v1/profiles: post: summary: Create Profile description: Creates a new profile from a browser session. A Profile stores cookies, local storage, and cache. security: - api_key_header: [] tags: - Profiles requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ProfileRequestSchema' responses: '200': description: Profile created successfully. content: application/json: schema: $ref: '#/components/schemas/SuccessResponse' '400': description: Invalid request or input. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Session not found or unreachable. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '409': description: Profile name already exists. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '501': description: Feature not implemented. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' get: summary: List Profiles description: Fetches all stored profiles. security: - api_key_header: [] tags: - Profiles responses: '200': description: List of user profiles retrieved successfully. content: application/json: schema: $ref: '#/components/schemas/ProfileListResponse' '500': description: Unable to list user profiles due to an unexpected error. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1/profiles/{name}: get: summary: Get Profile description: Retrieves details of a specific profile by its name. security: - api_key_header: [] tags: - Profiles parameters: - name: name in: path required: true description: The name of the profile to retrieve. schema: type: string responses: '200': description: Profile details retrieved successfully. content: application/json: schema: $ref: '#/components/schemas/ProfileResponse' '401': description: Invalid API Key. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Profile not found. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Unable to retrieve profile due to an unexpected error. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' delete: summary: Delete Profile description: Deletes an existing profile by its name. security: - api_key_header: [] tags: - Profiles parameters: - name: name in: path required: true description: The name of the profile to delete. schema: type: string responses: '200': description: Profile deleted successfully. content: application/json: schema: $ref: '#/components/schemas/SuccessResponse' '404': description: Profile not found. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Unable to delete the profile due to an unexpected error. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' components: schemas: ErrorResponse: type: object properties: error: type: object properties: code: type: integer message: type: string ProfileResponse: type: object properties: data: $ref: '#/components/schemas/ProfileResponseSchema' SuccessResponse: type: object properties: data: type: object properties: status: type: string ProfileListResponse: type: object properties: data: type: object properties: count: type: integer description: Total number of profiles items: type: array items: $ref: '#/components/schemas/ProfileResponseSchema' ProfileRequestSchema: type: object required: - name properties: name: type: string description: The name of the profile. description: type: string description: A description of the profile. source: type: string description: The source of the profile data. currently only `session` is supported. enum: - session session_id: type: string format: uuid description: The browser session ID is required if the source is set to `session`. The browser session must be running, and the profile will be stored once the browser session terminates. dedicated_sticky_ip: type: boolean description: Whether to use a dedicated sticky IP for this profile. Defaults to false. ProfileResponseSchema: type: object properties: name: type: string description: The name of the profile. description: type: string description: A description of the profile. source: type: string description: The source of the profile data. enum: - session session_id: type: string format: uuid description: The browser session ID used to create this profile, if applicable. status: type: string description: The current status of the profile. created_at: type: string format: date-time description: The timestamp when the profile was created. securitySchemes: api_key_header: type: apiKey in: header name: anchor-api-key description: API key passed in the header