#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.