Wrike Contacts API

Users and user groups in Wrike accounts

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/wrike-contacts-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

wrike-contacts-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Wrike Access Roles Contacts API
  description: The Wrike REST API v4 enables developers to build integrations and automations for Wrike, a collaborative work management platform used by 20,000+ organizations. The API provides access to tasks, folders, projects, contacts, workflows, time tracking, webhooks, and more. Authentication uses OAuth 2.0 or permanent access tokens. Additional platforms include a DataHub Public API for analytics, BI Export, Cloud Content Connector, and an MCP Server for AI assistant integration.
  version: '4.0'
  termsOfService: https://www.wrike.com/developer-terms/
  contact:
    name: Wrike Developer Support
    url: https://developers.wrike.com
  license:
    name: Wrike API Terms
    url: https://www.wrike.com/developer-terms/
servers:
- url: https://www.wrike.com/api/v4
  description: Wrike REST API v4
security:
- oauth2: []
- bearerToken: []
tags:
- name: Contacts
  description: Users and user groups in Wrike accounts
paths:
  /contacts:
    get:
      operationId: listContacts
      summary: List Contacts
      description: Returns a list of contacts of all users and user groups in all accessible accounts.
      tags:
      - Contacts
      parameters:
      - name: me
        in: query
        description: If present, only contact info of the requesting user is returned
        required: false
        schema:
          type: boolean
      - name: metadata
        in: query
        description: Metadata filter, exact match for metadata key or key-value pair
        required: false
        schema:
          type: string
      - name: fields
        in: query
        description: JSON string array of optional fields to include in the response
        required: false
        schema:
          type: string
      responses:
        '200':
          description: List of contacts
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContactListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /contacts/{contactId}:
    get:
      operationId: getContact
      summary: Get Contact
      description: Returns contact information for specified users and user groups.
      tags:
      - Contacts
      parameters:
      - name: contactId
        in: path
        required: true
        description: Comma-separated list of contact IDs (up to 100)
        schema:
          type: string
      - name: fields
        in: query
        description: JSON string array of optional fields to include in the response
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Contact details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContactListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      operationId: updateContact
      summary: Update Contact
      description: Updates contact information. Only the contact whose API token is being used may be updated.
      tags:
      - Contacts
      parameters:
      - name: contactId
        in: path
        required: true
        description: The contact ID
        schema:
          type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                metadata:
                  type: string
                  description: Metadata key-value pairs to update
      responses:
        '200':
          description: Updated contact
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContactListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    Profile:
      type: object
      properties:
        accountId:
          type: string
        email:
          type: string
          format: email
        role:
          type: string
          enum:
          - User
          - Collaborator
        external:
          type: boolean
        admin:
          type: boolean
        owner:
          type: boolean
    Metadata:
      type: object
      properties:
        key:
          type: string
        value:
          type: string
    ContactListResponse:
      type: object
      properties:
        kind:
          type: string
          example: contacts
        data:
          type: array
          items:
            $ref: '#/components/schemas/Contact'
    Contact:
      type: object
      properties:
        id:
          type: string
          description: Unique contact identifier
        firstName:
          type: string
        lastName:
          type: string
        type:
          type: string
          enum:
          - Person
          - Group
        profiles:
          type: array
          items:
            $ref: '#/components/schemas/Profile'
        avatarUrl:
          type: string
          format: uri
        timezone:
          type: string
        locale:
          type: string
        deleted:
          type: boolean
        me:
          type: boolean
          description: True if this contact represents the requesting user
        title:
          type: string
        companyName:
          type: string
        phone:
          type: string
        location:
          type: string
        metadata:
          type: array
          items:
            $ref: '#/components/schemas/Metadata'
    Error:
      type: object
      required:
      - error
      - errorDescription
      properties:
        error:
          type: string
          description: Error code
          example: not_authorized
        errorDescription:
          type: string
          description: Human-readable error description
          example: The access token is invalid
  responses:
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Authentication required or token invalid
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: Bad request - invalid parameters
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    oauth2:
      type: oauth2
      description: OAuth 2.0 authorization code flow
      flows:
        authorizationCode:
          authorizationUrl: https://www.wrike.com/oauth2/authorize
          tokenUrl: https://www.wrike.com/oauth2/token
          scopes:
            Default: Default access scope
            amReadOnlyWorkflow: Read-only access to workflows
            amReadWriteWorkflow: Read-write access to workflows
            wsReadOnly: Read-only workspace access
            wsReadWrite: Read-write workspace access
            amReadOnlyAccessRole: Read-only access to access roles
    bearerToken:
      type: http
      scheme: bearer
      description: Permanent access token (legacy authentication)
externalDocs:
  description: Wrike Developer Documentation
  url: https://developers.wrike.com