> ## Documentation Index
> Fetch the complete documentation index at: https://developers.wrike.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Query Contacts

List contacts of all users and user groups in current account.

<b>Scopes:</b> Default, wsReadOnly, wsReadWrite

# OpenAPI definition

```json
{
  "openapi": "3.0.1",
  "info": {
    "title": "Wrike API",
    "version": "4.0"
  },
  "servers": [
    {
      "url": "https://www.wrike.com/api/v4"
    },
    {
      "url": "https://app-eu.wrike.com/api/v4"
    },
    {
      "url": "https://app-us2.wrike.com/api/v4"
    }
  ],
  "paths": {
    "/contacts": {
      "get": {
        "tags": [
          "Contacts"
        ],
        "summary": "Query Contacts",
        "description": "List contacts of all users and user groups in current account.\n\n<b>Scopes:</b> Default, wsReadOnly, wsReadWrite",
        "operationId": "GET:/contacts/empty",
        "parameters": [
          {
            "name": "me",
            "in": "query",
            "description": "If present - only contact info of requesting user is returned",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "If present - only contact info of requesting user is returned"
            }
          },
          {
            "name": "metadata",
            "in": "query",
            "description": "Metadata filter, exact match for metadata key or key-value pair",
            "required": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Metadata"
                }
              }
            }
          },
          {
            "name": "deleted",
            "in": "query",
            "description": "Deleted flag filter",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Deleted flag filter"
            }
          },
          {
            "name": "customFields",
            "in": "query",
            "description": "Custom field filter",
            "required": false,
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "description": "Custom field filter",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldFilterParam"
                  }
                }
              }
            }
          },
          {
            "name": "emails",
            "in": "query",
            "description": "Email contacts filter. Limit : `100`",
            "required": false,
            "content": {
              "application/json": {
                "schema": {
                  "maxItems": 100,
                  "type": "array",
                  "description": "Email contacts filter",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          {
            "name": "active",
            "in": "query",
            "description": "Active status filter",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Active status filter"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Contact name filter",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Contact name filter"
            }
          },
          {
            "name": "types",
            "in": "query",
            "description": "Contact type filter\n* `Group` - Group of users. Group userId can be used in folder/task sharing requests only. It has no effect in other operations\n* `Asset` - Asset\n* `Person` - Person\n* `Robot` - Robot user for automated operations",
            "required": false,
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "description": "Contact type filter",
                  "items": {
                    "type": "string",
                    "enum": [
                      "Group",
                      "Asset",
                      "Person",
                      "Robot"
                    ]
                  }
                }
              }
            }
          },
          {
            "name": "fields",
            "in": "query",
            "description": "Json string array of optional fields to be included in the response model\n* `metadata` - Contact metadata\n* `currentCostRate` - Current user's cost rate\n* `customFields` - User's custom fields\n* `currentBillRate` - Current user's bill rate\n* `jobRoleId` - Current user's jobRoleId\n* `workScheduleId` - Contact work schedule id",
            "required": false,
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "description": "Json string array of optional fields to be included in the response model",
                  "items": {
                    "type": "string",
                    "enum": [
                      "metadata",
                      "currentCostRate",
                      "customFields",
                      "currentBillRate",
                      "jobRoleId",
                      "workScheduleId"
                    ]
                  }
                }
              }
            }
          }
        ],
        "responses": {
          "2XX": {
            "description": "success response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Contact"
                      }
                    },
                    "kind": {
                      "$ref": "#/components/schemas/ResponseKind"
                    }
                  }
                }
              }
            }
          },
          "4XX": {
            "description": "client-side error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "server-side error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "HTTP": []
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "ResponseKind": {
        "type": "string",
        "enum": [
          "accounts",
          "users",
          "contacts",
          "assets",
          "eDiscoveryReport",
          "folders",
          "folderTree",
          "tasks",
          "taskIds",
          "timelogs",
          "timelogCategories",
          "timelogLockPeriods",
          "timetrackerTimers",
          "comments",
          "attachments",
          "url",
          "version",
          "dataExport",
          "dataExportSchema",
          "auditLog",
          "accessRoles",
          "stream",
          "changes",
          "posts",
          "mailSettings",
          "integrationInfo",
          "gmailIntegrationSettings",
          "workTypesForIntegrations",
          "ids",
          "backups",
          "domains",
          "dependencies",
          "workflows",
          "workschedules",
          "workscheduleExclusions",
          "workscheduleUserExclusions",
          "customfields",
          "customfieldIds",
          "customstatuses",
          "invitations",
          "notifications",
          "jobroles",
          "placeholders",
          "groups",
          "session",
          "dashboards",
          "widgets",
          "taskCreationSettings",
          "colors",
          "experiments",
          "topics",
          "topicComments",
          "webhooks",
          "reviews",
          "boards",
          "textSearch",
          "chatChannels",
          "chatMessages",
          "forms",
          "requestForms",
          "request",
          "report",
          "platformWidgets",
          "platformWidgetInstances",
          "spaces",
          "pdf",
          "customerSatisfaction",
          "asyncJob",
          "approvals",
          "highlights",
          "highlightsList",
          "highlightsSettings",
          "highlightsCard",
          "timesheet",
          "timesheetRow",
          "timesheetSubmissionRule",
          "mobileFeatures",
          "mobileSettings",
          "folderBlueprintTree",
          "taskBlueprintTree",
          "feedback",
          "timeline_snapshot",
          "contactIds",
          "bookings",
          "integrateThreshold",
          "hourlyRatesProvision",
          "hourlyRates",
          "projectTeamMembers",
          "contactsHistory",
          "tasksHistory",
          "foldersHistory",
          "activityDigest",
          "workItemTemplates",
          "workTemplates",
          "workItemMetadata",
          "workItem",
          "customItemTypes",
          "verificationCode",
          "views",
          "listView",
          "tableView",
          "userTypes",
          "reactions",
          "externalRequesters",
          "workscheduleCapacityOverrides",
          "userCapacityOverrides",
          "userCapacityExclusions",
          "rollups",
          "requestFormPrefill",
          "cascadingFieldSettings"
        ]
      },
      "CustomFieldId": {
        "pattern": "^([A-Z0-9]){16}$",
        "type": "string"
      },
      "Metadata": {
        "required": [
          "key",
          "value"
        ],
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "description": "Value should be less than 1000 symbols, compatible with JSON string. Use JSON 'null' in order to remove metadata entry"
          },
          "key": {
            "type": "string",
            "description": "Key should be less than 50 symbols and match following regular expression ([A-Za-z0-9_-]+)"
          }
        },
        "description": "Metadata entries are isolated on per-client (application) basis"
      },
      "CustomFieldComparator": {
        "type": "string",
        "description": "* `IsEmpty` - For all field types. No extra parameters required\n* `ContainsAny` - For multiple select and contact fields. Parameter 'values' is required\n* `NotInRange` - For numeric, text, dropdown, currency, percent, duration, and date fields. Parameters 'minValue' and 'maxValue' are required\n* `LessOrEqualTo` - For numeric, text, dropdown, currency, percent, duration, and date fields. Parameter 'value' is required\n* `StartsWith` - For text and dropdown fields. Parameter 'value' is required\n* `ContainsAll` - For multiple select and contact fields. Parameter 'values' is required\n* `EqualTo` - For all field types. Parameter 'value' is required\n* `LessThan` - For numeric, text, dropdown, currency, percent, duration, and date fields. Parameter 'value' is required\n* `GreaterOrEqualTo` - For numeric, text, dropdown, currency, percent, duration, and date fields. Parameter 'value' is required\n* `IsNotEmpty` - For all field types. No extra parameters required\n* `GreaterThan` - For numeric, text, dropdown, currency, percent, duration, and date fields. Parameter 'value' is required\n* `InRange` - For numeric, text, dropdown, currency, percent, duration, and date fields. Parameters 'minValue' and 'maxValue' are required\n* `Contains` - For text and dropdown fields. Parameter 'value' is required\n* `EndsWith` - For text and dropdown fields. Parameter 'value' is required",
        "enum": [
          "IsEmpty",
          "ContainsAny",
          "NotInRange",
          "LessOrEqualTo",
          "StartsWith",
          "ContainsAll",
          "EqualTo",
          "LessThan",
          "GreaterOrEqualTo",
          "IsNotEmpty",
          "GreaterThan",
          "InRange",
          "Contains",
          "EndsWith"
        ]
      },
      "ErrorType": {
        "type": "string",
        "enum": [
          "invalid_request",
          "invalid_parameter",
          "parameter_required",
          "not_authorized",
          "access_forbidden",
          "not_allowed",
          "resource_not_found",
          "method_not_found",
          "too_many_requests",
          "rate_limit_exceeded",
          "server_error"
        ]
      },
      "BudgetRate": {
        "required": [
          "rateSource"
        ],
        "type": "object",
        "properties": {
          "rateValue": {
            "type": "number",
            "description": "Rate value is displayed to 2 decimal places. More digits will be rounded arithmetically to 2 decimal places. No need to specify rate value if rate source is \"job role\""
          },
          "rateScope": {
            "$ref": "#/components/schemas/BudgetRateScope"
          },
          "rateSource": {
            "$ref": "#/components/schemas/BudgetRateSource"
          }
        }
      },
      "ErrorResponse": {
        "type": "object",
        "properties": {
          "errorDescription": {
            "type": "string"
          },
          "error": {
            "$ref": "#/components/schemas/ErrorType"
          }
        }
      },
      "AccountId": {
        "pattern": "^([A-Z0-9]){8}$",
        "type": "string"
      },
      "BudgetRateScope": {
        "type": "string",
        "description": "* `Account`\n* `Project`",
        "enum": [
          "Account",
          "Project"
        ]
      },
      "CustomFieldFilterParam": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "comparator": {
            "$ref": "#/components/schemas/CustomFieldComparator"
          },
          "minValue": {
            "type": "string",
            "description": "Custom field min value"
          },
          "maxValue": {
            "type": "string",
            "description": "Custom field max value"
          },
          "values": {
            "type": "array",
            "description": "Custom field possible values",
            "items": {
              "type": "string"
            }
          },
          "id": {
            "$ref": "#/components/schemas/CustomFieldId"
          },
          "value": {
            "type": "string",
            "description": "Custom field value"
          }
        }
      },
      "JobRoleId": {
        "pattern": "^([A-Z0-9]){16}$",
        "type": "string"
      },
      "UserRole": {
        "type": "string",
        "description": "* `User`\n* `Collaborator`",
        "enum": [
          "User",
          "Collaborator"
        ]
      },
      "BudgetRateSource": {
        "type": "string",
        "description": "* `JobRole`\n* `User`",
        "enum": [
          "JobRole",
          "User"
        ]
      },
      "WorkScheduleId": {
        "pattern": "^([A-Z0-9]){16}$",
        "type": "string"
      },
      "UserProfile": {
        "required": [
          "accountId",
          "email",
          "role",
          "external",
          "admin",
          "owner",
          "active"
        ],
        "type": "object",
        "properties": {
          "owner": {
            "type": "boolean",
            "description": "Is user account owner"
          },
          "accountId": {
            "$ref": "#/components/schemas/AccountId"
          },
          "external": {
            "type": "boolean",
            "description": "Is user external"
          },
          "role": {
            "$ref": "#/components/schemas/UserRole"
          },
          "admin": {
            "type": "boolean",
            "description": "Is user account admin"
          },
          "active": {
            "type": "boolean",
            "description": "Is user active in account"
          },
          "email": {
            "type": "string",
            "description": "Email address associated with account"
          }
        }
      },
      "Contact": {
        "type": "object",
        "properties": {
          "lastName": {
            "type": "string",
            "description": "Last name"
          },
          "metadata": {
            "type": "array",
            "description": "List of contact metadata entries. Requesting user has read/write access to his own metadata, other entries are read-only",
            "items": {
              "$ref": "#/components/schemas/Metadata"
            }
          },
          "avatarUrl": {
            "type": "string",
            "description": "Avatar URL"
          },
          "timezone": {
            "type": "string",
            "description": "Timezone Id, e.g 'America/New_York'"
          },
          "currentCostRate": {
            "$ref": "#/components/schemas/BudgetRate"
          },
          "customFields": {
            "type": "array",
            "description": "Custom fields",
            "items": {
              "$ref": "#/components/schemas/CustomField"
            }
          },
          "companyName": {
            "type": "string",
            "description": "User Company Name"
          },
          "profiles": {
            "type": "array",
            "description": "List of user profiles in accounts accessible for requesting user",
            "items": {
              "$ref": "#/components/schemas/UserProfile"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "Group",
              "Asset",
              "Person",
              "Robot"
            ]
          },
          "locale": {
            "type": "string",
            "description": "Locale"
          },
          "title": {
            "type": "string",
            "description": "User Title"
          },
          "firstName": {
            "type": "string",
            "description": "First name"
          },
          "deleted": {
            "type": "boolean",
            "description": "True if user is deleted, false otherwise"
          },
          "phone": {
            "type": "string",
            "description": "User phone"
          },
          "currentBillRate": {
            "$ref": "#/components/schemas/BudgetRate"
          },
          "me": {
            "type": "boolean",
            "description": "Field is present and set to true only for requesting user"
          },
          "myTeam": {
            "type": "boolean",
            "description": "Field is present and set to true for My Team (default) group"
          },
          "jobRoleId": {
            "$ref": "#/components/schemas/JobRoleId"
          },
          "location": {
            "type": "string",
            "description": "User location"
          },
          "workScheduleId": {
            "$ref": "#/components/schemas/WorkScheduleId"
          },
          "id": {
            "$ref": "#/components/schemas/UserId"
          },
          "memberIds": {
            "type": "array",
            "description": "List of group members contact IDs (field is present only for groups)",
            "items": {
              "$ref": "#/components/schemas/UserId"
            }
          },
          "primaryEmail": {
            "type": "string",
            "description": "Primary Email"
          }
        }
      },
      "UserId": {
        "pattern": "^([A-Z0-9]){8}$",
        "type": "string"
      },
      "CustomField": {
        "required": [
          "id",
          "value"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/CustomFieldId"
          },
          "value": {
            "type": "string",
            "description": "Custom field value. 4000 characters max. Should be valid string according to JSON RFC 8259. In particular, following characters must be escaped: quotation mark, reverse solidus, and the control characters (U+0000 through U+001F). Any character may be escaped, but unnecessarily escaped character can be implicitly translated to it's unescaped version. <br> In addition to RFC 8259 requirements, it is not recommended to use any of control characters in CF value.<br>Wrike's API forbids using U+0000 in every place and U+0011 at the beginning of the CF value string.<br>The correct way for setting multiple values in the multiple select Custom fields is ?customFields=[{\"id\":\"CustomFieldId\",\"value\":\"[\\\"value1\\\",\\\"value2\\\"]\"}]<br>The correct way for setting values in the people Custom fields is ?customFields=[{\"id\":\"CustomFieldId\",\"value\":\"UserId1, UserId2\"}]<br> Note that if custom field values are passed to API as URI param of request, they must be URI encoded. Here are some examples:<br>\"%5c\" - reverse solidus (backslash)<br>\"%5c%22\" - quotation mark<br>\"Vi%5Cu1ec7t\" - unicode-escaped character in word \"Việt\"<br>"
          }
        }
      }
    },
    "securitySchemes": {
      "HTTP": {
        "type": "http",
        "description": "Use OAuth 2.0 access token or permanent access token for authorization.",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    }
  }
}
```