#
Profile Object
This page describes Profile JSON schema and how to use it for profile creation, editing or just reading. If you are interested in any of those operations, have a look at the corresponding requests first in our API reference.
We will discuss profile fields, their meanings, how to generate them yourself and how you can apply this knowledge to your application. But, before diving into it, first we need to define which types of fields you can encounter:
Read-only These fields cannot be changed, so you cannot include them in your request body when creating or editing profiles. Though, the server will always include them in response payload when giving it to you, regardless of whether it is a response to a
GET
request when listing profiles or toPOST
request to create a profile.
Example: profile_id
cannot be changed, so you cannot include it in create/edit requests, but it is always present when server responds with a Profile object.Write-only These fields can be present only in request payload when creating or editing profiles.
Example: profile'sparentId
is used for setting the direct parent of the profile on creation or editing. But everyGET
request will have fieldpath
instead, to show the full path to the profile.If a field is not annotated with Read-only nor Write-only , then the field is both readable and writeable. It will be present in server responses, and you are also able to use it when creating or editing profiles.
Nullable Indicates that a field is nullable and can be absent in server responses and when you create a profile. Note: it does not apply to editing profiles. (More on that later)
#
Profile
Object
Profile object with the following schema:
- _id String Read-only - profile ID.
- ownerId String - ID of the user who owns the profile. When creating a profile, initialized with the ID of the user who created it.
- clusterId String Read-only - ID of the cluster the profile belongs to.
- path
Array<String>
Read-only
- Array with IDs that form a full path to the profile up to the direct parent. The first element
is always equal to
clusterId
. Might contain IDs of nonexistent groups. - parentId String Write-only - ID of the direct parent you want to move the profile to. Must be either a cluster group or cluster itself. You cannot move profile to other cluster.
- proxyId
String
Nullable
- ID of the proxy from Proxy List. Has precedence over
proxy
field if both are present. - proxy
Object
Nullable
- Manual proxy object with the following schema:
- type
String
- possible values:
socks5
,http
,https
,ssh
- host String
- port
Int
- number in the range of
1-65535
- username String Nullable
- password String Nullable
- ipChangeUrl String Nullable - we recommend including protocol in the URL
- type
String
- possible values:
- name
String
Nullable
- Profile name. You could see that Surfinite App shows profile ID if the name is
null
, but the object actually containsnull
value and is not set to ID automatically. - description String Nullable
- metadata
Object
Read-only
- Metadata object containing info about profile OS and Screen with t:
- osType
String
Nullable
- type of the OS, possible values:
windows
,macos
,linux
- osName
String
Nullable
- OS version, like
Windows 11
,Monterey
,Big Sur
- screen
Int
Nullable
- dimensions of the screen of form
<width> x <height>
If a field is null - this means the spoofing is disabled.
- osType
String
Nullable
- type of the OS, possible values:
- deletedOn Long Read-only Nullable - Unix timestamp of when the profile was deleted. If this field is not null - this means that the profile is currently in Recycle Bin.
- deletedBy String Read-only Nullable - ID of the user who deleted the profile.
- createdOn Long Read-only - Unix timestamp of when the profile was created.
- lastLaunched Long Read-only Nullable - Unix timestamp of the last launch of this profile.
- categoryId String Nullable - ID of the category assigned to this profile.
- statusId String Nullable - ID of the status assigned to this profile.
- clusterBookmarks Array<String> - Array of bookmark IDs that were assigned to this profile.
- manualBookmarks
Array<Object>
- Array of bookmark objects. Bookmark schema is:
- name String
- url
String
- if you omit URL protocol,
https
will be used
- clusterExtensions Array<String> - Array of extension IDs. These IDs are from Chrome Web Store.
- manualExtensions Array<String> - Array of extension IDs. These IDs are from Chrome Web Store.
- tags Array<String> - Array of tags.
- fingerprint Object Nullable - Object containing fingerprint fields. The next section will describe them.