### Create Proxy Request Example (Shell Curl) Source: https://docs.dolphin-anty-cdn.com/index This example demonstrates how to create a proxy using a cURL command. It includes the necessary headers and data payload for the POST request to the proxy endpoint. ```shell curl https://dolphin-anty-api.com/proxy \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \ --data '{ "type": "http", "host": "", "port": 0, "login": "", "password": "", "name": "", "changeIpUrl": "", "provider": "" }' ``` -------------------------------- ### Profile Start/Stop API Source: https://docs.dolphin-anty-cdn.com/index Endpoints for managing local Anty browser instances by starting and stopping profiles. ```APIDOC ## GET /v1.0/browser_profiles/{browserProfileId}/stop ### Description Stops a local Anty browser instance associated with a specific profile, syncing data back to the cloud. ### Method GET ### Endpoint /v1.0/browser_profiles/{browserProfileId}/stop ### Parameters #### Path Parameters - **browserProfileId** (string) - Required - The ID of the browser profile to stop. ### Response #### Success Response (200) - **message** (string) - A confirmation message that the profile has been stopped. #### Response Example ```json { "example": { "message": "Browser profile stopped successfully." } } ``` ``` ```APIDOC ## POST /v1.0/browser_profiles/{browserProfileId}/start ### Description Starts a local Anty browser instance bound to an existing browser profile. ### Method POST ### Endpoint /v1.0/browser_profiles/{browserProfileId}/start ### Parameters #### Path Parameters - **browserProfileId** (string) - Required - The ID of the browser profile to start. #### Query Parameters - **automation** (integer) - Optional - Set to 1 to enable automation. When true, the response includes the DevTools port and wsEndpoint. ### Response #### Success Response (200) - **port** (integer) - The DevTools port (if automation is enabled). - **wsEndpoint** (string) - The WebSocket endpoint for DevTools (if automation is enabled). #### Response Example ```json { "example": { "port": 9222, "wsEndpoint": "ws://127.0.0.1:9222/devtools/browser/some-uuid" } } ``` ``` ```APIDOC ## POST /v1.0/browser_profiles/start ### Description Starts a new local Anty browser instance with default settings. ### Method POST ### Endpoint /v1.0/browser_profiles/start ### Parameters #### Query Parameters - **automation** (integer) - Optional - Set to 1 to enable automation. When true, the response includes the DevTools port and wsEndpoint. ### Response #### Success Response (200) - **port** (integer) - The DevTools port (if automation is enabled). - **wsEndpoint** (string) - The WebSocket endpoint for DevTools (if automation is enabled). #### Response Example ```json { "example": { "port": 9222, "wsEndpoint": "ws://127.0.0.1:9222/devtools/browser/some-uuid" } } ``` ``` -------------------------------- ### List Proxies using cURL Source: https://docs.dolphin-anty-cdn.com/index This example demonstrates how to list proxies using a cURL command. It includes query parameters for filtering, sorting, and pagination. Authentication is handled via a Bearer token. ```Shell curl 'https://dolphin-anty-api.com/proxy?limit=1&query=&sortBy=name&order=ASC&ids=1' \ --header 'Authorization: Bearer YOUR_SECRET_TOKEN' ``` -------------------------------- ### Python Client Generation and Usage Source: https://docs.dolphin-anty-cdn.com/index Generates a Python client using openapi-generator-cli and demonstrates basic usage for creating a proxy. Requires 'openapi-generator-cli' and the OpenAPI YAML file. Outputs a Python client library and its usage example. ```bash pip install openapi-generator-cli curl -o openapi.yaml http://docs.dolphin-anty-cdn.com/openapi.yaml openapi-generator generate -i openapi.yaml -g python -o ./python-client pip install -e ./python-client ``` ```python from openapi_client import ApiClient, Configuration from openapi_client.api import proxies_api from openapi_client.models import ProxyCreateInput configuration = Configuration() configuration.api_key['Authorization'] = 'YOUR_API_KEY' configuration.api_key_prefix['Authorization'] = 'Bearer' api_instance = proxies_api.ProxiesApi(api_client=ApiClient(configuration)) proxy_create_input = ProxyCreateInput( type="http", host="proxy.example.com", port=8080, login="username", password="password" ) api_instance.create_proxy(proxy_create_input) ``` -------------------------------- ### GET /proxy - List proxies Source: https://docs.dolphin-anty-cdn.com/index Retrieves a paginated list of proxies with options for filtering, sorting, and limiting results. ```APIDOC ## GET /proxy ### Description Retrieves a paginated list of proxies. ### Method GET ### Endpoint `/proxy` ### Query Parameters * **limit** (integer) - Optional - Number of items per page (max 100). * **query** (string) - Optional - Filter proxies by name or host prefix. * **sortBy** (string enum) - Optional - Field to sort by. Possible values: `name`, `status`, `type`, `host`, `browser_profiles_count`, `created_at`, `updated_at`. * **order** (string enum) - Optional - Sort direction. Possible values: `ASC`, `DESC`. * **ids** (array of integers) - Optional - Restrict list to the provided IDs. ### Request Example ```bash curl 'https://dolphin-anty-api.com/proxy?limit=1&query=&sortBy=name&order=ASC&ids=1' \ --header 'Authorization: Bearer YOUR_SECRET_TOKEN' ``` ### Response #### Success Response (200) Paginated list of proxies. - **current_page** (integer) - The current page number. - **first_page_url** (string) - URL for the first page. - **from** (integer) - The starting item number of the current page. - **last_page** (integer) - The last page number. - **last_page_url** (string) - URL for the last page. - **next_page_url** (string or null) - URL for the next page. - **path** (string) - The URL path for the paginator. - **per_page** (integer) - The number of items per page. - **prev_page_url** (string or null) - URL for the previous page. - **to** (integer) - The ending item number of the current page. - **total** (integer) - The total number of items. - **data** (array of objects) - An array containing proxy objects. - **id** (integer) - The unique identifier of the proxy. - **teamId** (integer) - The ID of the team the proxy belongs to. - **userId** (integer) - The ID of the user the proxy belongs to. - **name** (string or null) - The name of the proxy. - **type** (string) - The type of the proxy (e.g., 'http'). - **host** (string) - The host of the proxy. - **port** (integer) - The port of the proxy. - **login** (string or null) - The login credentials for the proxy. - **password** (string or null) - The password for the proxy. - **changeIpUrl** (string or null) - URL to change the IP address. - **provider** (string or null) - The provider of the proxy. - **ip** (string or null) - The IP address of the proxy. - **savedByUser** (boolean) - Indicates if the proxy was saved by the user. - **browser_profiles_count** (integer) - The number of browser profiles associated with this proxy. - **lastCheck** (object or null) - Information about the last proxy check. - **createdAt** (string) - Timestamp of the last check. - **status** (boolean) - Status of the last check. - **ip** (string) - IP address during the last check. - **country** (string) - Country of the IP during the last check. - **region** (string) - Region of the IP during the last check. - **city** (string) - City of the IP during the last check. - **timezone** (string) - Timezone of the IP during the last check. - **found** (integer) - Count of found items during the check. - **total** (integer) - Total items checked. - **blacklists** (array of strings) - List of blacklisted services. - **createdAt** (string) - Timestamp when the proxy was created. - **updatedAt** (string) - Timestamp when the proxy was last updated. #### Error Response (400) Invalid request parameters. #### Error Response (401) Unauthorized. #### Response Example (200) ```json { "current_page": 1, "first_page_url": "string", "from": null, "last_page": 1, "last_page_url": "string", "next_page_url": null, "path": "string", "per_page": 1, "prev_page_url": null, "to": null, "total": 1, "data": [ { "id": 1, "teamId": 1, "userId": 1, "name": null, "type": "http", "host": "string", "port": 1, "login": null, "password": null, "changeIpUrl": null, "provider": null, "ip": null, "savedByUser": true, "browser_profiles_count": 1, "lastCheck": { "createdAt": "2025-12-02T09:38:03.616Z", "status": true, "ip": "string", "country": "string", "region": "string", "city": "string", "timezone": "string", "found": 1, "total": 1, "blacklists": [ "string" ] }, "createdAt": "2025-12-02T09:38:03.616Z", "updatedAt": "2025-12-02T09:38:03.616Z" } ] } ``` ``` -------------------------------- ### POST /proxy Source: https://docs.dolphin-anty-cdn.com/index Creates a new proxy entry. ```APIDOC ## POST /proxy ### Description Creates a new proxy entry. ### Method POST ### Endpoint `/proxy` ### Request Body *(Request body schema not provided in the input text)* ### Response *(Response schema not provided in the input text)* ``` -------------------------------- ### TypeScript Client with openapi-fetch Source: https://docs.dolphin-anty-cdn.com/index Demonstrates creating a type-safe API client using 'openapi-fetch' and generated TypeScript types. This library offers a zero-codegen approach. Requires 'openapi-fetch' and 'openapi-typescript'. Outputs an API client instance for making requests. ```bash npm install openapi-fetch openapi-typescript ``` ```typescript import createClient from 'openapi-fetch'; import type { paths } from './api'; const client = createClient({ baseUrl: 'https://dolphin-anty-api.com', headers: { Authorization: 'Bearer YOUR_API_KEY' }, }); const { data } = await client.POST('/proxy', { body: proxyCreateInput }); ``` -------------------------------- ### Local Storage API Source: https://docs.dolphin-anty-cdn.com/index Endpoints for importing and exporting local storage data for browser profiles. ```APIDOC ## GET /v1.0/local-storage/export ### Description Exports local storage data for all browser profiles. ### Method GET ### Endpoint /v1.0/local-storage/export ### Response #### Success Response (200) - **profilesLocalStorage** (object) - An object where keys are browser profile IDs and values are their corresponding local storage data. #### Response Example ```json { "example": { "profilesLocalStorage": { "profile-123": { "key1": "value1", "key2": "value2" }, "profile-456": { "keyA": "valueA" } } } } ``` ``` ```APIDOC ## GET /v1.0/local-storage/export/{browserProfileId} ### Description Exports local storage data for a specific browser profile. ### Method GET ### Endpoint /v1.0/local-storage/export/{browserProfileId} ### Parameters #### Path Parameters - **browserProfileId** (string) - Required - The ID of the browser profile. ### Response #### Success Response (200) - **localStorage** (object) - The local storage data for the specified browser profile. #### Response Example ```json { "example": { "localStorage": { "key1": "value1", "key2": "value2" } } } ``` ``` ```APIDOC ## POST /v1.0/local-storage/export/{browserProfileId} ### Description Exports local storage data for a specific browser profile using POST method. ### Method POST ### Endpoint /v1.0/local-storage/export/{browserProfileId} ### Parameters #### Path Parameters - **browserProfileId** (string) - Required - The ID of the browser profile. ### Response #### Success Response (200) - **localStorage** (object) - The local storage data for the specified browser profile. #### Response Example ```json { "example": { "localStorage": { "key1": "value1", "key2": "value2" } } } ``` ``` ```APIDOC ## POST /v1.0/local-storage/import ### Description Imports local storage data into a browser profile. ### Method POST ### Endpoint /v1.0/local-storage/import ### Parameters #### Request Body - **browserProfileId** (string) - Required - The ID of the browser profile to import local storage data into. - **localStorage** (object) - Required - An object containing key-value pairs of local storage data. ### Request Example ```json { "example": { "browserProfileId": "profile-123", "localStorage": { "key1": "new_value1", "key3": "value3" } } } ``` ### Response #### Success Response (200) - **message** (string) - A confirmation message of successful local storage import. #### Response Example ```json { "example": { "message": "Local storage imported successfully." } } ``` ``` -------------------------------- ### POST /proxy - Create a Proxy Source: https://docs.dolphin-anty-cdn.com/index Creates a new proxy configuration. This endpoint allows you to add a proxy with various authentication and rotation options. The connection is managed by the Dolphin Anty application on your PC. ```APIDOC ## POST /proxy ### Description Creates a new proxy configuration. This endpoint allows you to add a proxy with various authentication and rotation options. The connection is managed by the Dolphin Anty application on your PC. ### Method POST ### Endpoint /proxy ### Parameters #### Query Parameters None #### Request Body - **host** (string) - Required - Proxy URL or IPv4/IPv6 address. - **port** (integer) - Required - Proxy port. Must be between 0 and 65535. - **type** (string) - Required - Proxy protocol type. Must be one of: `http`, `socks4`, `socks5`, `ssh`. - **changeIpUrl** (string) - Optional - URL that triggers IP rotation for the proxy. Maximum length: 512. - **login** (string) - Optional - Username for proxy authentication. Maximum length: 512. - **name** (string) - Optional - Human-readable alias for the proxy. Maximum length: 512. - **password** (string) - Optional - Password for proxy authentication. Maximum length: 512. - **provider** (string) - Optional - Provider identifier if the proxy originates from a supported provider. ### Request Example ```json { "type": "http", "host": "", "port": 0, "login": "", "password": "", "name": "", "changeIpUrl": "", "provider": "" } ``` ### Response #### Success Response (200) Returns the newly created proxy object. - **data** (object) - Contains the proxy details. - **id** (integer) - Unique identifier for the proxy. - **teamId** (integer) - Identifier for the team the proxy belongs to. - **userId** (integer) - Identifier for the user who created the proxy. - **name** (string) - Alias for the proxy. - **type** (string) - Protocol type of the proxy. - **host** (string) - Hostname or IP address of the proxy. - **port** (integer) - Port number of the proxy. - **login** (string) - Login username for proxy authentication. - **password** (string) - Password for proxy authentication. - **changeIpUrl** (string) - URL to rotate the proxy IP. - **provider** (string) - Identifier for the proxy provider. - **ip** (string) - The current IP address of the proxy. - **savedByUser** (boolean) - Indicates if the proxy was saved by the user. - **browser_profiles_count** (integer) - Number of browser profiles using this proxy. - **lastCheck** (object) - Information about the last proxy check. - **createdAt** (string) - Timestamp of the last check. - **status** (boolean) - Status of the last check (true for success, false for failure). - **ip** (string) - IP address detected during the last check. - **country** (string) - Country detected during the last check. - **region** (string) - Region detected during the last check. - **city** (string) - City detected during the last check. - **timezone** (string) - Timezone detected during the last check. - **found** (integer) - Count of found items during the last check. - **total** (integer) - Total items checked during the last check. - **blacklists** (array of strings) - List of blacklists the IP is on. - **createdAt** (string) - Timestamp when the proxy was created. - **updatedAt** (string) - Timestamp when the proxy was last updated. #### Response Example (200) ```json { "data": { "id": 1, "teamId": 1, "userId": 1, "name": null, "type": "http", "host": "string", "port": 1, "login": null, "password": null, "changeIpUrl": null, "provider": null, "ip": null, "savedByUser": true, "browser_profiles_count": 1, "lastCheck": { "createdAt": "2025-12-02T09:38:03.616Z", "status": true, "ip": "string", "country": "string", "region": "string", "city": "string", "timezone": "string", "found": 1, "total": 1, "blacklists": [ "string" ] }, "createdAt": "2025-12-02T09:38:03.616Z", "updatedAt": "2025-12-02T09:38:03.616Z" } } ``` #### Error Responses - **400 Bad Request**: Invalid request payload. - **401 Unauthorized**: Authentication failed. ``` -------------------------------- ### Extensions Operations Source: https://docs.dolphin-anty-cdn.com/index Endpoints for managing browser extensions. ```APIDOC ## Extensions ### Description Endpoints for managing browser extensions. ### Endpoints - **GET /extensions** - **POST /extensions** - **DELETE /extensions** - **POST /extensions/upload-zipped** ``` -------------------------------- ### TypeScript Client with openapi-client-axios Source: https://docs.dolphin-anty-cdn.com/index Shows how to create a type-safe API client using 'openapi-client-axios' as an Axios wrapper, along with generated TypeScript types. This method utilizes a predefined OpenAPI definition URL. Requires 'axios', 'openapi-client-axios', and 'openapi-typescript'. Outputs an initialized API client. ```bash npm install axios openapi-client-axios openapi-typescript ``` ```typescript import OpenAPIClientAxios from 'openapi-client-axios'; import type { paths } from './api'; const api = new OpenAPIClientAxios({ definition: 'http://docs.dolphin-anty-cdn.com/openapi.yaml', }); const client = await api.init(); await client.createProxy(null, proxyCreateInput); ``` -------------------------------- ### Homepage Operations API Source: https://docs.dolphin-anty-cdn.com/index Endpoints for managing homepages within the Dolphin Anty CDN. ```APIDOC ## GET /homepages ### Description Retrieves a list of homepages. ### Method GET ### Endpoint /homepages ### Parameters #### Query Parameters - **limit** (integer) - Optional - Specifies the maximum number of homepages to retrieve. - **query** (string) - Optional - A search query to filter homepages. - **sortBy** (string) - Optional - Field to sort the results by. - **order** (string) - Optional - Order of sorting (e.g., 'asc', 'desc'). - **ids** (string) - Optional - Comma-separated list of homepage IDs to retrieve. ### Response #### Success Response (200) - **homepages** (array) - A list of homepage objects. - **id** (integer) - The unique identifier of the homepage. - **name** (string) - The name of the homepage. ### Request Example ```json { "example": "GET /homepages?limit=10&sortBy=name&order=asc" } ``` #### Response Example ```json { "example": { "homepages": [ { "id": 1, "name": "Homepage 1" }, { "id": 2, "name": "Homepage 2" } ] } } ``` ``` ```APIDOC ## POST /homepages ### Description Creates a new homepage. ### Method POST ### Endpoint /homepages ### Parameters #### Request Body - **name** (string) - Required - The name of the new homepage. ### Request Example ```json { "example": { "name": "New Homepage" } } ``` ### Response #### Success Response (200) - **id** (integer) - The unique identifier of the newly created homepage. - **name** (string) - The name of the newly created homepage. #### Response Example ```json { "example": { "id": 3, "name": "New Homepage" } } ``` ``` ```APIDOC ## DELETE /homepages ### Description Deletes one or more homepages. ### Method DELETE ### Endpoint /homepages ### Parameters #### Query Parameters - **ids** (string) - Required - Comma-separated list of homepage IDs to delete. ### Response #### Success Response (200) - **message** (string) - Confirmation message of deletion. ### Request Example ```json { "example": "DELETE /homepages?ids=1,2" } ``` #### Response Example ```json { "example": { "message": "Homepages with IDs 1, 2 deleted successfully." } } ``` ``` ```APIDOC ## PATCH /homepages/{id} ### Description Updates an existing homepage. ### Method PATCH ### Endpoint /homepages/{id} ### Parameters #### Path Parameters - **id** (integer) - Required - The ID of the homepage to update. #### Request Body - **name** (string) - Optional - The new name for the homepage. ### Request Example ```json { "example": "PATCH /homepages/1", "body": { "name": "Updated Homepage Name" } } ``` ### Response #### Success Response (200) - **id** (integer) - The ID of the updated homepage. - **name** (string) - The updated name of the homepage. #### Response Example ```json { "example": { "id": 1, "name": "Updated Homepage Name" } } ``` ``` -------------------------------- ### Folders Operations Source: https://docs.dolphin-anty-cdn.com/index Endpoints for managing folders and their contents. ```APIDOC ## Folders ### Description Endpoints for managing folders and their contents. ### Endpoints - **GET /folders** - **POST /folders** - **GET /folders/{id}** - **PATCH /folders/{id}** - **DELETE /folders/{id}** - **PUT /folders/order** - **POST /folders/mass/attach-profiles** - **DELETE /folders/mass/detach-profiles** - **GET /folders/{id}/profile-ids** ``` -------------------------------- ### Bookmark Operations API Source: https://docs.dolphin-anty-cdn.com/index Endpoints for managing bookmarks within the Dolphin Anty CDN. ```APIDOC ## GET /bookmarks ### Description Retrieves a list of bookmarks. ### Method GET ### Endpoint /bookmarks ### Parameters #### Query Parameters - **limit** (integer) - Optional - Specifies the maximum number of bookmarks to retrieve. - **query** (string) - Optional - A search query to filter bookmarks. - **sortBy** (string) - Optional - Field to sort the results by. - **order** (string) - Optional - Order of sorting (e.g., 'asc', 'desc'). - **ids** (string) - Optional - Comma-separated list of bookmark IDs to retrieve. ### Response #### Success Response (200) - **bookmarks** (array) - A list of bookmark objects. - **id** (integer) - The unique identifier of the bookmark. - **name** (string) - The name of the bookmark. ### Request Example ```json { "example": "GET /bookmarks?limit=10&sortBy=name&order=asc" } ``` #### Response Example ```json { "example": { "bookmarks": [ { "id": 1, "name": "Bookmark 1" }, { "id": 2, "name": "Bookmark 2" } ] } } ``` ``` ```APIDOC ## POST /bookmarks ### Description Creates a new bookmark. ### Method POST ### Endpoint /bookmarks ### Parameters #### Request Body - **name** (string) - Required - The name of the new bookmark. ### Request Example ```json { "example": { "name": "New Bookmark" } } ``` ### Response #### Success Response (200) - **id** (integer) - The unique identifier of the newly created bookmark. - **name** (string) - The name of the newly created bookmark. #### Response Example ```json { "example": { "id": 3, "name": "New Bookmark" } } ``` ``` ```APIDOC ## DELETE /bookmarks ### Description Deletes one or more bookmarks. ### Method DELETE ### Endpoint /bookmarks ### Parameters #### Query Parameters - **ids** (string) - Required - Comma-separated list of bookmark IDs to delete. ### Response #### Success Response (200) - **message** (string) - Confirmation message of deletion. ### Request Example ```json { "example": "DELETE /bookmarks?ids=1,2" } ``` #### Response Example ```json { "example": { "message": "Bookmarks with IDs 1, 2 deleted successfully." } } ``` ``` ```APIDOC ## PATCH /bookmarks/{id} ### Description Updates an existing bookmark. ### Method PATCH ### Endpoint /bookmarks/{id} ### Parameters #### Path Parameters - **id** (integer) - Required - The ID of the bookmark to update. #### Request Body - **name** (string) - Optional - The new name for the bookmark. ### Request Example ```json { "example": "PATCH /bookmarks/1", "body": { "name": "Updated Bookmark Name" } } ``` ### Response #### Success Response (200) - **id** (integer) - The ID of the updated bookmark. - **name** (string) - The updated name of the bookmark. #### Response Example ```json { "example": { "id": 1, "name": "Updated Bookmark Name" } } ``` ``` -------------------------------- ### Authentication API Source: https://docs.dolphin-anty-cdn.com/index Endpoints for authentication operations, specifically for logging in with a token. ```APIDOC ## POST /v1.0/auth/login-with-token ### Description Logs in using a provided JWT token. ### Method POST ### Endpoint /v1.0/auth/login-with-token ### Parameters #### Request Body - **token** (string) - Required - The JWT token for authentication. ### Request Example ```json { "example": { "token": "your_jwt_token_here" } } ``` ### Response #### Success Response (200) - **message** (string) - A success message indicating successful login. - **userId** (integer) - The ID of the logged-in user. #### Response Example ```json { "example": { "message": "Login successful", "userId": 123 } } ``` ``` -------------------------------- ### Browser Profiles Operations Source: https://docs.dolphin-anty-cdn.com/index Endpoints for managing browser profiles, including creation, retrieval, deletion, mass operations, and access control. ```APIDOC ## Browser Profiles Operations This section covers endpoints related to the management of browser profiles. ### Endpoints * **POST** `/browser_profiles` - Create a new browser profile. * **GET** `/browser_profiles` - Retrieve a list of browser profiles. * **DELETE** `/browser_profiles` - Delete browser profiles. * **POST** `/browser_profiles/mass` - Perform mass operations on browser profiles. * **POST** `/browser_profiles/transfer` - Transfer browser profiles. * **GET** `/browser_profiles/{id}` - Retrieve a specific browser profile by ID. * **PATCH** `/browser_profiles/{id}` - Update a specific browser profile by ID. * **DELETE** `/browser_profiles/{id}` - Delete a specific browser profile by ID. * **POST** `/browser_profiles/access` - Manage access to browser profiles. * **PATCH** `/browser_profiles/{id}/access` - Update access for a specific browser profile. ``` -------------------------------- ### Fingerprints Operations Source: https://docs.dolphin-anty-cdn.com/index Endpoints for retrieving user agent, fingerprint, and font lists. ```APIDOC ## Fingerprints Operations This section covers endpoints for retrieving various fingerprint-related data. ### Endpoints * **GET** `/useragent` - Get a list of user agents. * **GET** `/fingerprint` - Get fingerprint information. * **GET** `/webgl-list` - Get a list of WebGL information. * **GET** `/font-list` - Get a list of available fonts. ``` -------------------------------- ### TypeScript Client Generation (openapi-typescript) Source: https://docs.dolphin-anty-cdn.com/index Generates TypeScript types for the API from an OpenAPI YAML file using 'openapi-typescript'. This provides static typing for API interactions, enabling autocompletion and type checking in IDEs. Requires 'openapi-typescript'. Outputs a TypeScript declaration file. ```bash npx openapi-typescript openapi.yaml -o src/api.d.ts ``` -------------------------------- ### Browser Profile Statuses Operations Source: https://docs.dolphin-anty-cdn.com/index Endpoints for managing the status of browser profiles. ```APIDOC ## Browser Profile Statuses ### Description Endpoints for managing the status of browser profiles. ### Endpoints - **GET /browser_profiles/statuses** - **POST /browser_profiles/statuses** - **DELETE /browser_profiles/statuses** - **GET /browser_profiles/statuses/{id}** - **PATCH /browser_profiles/statuses/{id}** - **DELETE /browser_profiles/statuses/{id}** - **PUT /browser_profiles/statuses/bulk** ``` -------------------------------- ### Types Generation (TypeScript) Source: https://docs.dolphin-anty-cdn.com/index Generate TypeScript types for the API using openapi-typescript for type-safe client interactions. ```APIDOC #### TypeScript type-safe client examples **First generate static types once:** ``` npx openapi-typescript openapi.yaml -o src/api.d.ts ``` _Tip: Whichever language you use, run the**type generation and client setup** step in your CI pipeline or as a git hook so that every change to our types in `openapi.yaml` automatically refreshes your typed client._ ##### Pattern 1 – openapi-fetch (zero-codegen) ``` npm install openapi-fetch openapi-typescript ``` ``` import createClient from 'openapi-fetch'; import type { paths } from './api'; const client = createClient({ baseUrl: 'https://dolphin-anty-api.com', headers: { Authorization: 'Bearer YOUR_API_KEY' }, }); const { data } = await client.POST('/proxy', { body: proxyCreateInput }); ``` ##### Pattern 2 – openapi-client-axios (Axios wrapper) ``` npm install axios openapi-client-axios openapi-typescript ``` ``` import OpenAPIClientAxios from 'openapi-client-axios'; import type { paths } from './api'; const api = new OpenAPIClientAxios({ definition: 'http://docs.dolphin-anty-cdn.com/openapi.yaml', }); const client = await api.init(); await client.createProxy(null, proxyCreateInput); ``` ``` -------------------------------- ### Cookies API Source: https://docs.dolphin-anty-cdn.com/index Endpoints for importing and exporting cookies for browser profiles. ```APIDOC ## POST /v1.0/cookies/import ### Description Imports cookies into a browser profile. ### Method POST ### Endpoint /v1.0/cookies/import ### Parameters #### Request Body - **browserProfileId** (string) - Required - The ID of the browser profile to import cookies into. - **cookies** (array) - Required - A list of cookie objects to import. - **name** (string) - The name of the cookie. - **value** (string) - The value of the cookie. - **domain** (string) - The domain the cookie belongs to. - **path** (string) - The path for the cookie. - **expires** (integer) - The expiration time of the cookie in Unix timestamp format. - **httpOnly** (boolean) - Whether the cookie is httpOnly. - **secure** (boolean) - Whether the cookie is secure. ### Request Example ```json { "example": { "browserProfileId": "profile-123", "cookies": [ { "name": "sessionid", "value": "abcdef12345", "domain": ".example.com", "path": "/", "expires": 1700000000, "httpOnly": false, "secure": true } ] } } ``` ### Response #### Success Response (200) - **message** (string) - A confirmation message of successful cookie import. #### Response Example ```json { "example": { "message": "Cookies imported successfully." } } ``` ``` ```APIDOC ## POST /v1.0/export-cookies ### Description Exports cookies from a browser profile. ### Method POST ### Endpoint /v1.0/export-cookies ### Parameters #### Request Body - **browserProfileId** (string) - Required - The ID of the browser profile to export cookies from. ### Request Example ```json { "example": { "browserProfileId": "profile-123" } } ``` ### Response #### Success Response (200) - **cookies** (array) - A list of cookie objects exported from the profile. - **name** (string) - The name of the cookie. - **value** (string) - The value of the cookie. - **domain** (string) - The domain the cookie belongs to. - **path** (string) - The path for the cookie. - **expires** (integer) - The expiration time of the cookie in Unix timestamp format. - **httpOnly** (boolean) - Whether the cookie is httpOnly. - **secure** (boolean) - Whether the cookie is secure. #### Response Example ```json { "example": { "cookies": [ { "name": "sessionid", "value": "abcdef12345", "domain": ".example.com", "path": "/", "expires": 1700000000, "httpOnly": false, "secure": true } ] } } ``` ``` ```APIDOC ## POST /v1.0/cookies/{browserProfileId}/robot ### Description Starts a cookie robot for a browser profile. ### Method POST ### Endpoint /v1.0/cookies/{browserProfileId}/robot ### Parameters #### Path Parameters - **browserProfileId** (string) - Required - The ID of the browser profile. ### Response #### Success Response (200) - **message** (string) - A confirmation message that the cookie robot has started. #### Response Example ```json { "example": { "message": "Cookie robot started for profile profile-123." } } ``` ``` ```APIDOC ## GET /v1.0/cookies/{browserProfileId}/robot-stop ### Description Stops the cookie robot for a browser profile. ### Method GET ### Endpoint /v1.0/cookies/{browserProfileId}/robot-stop ### Parameters #### Path Parameters - **browserProfileId** (string) - Required - The ID of the browser profile. ### Response #### Success Response (200) - **message** (string) - A confirmation message that the cookie robot has stopped. #### Response Example ```json { "example": { "message": "Cookie robot stopped for profile profile-123." } } ``` ``` -------------------------------- ### Types Generation (Python) Source: https://docs.dolphin-anty-cdn.com/index Generate Python types for the API using openapi-generator-cli for type-safe client interactions. ```APIDOC #### Python types generation example **Basic setup:** ``` pip install openapi-generator-cli curl -o openapi.yaml http://docs.dolphin-anty-cdn.com/openapi.yaml openapi-generator generate -i openapi.yaml -g python -o ./python-client pip install -e ./python-client ``` _Tip: Whichever language you use, run the**type generation and client setup** step in your CI pipeline or as a git hook so that every change to our types in `openapi.yaml` automatically refreshes your typed client._ **Usage in code:** ``` from openapi_client import ApiClient, Configuration from openapi_client.api import proxies_api from openapi_client.models import ProxyCreateInput configuration = Configuration() configuration.api_key['Authorization'] = 'YOUR_API_KEY' configuration.api_key_prefix['Authorization'] = 'Bearer' api_instance = proxies_api.ProxiesApi(api_client=ApiClient(configuration)) proxy_create_input = ProxyCreateInput( type="http", host="proxy.example.com", port=8080, login="username", password="password" ) api_instance.create_proxy(proxy_create_input) ``` ``` -------------------------------- ### Authentication Source: https://docs.dolphin-anty-cdn.com/index Authentication is performed using a JWT token obtained from the Dolphin{anty} website. This token must be included in the Authorization header for every request. ```APIDOC ## Authorization Authorization is done via a _JWT token_, which you can obtain from the Dolphin{anty} website: https://dolphin-anty.com/panel. Fill the name and token expiration, then click 'generate token'. You will be presented with a token that you can copy and paste into the `Authorization` header. The token is shown only once, so make sure to copy it before closing the page. You **must** present token in the `Authorization` header for **every request**. ``` -------------------------------- ### Proxy Response Schema Source: https://docs.dolphin-anty-cdn.com/index This is the JSON schema for a paginated list of proxies returned by the API. It details the structure of the response, including pagination information and the attributes of each proxy object. ```JSON { "current_page": 1, "first_page_url": "string", "from": null, "last_page": 1, "last_page_url": "string", "next_page_url": null, "path": "string", "per_page": 1, "prev_page_url": null, "to": null, "total": 1, "data": [ { "id": 1, "teamId": 1, "userId": 1, "name": null, "type": "http", "host": "string", "port": 1, "login": null, "password": null, "changeIpUrl": null, "provider": null, "ip": null, "savedByUser": true, "browser_profiles_count": 1, "lastCheck": { "createdAt": "2025-12-02T09:38:03.616Z", "status": true, "ip": "string", "country": "string", "region": "string", "city": "string", "timezone": "string", "found": 1, "total": 1, "blacklists": [ "string" ] }, "createdAt": "2025-12-02T09:38:03.616Z", "updatedAt": "2025-12-02T09:38:03.616Z" } ] } ``` -------------------------------- ### PATCH /proxy/{id} Source: https://docs.dolphin-anty-cdn.com/index Updates an existing proxy entry by its ID. ```APIDOC ## PATCH /proxy/{id} ### Description Updates an existing proxy entry by its ID. ### Method PATCH ### Endpoint `/proxy/{id}` ### Path Parameters * **id** (integer) - Required - The ID of the proxy to update. ### Request Body *(Request body schema not provided in the input text)* ### Response *(Response schema not provided in the input text)* ``` -------------------------------- ### PATCH /proxy/{id} Source: https://docs.dolphin-anty-cdn.com/index Updates an existing proxy configuration by its unique identifier. This endpoint allows modification of proxy details such as host, port, type, and authentication credentials. ```APIDOC ## PATCH /proxy/{id} ### Description Updates an existing proxy configuration by its unique identifier. This endpoint allows modification of proxy details such as host, port, type, and authentication credentials. ### Method PATCH ### Endpoint /proxy/{id} #### Path Parameters - **id** (integer) - Required - Proxy identifier. #### Request Body - **host** (string) - Required - Proxy URL or IPv4/IPv6 address. - **port** (integer) - Required - Proxy port (0-65535). - **type** (string) - Required - Proxy protocol type (http, socks4, socks5, ssh). - **changeIpUrl** (string) - Optional - URL that triggers IP rotation for the proxy (max length: 512). - **login** (string) - Optional - Username for proxy authentication (max length: 512). - **name** (string) - Optional - Human-readable alias for the proxy (max length: 512). - **password** (string) - Optional - Password for proxy authentication (max length: 512). - **provider** (string) - Optional - Provider identifier if the proxy originates from a supported provider. ### Request Example ```json { "type": "http", "host": "", "port": 0, "login": "", "password": "", "name": "", "changeIpUrl": "", "provider": "" } ``` ### Response #### Success Response (200) Updated proxy data. - **data** (object) - Contains the updated proxy information. - **id** (integer) - Proxy identifier. - **teamId** (integer) - Team identifier. - **userId** (integer) - User identifier. - **name** (string) - Alias for the proxy. - **type** (string) - Proxy protocol type. - **host** (string) - Proxy URL or IP address. - **port** (integer) - Proxy port. - **login** (string) - Username for proxy authentication. - **password** (string) - Password for proxy authentication. - **changeIpUrl** (string) - URL for IP rotation. - **provider** (string) - Proxy provider identifier. - **ip** (string) - Current IP address of the proxy. - **savedByUser** (boolean) - Indicates if saved by the user. - **browser_profiles_count** (integer) - Number of browser profiles using this proxy. - **lastCheck** (object) - Information about the last proxy check. - **createdAt** (string) - Timestamp of creation. - **updatedAt** (string) - Timestamp of last update. #### Error Response (400) Invalid request payload. #### Error Response (401) Unauthorized. ``` -------------------------------- ### Error Handling Source: https://docs.dolphin-anty-cdn.com/index The API uses standard HTTP status codes for errors. Successful requests return 200, while unsuccessful requests return 400 or 500. Error messages are provided in the JSON response body. ```APIDOC ## Error handling The API returns standard HTTP status codes for errors. If the request is successful, the status code will be 200. If the request is not successful, the status code will be 400 or 500. The response body will contain a JSON object with the error message. ```