|
Download docs/reference/profiles.md from AUXteam/pinch: direct link, hf CLI and curl.
- Browser
- Download file 4.69 kB
-
https://huggingface.co/spaces/AUXteam/pinch/resolve/main/docs/reference/profiles.md
- Command line
-
hf download hf://spaces/AUXteam/pinch/docs/reference/profiles.md
-
curl -L -o profiles.md https://huggingface.co/spaces/AUXteam/pinch/resolve/main/docs/reference/profiles.md
4.69 kB
| # Profiles | |
| Profiles are browser user data directories. They hold cookies, local storage, history, and other durable browser state. | |
| In PinchTab: | |
| - profiles exist even when no instance is running | |
| - one profile can have at most one active managed instance at a time | |
| - profile IDs and names are both useful, but some endpoints require the profile ID specifically | |
| ## List Profiles | |
| ```bash | |
| curl http://localhost:9867/profiles | |
| # CLI Alternative | |
| pinchtab profiles | |
| # Response | |
| [ | |
| { | |
| "id": "prof_278be873", | |
| "name": "work", | |
| "created": "2026-02-27T20:37:13.599055326Z", | |
| "diskUsage": 534952089, | |
| "sizeMB": 510.17, | |
| "running": false, | |
| "source": "created", | |
| "useWhen": "Use for work accounts", | |
| "description": "" | |
| } | |
| ] | |
| ``` | |
| Notes: | |
| - `GET /profiles` excludes temporary auto-generated instance profiles by default | |
| - use `GET /profiles?all=true` to include temporary profiles | |
| - `pinchtab profiles` exists, but the HTTP API is the more reliable source of truth for structured output | |
| ## Get One Profile | |
| ```bash | |
| curl http://localhost:9867/profiles/prof_278be873 | |
| # Response | |
| { | |
| "id": "prof_278be873", | |
| "name": "work", | |
| "path": "/path/to/profiles/work", | |
| "pathExists": true, | |
| "created": "2026-02-27T20:37:13.599055326Z", | |
| "diskUsage": 534952089, | |
| "sizeMB": 510.17, | |
| "source": "created", | |
| "chromeProfileName": "Your Chrome", | |
| "accountEmail": "admin@example.com", | |
| "accountName": "Luigi", | |
| "hasAccount": true, | |
| "useWhen": "Use for work accounts", | |
| "description": "" | |
| } | |
| ``` | |
| `GET /profiles/{id}` accepts either the profile ID or the profile name. | |
| ## Create A Profile | |
| ```bash | |
| curl -X POST http://localhost:9867/profiles \ | |
| -H "Content-Type: application/json" \ | |
| -d '{"name":"scraping-profile","description":"Used for scraping","useWhen":"Use for ecommerce scraping"}' | |
| # Response | |
| { | |
| "status": "created", | |
| "id": "prof_0f32ae81", | |
| "name": "scraping-profile" | |
| } | |
| ``` | |
| Notes: | |
| - there is no `pinchtab profile create` CLI command | |
| - both `POST /profiles` and `POST /profiles/create` work for creating profiles | |
| ## Update A Profile | |
| ```bash | |
| curl -X PATCH http://localhost:9867/profiles/prof_278be873 \ | |
| -H "Content-Type: application/json" \ | |
| -d '{"description":"Updated description","useWhen":"Updated usage note"}' | |
| # Response | |
| { | |
| "status": "updated", | |
| "id": "prof_278be873", | |
| "name": "work" | |
| } | |
| ``` | |
| You can also rename the profile: | |
| ```bash | |
| curl -X PATCH http://localhost:9867/profiles/prof_278be873 \ | |
| -H "Content-Type: application/json" \ | |
| -d '{"name":"work-renamed"}' | |
| ``` | |
| Important: | |
| - `PATCH /profiles/{id}` requires the profile ID | |
| - using the profile name in that path returns an error | |
| - a rename changes the generated profile ID because IDs are derived from the name | |
| ## Delete A Profile | |
| ```bash | |
| curl -X DELETE http://localhost:9867/profiles/prof_278be873 | |
| # Response | |
| { | |
| "status": "deleted", | |
| "id": "prof_278be873", | |
| "name": "work" | |
| } | |
| ``` | |
| `DELETE /profiles/{id}` also requires the profile ID. | |
| ## Start Or Stop By Profile | |
| Start the active instance for a profile: | |
| ```bash | |
| curl -X POST http://localhost:9867/profiles/prof_278be873/start \ | |
| -H "Content-Type: application/json" \ | |
| -d '{"headless":true}' | |
| # Response | |
| { | |
| "id": "inst_ea2e747f", | |
| "profileId": "prof_278be873", | |
| "profileName": "work", | |
| "port": "9868", | |
| "headless": true, | |
| "status": "starting" | |
| } | |
| ``` | |
| Stop the active instance for a profile: | |
| ```bash | |
| curl -X POST http://localhost:9867/profiles/prof_278be873/stop | |
| # Response | |
| { | |
| "status": "stopped", | |
| "id": "prof_278be873", | |
| "name": "work" | |
| } | |
| ``` | |
| For these orchestrator routes, the path can be a profile ID or profile name. | |
| ## Check Whether A Profile Has A Running Instance | |
| ```bash | |
| curl http://localhost:9867/profiles/prof_278be873/instance | |
| # Response | |
| { | |
| "name": "work", | |
| "running": true, | |
| "status": "running", | |
| "port": "9868", | |
| "id": "inst_ea2e747f" | |
| } | |
| ``` | |
| ## Additional Profile Operations | |
| ### Reset A Profile | |
| ```bash | |
| curl -X POST http://localhost:9867/profiles/prof_278be873/reset | |
| ``` | |
| This route requires the profile ID. | |
| ### Import A Profile | |
| ```bash | |
| curl -X POST http://localhost:9867/profiles/import \ | |
| -H "Content-Type: application/json" \ | |
| -d '{"name":"imported-profile","sourcePath":"/path/to/existing/profile"}' | |
| ``` | |
| ### Get Logs | |
| ```bash | |
| curl http://localhost:9867/profiles/prof_278be873/logs | |
| curl 'http://localhost:9867/profiles/work/logs?limit=50' | |
| ``` | |
| `logs` accepts either the profile ID or the profile name. | |
| ### Get Analytics | |
| ```bash | |
| curl http://localhost:9867/profiles/prof_278be873/analytics | |
| curl http://localhost:9867/profiles/work/analytics | |
| ``` | |
| `analytics` also accepts either the profile ID or the profile name. | |
| ## Related Pages | |
| - [Instances](./instances.md) | |
| - [Tabs](./tabs.md) | |
| - [Config](./config.md) | |