You have a pending invitation from Accept invitation
877-779-7453

Wrike’s Development Platform

  • Overview

    Wrike’s Development Platform enables building custom software applications on top of Wrike’s rich project collaboration features. The platform consists of a set of seven callable API methods and API endpoints. The arguments, responses and error codes for each method are listed in the API Methods section.

    To perform an action using Wrike API, send a request (specifying a method and its parameters) by using the desired request format to an API endpoint. A response will then be sent back to you.

    All listed request formats take a list of named parameters.

    To get started, please read the rest of the documentation and apply for an API key by registering your application in the form on the left.

  • User Authentication

    WRIKE OAuth Quick Start Guide

    Abstract

    This guide provides information about using OAuth with WRIKE APIs and Web services.

    What is OAuth?

    OAuth is an open protocol, enabling an application to access end user information from a Web service when the application is authorized by the end user. The end user's information is securely transferred without revealing the identity of the user. OAuth verifies that requests by your application are actually yours and that you have permission to access potentially sensitive data for WRIKE users.

    This document supplements the official OAuth documentation and explains how the authorization process works when using WRIKE APIs that require the three-legged OAuth model (a model that requires explicit consent from end users).

    OAuth Libraries and Code

    Since OAuth is an open standard, you can take advantage of several open-source client libraries for OAuth. These libraries, available for various languages, can reduce the time you spend implementing authorization for your service or app. You can review these libraries on the OAuth site: http://oauth.net/code

    OAuth Authorization Flow

    Here is how the overall three-legged flow of OAuth authorization works:

    1. Sign Up and Get a Consumer Key.
    2. Get a Request Token.
    3. Get User Authorization.
    4. Exchange the Request Token for an Access Token.
    1 Sign Up and Get a Consumer Key

    Before you start making WRIKE API requests, you need to sign up and submit some details about your application.

    To sign up, register your application in the form on the left. After you register your application, you will receive a Consumer Key, which identifies your application to Wrike. You will also receive a Consumer Secret that will be required when asking for making a signature. Save the Consumer Key and Secret so that you can use them in your code as required.

    2 Get a Request Token
    URL:
    https://www.wrike.com/rest/auth/request_token
    Supported Methods:
    GET, POST

    Before your Users get involved, your application uses your Consumer Key to obtain a Request Token (OAuth Core 1.0a Spec, Section 6.1).The Request Token is a temporary token used to initiate User authorization for your application. The Request Token tells Wrike that you have obtained User approval, but the Request Token must be exchanged for an Access Token.

    Here is an example of URI request for a request token:

    https://www.wrike.com/rest/auth/request_token
    ?oauth_nonce=ce2130523f788f313f76314ed3965ea6
     &oauth_timestamp=1202956957
     &oauth_consumer_key=7each5c72355f82438a8dc08e1087256
     &oauth_signature_method=PLAINTEXT
     &oauth_signature=07n36239aea85d16%26
     &oauth_version=1.0
     &oauth_callback=http%3A%2F%2Fyoursite.com%2Fcallback
    

    The key request parameters are shown in the following table:

    Table 1. Request Parameters for getting Request Token
    Request Parameter Description
    oauth_consumer_key Consumer Key provided to you once you sign up.
    oauth_signature_method The signature method that you use to sign the request. This can be PLAINTEXT or HMAC-SHA1 (case sensitive).
    oauth_signature The Consumer Secret that was issued to the application. OAuth Core 1.0a Spec, Section 9
    oauth_timestamp Current timestamp of the request. This value must be +-600 seconds of the current time.
    oauth_nonce A random string, uniquely generated for each request (OAuth Core 1.0a Spec, Section 8)
    oauth_version OAuth version (1.0).
    oauth_callback Wrike redirects Users to this URL after they authorize access to their private data. If your application does not have access to a browser, you must specify the callback as oob (out of bounds).

    Wrike returns a response similar to the following via the URL:

    1. oauth_token=15ce0e612222957160d755f7f2c85245
    2. &oauth_token_secret=03dc4b68ff5c65fa3f3e305fcb420223

    The key response parameters include the following:

    Table 2. Response Parameters for getting Request Token
    Response Parameter Description
    oauth_token The Request Token that Wrike returns as a response to the request_token call. The Request Token is required during the User authorization process.
    oauth_token_secret The secret associated with the Request Token.
    oauth_callback_confirmed This flag is true if the callback was specified.
    3 Get User Authorization
    URL:
    https://www.wrike.com/rest/auth/authorize
    Supported Methods:
    GET, POST

    After getting the Request Token from Wrike, your application displays Wrike’s authorization page (OAuth Core 1.0a Spec, Section 6.2) to your Users, asking them to give permission to your application to access their data.

    The following is an example of an authorization URL that includes the Request Token:

    https://www.wrike.com/rest/auth/authorize?oauth_token=15ce0e612222957160d755f7f2c85245
    
    Table 3. Request Parameters for getting Request Auth
    Request Parameter Description
    oauth_token The Request Token that Wrike returns as a response to the request_token call. The Request Token is required during the User authorization process.
    4 Exchange the Request Token for an Access Token
    URL:
    https://www.wrike.com/rest/auth/access_token
    Supported Methods:
    GET, POST

    After your Users authorize your application to access their information, your application needs to exchange the approved Request Token for an Access Token, which tells Wrike that your application has been given authorization to access User data. (OAuth Core 1.0a Spec, Section 6.3)

    The following is an example of a URI request for an Access Token:

    https://www.wrike.com/rest/auth/access_token?
      oauth_consumer_key=7each5c72355f82438a8dc08e1087256
     &oauth_signature_method=PLAINTEXT
     &oauth_version=1.0
     &oauth_token=15ce0e612222957160d755f7f2c85245
     &oauth_timestamp=1228169662
     &oauth_nonce=8B9SpF
     &oauth_signature=07n36239aea85d16%2603dc4b68ff5c65fa3f3e305fcb420223
    
    Table 4. Request Parameters for Getting Access Token
    Request Parameter Description
    oauth_consumer_key Consumer Key provided to you once you sign up.
    oauth_signature_method The signature method that you use to sign the request. This can be PLAINTEXT or HMAC-SHA1 (case sensitive).
    oauth_nonce A random string (OAuth Core 1.0a Spec, Section 8)
    oauth_signature If you are using the PLAINTEXT, the signature is concatenated Consumer Secret and Token Secret separated by an %26 ("&") character. If using HMAC-SHA1, refer to OAuth Core 1.0a Spec, Section 9.2.
    oauth_timestamp Current timestamp of the request. This value must be +-600 seconds of the current time.
    oauth_version OAuth version (1.0).
    oauth_token The Request Token, which is required during the User authorization process and is short enough for the end User to easily enter. The Request Token is provided in response to the get_request_token request.

    Wrike will return a response similar to the following:

      oauth_token=e26758491d72065a2a7d9e8220b2e20b
     &oauth_token_secret=c5a9684d3a3aa22aa051308987219efb8d6982fc
    
    Table 5. Response Parameters for Getting Access Token
    Response Parameter Description
    oauth_token The Access Token provides access to protected resources accessible through Wrike API.
    oauth_token_secret The secret associated with the Access Token provided in hexstring format.

    Once you have an Access Token, you can use it in requests to Wrike API.

    Using OAuth in WRIKE API Requests

    For requests to Wrike API that require OAuth authorization, you must use the HMAC-SHA1 encryption method because requests are not secure if HTTP is used. The following example is an HTTP POST request for the profile of a fictional User with the UID OYgzyijdAo5Q.

    POST https://www.wrike.com/api/[json/xml]/v2/wrike.profile.get?
      oauth_consumer_key=7each5c72355f82438a8dc08e1087256,
      oauth_nonce="24829.2331",
      oauth_signature_method="HMAC-SHA1",
      oauth_timestamp="1219450170",
      oauth_token=e26758491d72065a2a7d9e8220b2e20b,
      oauth_version="1.0",
      oauth_signature="O2AQipLITO0aYHKZc9266RzC94%3D"
    
  • Encoding

    The Wrike API expects all data to be UTF-8 encoded.

    All data is converted to UTF-8 before being stored.

  • Request method

    Post request only.

  • Response Formats

    By default, all responses are returned in XML format unless a format parameter is sent and its value is not XML. Possible formats are XML and JSON.

  • URLs

    You should use the following URL format:

    https://www.wrike.com/api/v2/API_METHOD?argumentName1=argumentValue1[&argumentName2=argumentValue2......]
    https://www.wrike.com/api/json/v2/API_METHOD?argumentName1=argumentValue1[&argumentName2=argumentValue2......]
    https://www.wrike.com/api/xml/v2/API_METHOD?argumentName1=argumentValue1[&argumentName2=argumentValue2......]
        

    API_METHOD is one of the methods described in the next sections.

    You can specify data format you will get from response.

  • Async Keys

    The asynchronous key is a marker of request. The asynchronous key is granted by parameter in the request, so it is the identifier of this request. If you add the key to the request, this key will always return in response. This parameter is optional.

  • Root Folder

    The root folder is an abstract folder that the user cannot get, edit or remove. In the WRIKE workspace, this folder is called “My Folders.” The root folder always has ID = 0.

  • profile

    wrike.profile.get (Deprecated)

    Get a profile for the calling user

    Authentication

    Arguments

    • [String] token (required)

    Response

    • [String] uid - user string identifier
    • [String] lastName - last name of the calling user
    • [String] firstName - first name of the calling user
    • [String] primaryEmail - primary email
    • [String] organization - organization name
    • [String] workingDays - working days starting from Sunday marked "1" - example [0111110]
    • [String] weekendDays - weekends from Sunday marked "1" - example [1000001]
    • [String] dateFormat - date format (“MM/dd/yyyy” or “dd/MM/yyyy”)
    • [String] timezoneName - time zone
    • [int] timezoneOffset - time zone offset in milliseconds
    • [List<String>] secondaryEmails - verified secondary emails
    • [String] language - language
    • [String] license - license name

    Examples

    {"profile": {
      "uid": "OYgzyijdAo5Q",
      "lastName": "Api Test",
      "firstName": "Wrike",
      "primaryEmail": "wrikeapitest@gmail.com",
      "organization": "TEST",
      "workingDays": "0111110",
      "weekendDays": "1000001",
      "dateFormat": "MM/dd/yyyy",
      "timezoneName": "US/Pacific",
      "timezoneOffset": -25200000,
      "secondaryEmails": [
        "wrikeapitest@test.com"
      ],
      "language": "en",
      "license": "Collaborator"
    }}
    

    Error Codes

    402: CREDENTIALS_ERROR
    Authorization failed. The passed signature was invalid.

    Accounts

    wrike.accounts.list

    Get a list of the accounts for the calling user

    Authentication

    Arguments

    • [String] token (required)
    • [Boolean] details (optional)- (default false) - include details (profile, role, aviable api methods, contacts)

    Default response

    list of

    • [String] accountId - user string identifier
    • [String] accountName - last name of the calling user
    • [String] email - first name of the calling user

    Response with details

    list of

    • [String] accountId - user string identifier
    • [String] accountName - last name of the calling user
    • [String] email - first name of the calling user
    • [String] uid - user string identifier
    • [String] lastName - last name of the calling user
    • [String] firstName - first name of the calling user
    • [String] workingDays - working days starting from Sunday marked "1" - example [0111110]
    • [String] weekendDays - weekends from Sunday marked "1" - example [1000001]
    • [String] dateFormat - date format (“MM/dd/yyyy” or “dd/MM/yyyy”)
    • [String] timezoneName - time zone
    • [int] timezoneOffset - time zone offset in milliseconds
    • [String] language - language
    • [String] license - license name
    • [String]role - user's role in the account (User, Collaborator)
    • [List[String]]availableMethods - all api methods aviable for the user
    • [List] contacts
      • [String] uid - user string identifier
      • [String] firstName - first name
      • [String] lastName - last name
      • [String] email - primary email of contact

    Examples

    {"accounts": {
        "list": [
            {
            "accountId": 17,
            "accountName": "wriketest",
            "email": "wriketest@test.com"
            }
        ]
    }}
    
    {"accounts": {
      "list": [
        {
            "accountId": 17,
            "accountName": "wriketest",
            "email": "wriketest@test.com"
              "uid": "j62YMTTB8m9E",
              "lastName": "LASTNAME",
              "firstName": "FIRSTNAME",
              "workingDays": "0111110",
              "weekendDays": "1000001",
              "dateFormat": "MM/dd/yyyy",
              "timezoneName": "Europe/Athens",
              "timezoneOffset": 10800000,
              "language": "en",
              "role": "User",
              "availableMethods": [
                "wrike.profile.get",
                "wrike.accounts.list",
                "wrike.contacts.list",
                "wrike.folder.tree",
                "wrike.folder.get",
                "wrike.folder.delete",
                "wrike.folder.add",
                "wrike.folder.update",
                "wrike.task.add",
                "wrike.task.update",
                "wrike.task.get",
                "wrike.task.delete",
                "wrike.task.filter",
                "wrike.task.updates",
                "wrike.comment.list",
                "wrike.comment.add",
                "wrike.comment.delete",
                "wrike.comment.updates",
                "wrike.attachment.list",
                "wrike.attachment.upload",
                "wrike.attachment.history",
                "wrike.attachment.download",
                "wrike.timelog.list",
                "wrike.timelog.add",
                "wrike.timelog.delete",
                "wrike.timelog.filter"
              ],
              "contacts": [
                {
                  "uid": "iAVABdts0MxS",
                  "firstName": "FIRSTNAME",
                  "lastName": "LASTNAME",
                  "email": "wriketest@test.com"
                },
                {
                  "uid": "j62YMLoB8n9E",
                  "firstName": "FIRSTNAME1",
                  "lastName": "LASTNAME1",
                  "email": "wriketest+user1@test.com"
                },
                {
                  "uid": "HASRorcHoAj3",
                  "firstName": "FIRSTNAME2",
                  "lastName": "LASTNAME2",
                  "email": "wriketest+user2@test.com"
                }
              ]
            }
          ]
        }}
    

    Error Codes

    402: CREDENTIALS_ERROR
    Authorization failed. The passed signature was invalid.
  • contacts

    wrike.contacts.list (Deprecated)

    Get a list of contacts for the calling user.

    Authentication

    This method requires authentication.

    Arguments

    • [String] token (required)

    Response

    list of

    • [String] uid - user string identifier
    • [String] firstName - first name
    • [String] lastName - last name
    • [String] email - primary email of contact

    Examples

    {"contacts": {
      "list": [
        {
          "uid": "tOIaVUqrlsKQ",
          "firstName": "test",
          "lastName": "testforapi",
          "email": "testforapi@gmail.com"
        }
      ]
    }}
    

    Error Codes

    402: CREDENTIALS_ERROR
    Authorization failed. The passed signature was invalid.
  • folders

    Rules and specifications

    • A folder can be included in several parent folders. Each folder can contain an unlimited number of descendant folders and tasks. Thus, the structure of tasks and folders can be described as a Directed Acyclic Graph (DAG).
    • If a folder is included in the root folder, it cannot be included in any other folder.
    • A folder has no start date and due date.
    • A folder has no responsible users.
    • A folder has no status.
    • When you delete a folder, all its descendants (both tasks and folders) will be deleted as well, excluding those that are included in other folders.
    • In case you add or move a folder to other folders, all shared users from other folders will be added to the folder.

    wrike.folder.tree

    Get a list of all active folders of the calling user.

    Authentication

    This method requires authentication.

    Arguments

    • [String] token (required)
    • [Boolean] includeChilds (optional) (default true) - show all descendants, or only the first layer of folders
    • [Integer] parentId (optional) (default Root Folder) - show descendants from this folder.
    • [Integer] account (optional) - id of the account
    • [String] asyncKey (optional)

    Response (list)

    • [String] id - folder id
    • [String] parentId - parent folder id,
    • [String] accountId - account id,
    • [String] title - folder title
    • [String] fullPath - full path to the folder from this root.
    • [String] minimalPath - unique minimal path to this folder.
    • [String] idPath - folder ids path from root,

    Examples

    {"foldersTree": {
        "folders": [
        {
          "id": "0",
          "parentId": "0",
          "accountId": -1,
          "title": "/",
          "fullPath": "/",
          "minimalPath": "/"
          "idPath": "/368196"
        },
        {
          "id": "284064",
          "parentId": "0",
          "accountId": -1,
          "title": "spool",
          "fullPath": "/spool",
          "minimalPath": "spool"
          "idPath": "/368196"
        },
        {
          "id": "368196",
          "parentId": "284064",
          "accountId": -1,
          "title": "test",
          "fullPath": "/spool/test",
          "minimalPath": "test"
          "idPath": "/368196"
        }
      ]
    }}
    

    Error Codes

    402: CREDENTIALS_ERROR
    Authorization failed. The passed signature was invalid.
    406: ACCESS_ERROR
    Parent folder with given id not found in the calling user’s folder scope.

    wrike.folder.get

    Get folder data.

    Authentication

    This method requires authentication.

    Arguments

    • [String] token (required)
    • [Integer] id (required) - folder ID
    • [String] asyncKey (optional)

    Response

    • [Integer] - folder ID
    • [String] - folder title
    • [String] - folder description
    • [String] - folder author UID, (“-1” in case the author was deleted)
    • [String] createdDate - creation date
    • [String] whoChanged - UID of the user who made the last modification, (“-1” in case the user was deleted)
    • [String] lastUpdatedDate - date of the last modification
    • [Long] attachmentsCount - count of attachments
    • [Long] commentsCount - count of comments
    • [List <String>] sharedUsers - list of UIDs of users who share the folder
    • [List <String>] parents - list of parent folders IDs. (“0” - means Root Folder)
    • [boolean] deleted - only in case the folder was deleted

    Examples

    {"folder": {
      "id": 284064,
      "title": "spool",
      "description": "Description of my first project",
      "authorUid": "GCG7DDZ4Q1ic",
      "createdDate": "2009-06-05 11:50:51.723",
      "whoChanged": "OYgzyijdAo5Q",
      "lastUpdatedDate": "2010-11-17 17:05:16.239",
      "attachmentsCount": 1,
      "commentsCount": 2,
      "sharedUsers": [
        "OYgzyijdAo5Q"
      ],
      "parents": [
        "0"
      ],
      "asyncKey": "123654"
    }}
    

    Error Codes

    402: CREDENTIALS_ERROR
    Authorization failed. The passed signature was invalid.
    403: MISSING_REQUIRED_PARAMETER
    Missing required parameter: id
    405: LIMITATION_ERROR
    'Get' operation is forbidden for 'RootFolder' (id = 0)
    406: ACCESS_ERROR
    The folder with given id not found in the calling user’s folder scope.

    wrike.folder.add

    Add a new folder.

    Authentication

    This method requires authentication.

    Arguments

    • [String] token (required)
    • [String] title (required) - folder title
    • [String] description (optional) - folder description
    • [List <String>] sharedUsers (optional)- user UIDs. (IDs are separated by a comma.)
    • [List <String>] parents (optional)- parent folders’ IDs (IDs are separated by a comma.) (In case the parents are not specified - the folder is added to the root)
    • [Integer] account (optional) - id of the account
    • [String] asyncKey (optional)

    Response

    • [Integer] id- folder ID
    • [String] title - folder title
    • [String] description - folder description
    • [String] authorUid - folder author UID, (“-1” in case the author was deleted)
    • [String] createdDate - creation date
    • [String] whoChanged - UID of the user who made the last modification, (“-1” in case the user was deleted)
    • [String] lastUpdatedDate - date of the last modification
    • [Long] attachmentsCount - count of attachments
    • [Long] commentsCount - count of comments
    • [List <String>] sharedUsers - list of UIDs of users who share the folder
    • [List <String>] parents - list of parent folders’ IDs. (“0” - means Root Folder)
    • [boolean] deleted - only in case the folder was deleted
    • [String] asyncKey (optional)

    Examples

    {"folder": {
      "id": 371956,
      "title": "test new folder 1290122316635",
      "description": "test description,
      "authorUid": "OYgzyijdAo5Q",
      "createdDate": "2010-11-19 01:19:07.204",
      "whoChanged": "OYgzyijdAo5Q",
      "lastUpdatedDate": "2010-11-19 01:19:07.213",
      "attachmentsCount": 0,
      "commentsCount": 0,
      "sharedUsers": [
        "N5L9OlSRomRp",
        "OYgzyijdAo5Q"
      ],
      "parents": [
        "0"
      ]
    }}
    

    Error Codes

    402: CREDENTIALS_ERROR
    Authorization failed. The passed signature was invalid.
    403: MISSING_REQUIRED_PARAMETER
    Missing required parameter: title.
    405:LIMITATION_ERROR
    The calling user has a Viewer license.
    406: ACCESS_ERROR
    The folder with given id not found in the calling user’s folder scope.
    407:APPLICATION_ERROR
    Message of exception occurred during the execution of the method.

    wrike.folder.delete

    Delete folders and all descendants.

    Authentication

    This method requires authentication.

    Arguments

    • [String] token (required)
    • [Integer] ids (required) folders’ IDs (IDs are separated by a comma.)
    • [String] asyncKey (optional)

    Response (list)

    • [Integer] id - folder ID
    • [String] title - folder title
    • [boolean] deleted
    • [List <String>] deletedElements - all elements (folders and tasks) which were deleted
    • [String] asyncKey (optional)

    Examples

    {"folders": {
      "asyncKey": "123456",
      "list": [
        {
          "id": 373879,
          "title": "test_new_folder1290129095442",
          "deleted": true,
          "deletedElements": "373879"
        }
      ]
    }}
    

    Error Codes

    402: CREDENTIALS_ERROR
    Authorization failed. The passed signature was invalid.
    403: MISSING_REQUIRED_PARAMETER
    Missing required parameter: id or title
    405:LIMITATION_ERROR
    The calling user has a Viewer license
    406: ACCESS_ERROR
    The folder with given id not found in the calling user’s folder scope.
    407:APPLICATION_ERROR
    Message of exception occurred during the execution of the method.

    wrike.folder.update

    Update a folder.

    Authentication

    This method requires authentication.

    Arguments

    • [String] token (required)
    • [Integer] id ( Required ) folder ID
    • [String] title (required) - folder title
    • [String] description (optional) - folder description
    • [List <String>] sharedUsers (optional)- user UIDs. (IDs are separated by a comma.)
    • [List <String>] parents (optional)- parent folders’ IDs (IDs are separated by a comma.) (In case the parents are not specified - the folder is added to the root)
    • [String] asyncKey (optional)

    Response

    • [Integer] id - folder ID
    • [String] title - folder title
    • [String] description - folder description
    • [String] authorUid - folder author UID, (“-1” in case the author was deleted)
    • [String] createdDate - creation date
    • [String] whoChanged - UID of the user who made the last modification, (“-1” in case the user was deleted)
    • [String] lastUpdatedDate - date of last modification
    • [Long] attachmentsCount - count of attachments
    • [Long] commentsCount - count of comments
    • [List <String>] sharedUsers - list of UIDs of users who share the folder
    • [List <String>] parents - list of parent folders’ IDs. (“0” - means Root Folder)
    • [boolean] deleted - only in case the folder was deleted
    • [String] asyncKey (optional)

    Examples

    {"folder": {
      "id": 371915,
      "title": "test_new_folder_updated1290122347300",
      "description": "description_updated1290122347300",
      "authorUid": "OYgzyijdAo5Q",
      "createdDate": "2010-11-19 01:19:02.864",
      "whoChanged": "OYgzyijdAo5Q",
      "lastUpdatedDate": "2010-11-19 01:20:33.607",
      "attachmentsCount": 0,
      "commentsCount": 0,
      "sharedUsers": [
        "GCG7DDZ4Q1ic",
        "OYgzyijdAo5Q"
      ],
      "parents": [
        "284064"
      ],
      "asyncKey": "123654"
    }}
    

    Error Codes

    402: CREDENTIALS_ERROR
    Authorization failed. The passed signature was invalid.
    403: MISSING_REQUIRED_PARAMETER
    Missing required parameter: id or title.
    405:LIMITATION_ERROR
    The calling user has a Viewer license or RootFolder cannot be updated or update operation is forbidden for deleted folder.
    406: ACCESS_ERROR
    The folder with given id not found in the calling user’s folder scope.
    407:APPLICATION_ERROR
    Message of exception occurred during the execution of the method.
  • tasks

    Rules and specifications

    • A task can be included in several parent folders.
    • A task cannot be simultaneously included in the root and the parent folder.

    Statuses

    • 0 - active
    • 1 - completed
    • 2 - deferred
    • 3 - canceled

    Importance

    • 0 - high
    • 1 - normal
    • 2 - low

    Dates and duration

    • backlog - no start date, no due date, duration
    • milestone - no start date, no duration, only due date
    • planned - start date, due date, duration

    wrike.task.get

    Get task data.

    Authentication

    This method requires authentication.

    Arguments

    • [String] token (required)
    • [Integer] id (required) - task ID
    • [List <String>] fields (Optional) - task’s fields in response
    • [String] asyncKey (optional)

    Response

    • [Integer] id - task ID
    • [String] title - task title
    • [String] description - task description
    • [String] authorUid - task author UID, (“-1” in case the author was deleted)
    • [String] createdDate - creation date
    • [String] whoChanged - UID of the user who made the last modification, (“-1” in case the user was deleted)
    • [String] lastUpdatedDate - date of the last modification
    • [Long] attachmentsCount - count of attachments
    • [Long] commentsCount - count of comments
    • [List <String>] responsibleUsers - list of UIDs of users responsible for the task
    • [List <String>] sharedUsers - list of UIDs of users who share the task
    • [List <String>] parents - list of parent folders’ IDs. (“0” - means Root Folder)
    • [boolean] deleted - only in case the task was deleted
    • [Integer] status - task’s status
    • [Integer] importance - task’s importance
    • [Date] startDate
    • [Date] dueDate
    • [String] duration
    • [List <Integer>]predecessor - predecessor IDs
    • [List <Integer>]successor - successor IDS
    • [String] asyncKey (optional)

    Examples

    {"task": {
      "id": 369812,
      "title": "The task name",
      "description": "",
      "authorUid": "9zuLfzS9mEUm",
      "importance": 1,
      "startDate": "2010-11-05 00:00:00.0",
      "dueDate": "2010-11-25 00:00:00.0",
      "duration": "6720",
      "commentsCount": 0,
      "responsibleUsers": [
        "9zuLfzS9mEUm"
      ],
      "parents": [
        "354504"
      ]
    }}
    

    Error Codes

    402: CREDENTIALS_ERROR
    Authorization failed. The passed signature was invalid.
    403: MISSING_REQUIRED_PARAMETER
    Missing required parameter: id.
    406: ACCESS_ERROR
    The task with given id not found in the calling user’s folder scope.

    wrike.task.filter

    Get tasks by filter or template.

    Authentication

    This method requires authentication.

    Arguments

    • main arguments
      • [String] token (required)
      • [List <String>] fields (Optional) - task’s fields in response
      • [String] asyncKey (optional)
      • [Integer] limit (Optional) - number of tasks in response
      • [Integer] offset(Optional) - number of tasks to skip before returning a response
    • template argument (Optional)
      • [String] template (Optional) - template name + responsibility. (template names - completed|overdue|today|thisweek)(responsibility - author by default or resp) (example “template=today:resp” or “template=today”)
        • overdue - where (dueDate >= today00), relationType (author|resp), order by (importance,dueDate,title)
        • today - where ( start_date < tomorrow_00) && due_date >= today_00 || (start_date is NULL && due_date >= today_00 && dueDate < tomorrow_00) ), relationType (author|resp), order by (dueDate,title)
        • thisweek - where ( start_date >= tomorrow_00 && start_date < today_00+7days || (start_date is NULL && due_date >= tomorrow_00 && dueDate < today_00+7days) ), relationType (author|resp), order by (startDate,dueDate,title)
        • completed - where (status = 1), relationType (author|resp), order by (dueDate,title)
    • filter arguments (Optional)
      • [List<Integer> ] ids] - list of task IDs
      • [String] title
      • [String] description - regexp
      • [List<String>] authors[uid,..],
      • [List<Integer>] parents - 0 (Root Folder) or list of parent IDs
      • [List<Integer>] statuses
      • [Date] fromStartDate,
      • [Date] toStartDate,
      • [boolean]includeNullStartDate,
      • [Date] fromDueDate,
      • [Date] toDueDate,
      • [Boolean]includeNullDueDate
      • [List<Integer>] relationType 0 - author,1 - responsible, 2 shared (by default all - 0,1,2)
      • [List<String:String>] orderBy - fields + asc/desc which used in order by

    Response

    • [Integer] id - task ID
    • [String] title - task title
    • [String] description - task description
    • [String] authorUid - task author UID, (“-1” in case the author was deleted)
    • [String] createdDate - creation date
    • [String] whoChanged - UID of the user who made the last modification, (“-1” in case the user was deleted)
    • [String] lastUpdatedDate - date of the last modification
    • [Long] attachmentsCount - count of attachments
    • [Long] commentsCount - count of comments
    • [List <String>] responsibleUsers - list of UIDs of users responsible for the task
    • [List <String>] sharedUsers - list of UIDs of users who share the task
    • [List <String>] parents - list of parent folders’ IDs. (“0” - means Root Folder)
    • [boolean] deleted - only in case the task was deleted
    • [Integer] status - task’s status
    • [Integer] importance - task’s importance
    • [Date] startDate
    • [Date] dueDate
    • [String] duration
    • [List <Integer>]predecessor - predecessor IDs
    • [List <Integer>]successor - successor IDS
    • [String] asyncKey (optional)
    • [Long] tLast - marker of this request. Used in wrike.get.updates

    Examples

    Example 1
    {"filteredListCount": {
      "tLast": 1290072477305,
      "count": 52
    }}
    
    Example 2
    {"filteredList": {
      "tLast": 1290072853886,
      "list": [
        {
          "id": 369669,
          "authorUid": "9zuLfzS9mEUm",
          "status": 0,
          "startDate": "2010-11-01 00:00:00.0",
          "dueDate": "2010-11-22 00:00:00.0",
          "responsibleUsers": [
            "9zuLfzS9mEUm"
          ]
        },
        {
          "id": 369812,
          "authorUid": "9zuLfzS9mEUm",
          "status": 0,
          "startDate": "2010-11-05 00:00:00.0",
          "dueDate": "2010-11-25 00:00:00.0",
          "responsibleUsers": [
            "9zuLfzS9mEUm"
          ]
        },
        {
          "id": 369892,
          "authorUid": "9zuLfzS9mEUm",
          "status": 0,
          "startDate": "2010-11-15 09:00:00.0",
          "dueDate": "2010-12-06 17:00:00.0",
          "responsibleUsers": [
            "9zuLfzS9mEUm",
            "0n5ATyHaSls6"
          ]
        }
      ]
    }}
    

    Error Codes

    402: CREDENTIALS_ERROR
    Authorization failed. The passed signature was invalid.
    403: MISSING_REQUIRED_PARAMETER
    Missing required parameter: id.
    406: ACCESS_ERROR
    The task with given id not found in the calling user’s folder scope.

    wrike.task.updates

    Get task updates by since last tLast.

    Authentication

    This method requires authentication.

    Arguments

    • [String] token (required)
    • [Long] tLast (required) - previous response marker
    • [String] fields (Optional) - task’s fields in response
    • [String] asyncKey (Optional)
    • [Integer] limit (Optional) - number of tasks in response
    • [Integer] offset(Optional) - number of skipping tasks before beginning to return response
    • [List<String:String>] orderBy (Optional) - fields + asc/desc which used in order by

    Response list

    • [Integer] id - task ID
    • [String] title - task title
    • [String] description - task description
    • [String] authorUid - task author UID, (“-1” in case the author was deleted)
    • [String] createdDate - creation date
    • [String] whoChanged - UID of the user who made the last modification, (“-1” in case the user was deleted)
    • [String] lastUpdatedDate - date of the last modification
    • [Long] attachmentsCount - count of attachments
    • [Long] commentsCount - count of comments
    • [List<String>] responsibleUsers - list of UIDs of users responsible for the task
    • [List<String>] sharedUsers - list of UIDs of users who share the task
    • [List<String>] parents - list of parent folders’ IDs. (“0” - means Root Folder)
    • [boolean] deleted - only in case the task was deleted
    • [Integer] status - task‘s status
    • [Integer] importance - task‘s importance
    • [Date] startDate
    • [Date] dueDate
    • [String] duration
    • [List<Integer>]predecessor - predecessor IDs
    • [List<Integer>]successor - successor IDS
    • [String] asyncKey (optional)
    • [Long] tLast - time of request in ms. used in wrike.get.updates

    Examples

    {"taskUpdates": {
      "tLast": 1290968971559,
      "newTasks": [
      {
          "id": 380268,
          "title": "test_new_task1290968795877",
          "description": "description_for_task1290968795877",
          "authorUid": "OYgzyijdAo5Q",
          "createdDate": "2010-11-28 20:27:53.222",
          "whoChanged": "OYgzyijdAo5Q",
          "lastUpdatedDate": "2010-11-28 20:27:53.276",
          "type": "1",
          "status": 0,
          "importance": 1,
          "startDate": "",
          "dueDate": "",
          "duration": "1",
          "attachmentsCount": 0,
          "commentsCount": 0,
          "responsibleUsers": [
            "GCG7DDZ4Q1ic",
            "N5L9OlSRomRp",
            "t3acIwjcblNN",
            "7TndRrK3cqdk"
          ],
          "sharedUsers": [
            "GCG7DDZ4Q1ic",
            "N5L9OlSRomRp",
            "t3acIwjcblNN",
            "7TndRrK3cqdk",
            "OYgzyijdAo5Q"
          ],
          "parents": [
            "0"
          ],
          "recurenceTemplate": "1",
          "predecessor": [
          ],
          "successor": [
          ]
        }
      ],
      "updatedTasks": [
        {
          "id": 380217,
          "title": "test_new_task_updated1290968884041",
          "description": "",
          "authorUid": "OYgzyijdAo5Q",
          "createdDate": "2010-11-28 20:27:14.19",
          "whoChanged": "OYgzyijdAo5Q",
          "lastUpdatedDate": "2010-11-28 20:29:31.395",
          "type": "1",
          "status": 0,
          "importance": 1,
          "startDate": "2010-01-01 09:00:00.0",
          "dueDate": "2010-01-04 18:00:00.0",
          "duration": "1020",
          "attachmentsCount": 0,
          "commentsCount": 0,
          "responsibleUsers": [
            "N5L9OlSRomRp"
          ],
          "sharedUsers": [
            "GCG7DDZ4Q1ic",
            "N5L9OlSRomRp",
            "t3acIwjcblNN",
            "7TndRrK3cqdk",
            "OYgzyijdAo5Q"
          ],
          "parents": [
            "284064"
          ],
          "recurenceTemplate": "1",
          "predecessor": [
          ],
          "successor": [
          ]
        }
      ],
      "deletedTasks": [
      ]
    }}
    

    Error Codes

    402: CREDENTIALS_ERROR
    Authorization failed. The passed signature was invalid.
    406: ACCESS_ERROR
    The task with given id not found in the calling user’s folder scope.

    wrike.task.add

    Add a new task.

    Authentication

    This method requires authentication.

    Arguments

    • [String] token (required)
    • [String] title ( Required )
    • [String] description (optional)
    • [Integer] status (optional)- by default - active
    • [Integer]importance (optional)- by default - normal
    • [Date]startDate(optional) - date format is "yyyy-MM-dd'T'HH:mm:ss" i.e. "2013-01-01T09:00:00"
    • [Date]dueDate(optional) - date format is "yyyy-MM-dd'T'HH:mm:ss" i.e. "2013-01-01T20:00:00"
    • [String]duration (optional)
    • [List <String>]responsibleUsers(optional)
    • [List <String>]sharedUsers(optional)
    • [List <Integer>]parents (optional)- parent folders’ IDs, by default - root folder
    • [Integer] account (optional) - id of the account
    • [String] asyncKey (optional)

    Response

    • [Integer] id - task ID
    • [String] title - task title
    • [String] description - task description
    • [String] authorUid - task author UID, (“-1” in case the author was deleted)
    • [String] createdDate - creation date
    • [String] whoChanged - UID of the user who made the last modification, (“-1” in case the user was deleted)
    • [String] lastUpdatedDate - date of the last modification
    • [Long] attachmentsCount - count of attachments
    • [Long] commentsCount - count of comments
    • [List <String>] responsibleUsers - list of UIDs of users responsible for the task
    • [List <String>] sharedUsers - list of UIDs of users who share the task
    • [List <String>] parents - list of parent folders’ IDs. (“0” - means Root Folder)
    • [boolean] deleted - only in case the task was deleted
    • [Integer] status - task’s status
    • [Integer] importance - task’s importance
    • [Date] startDate
    • [Date] dueDate
    • [String] duration
    • [String] asyncKey (optional)

    Examples

    {"task": {
      "id": 370464,
      "title": "The task name",
      "description": "",
      "authorUid": "9zuLfzS9mEUm",
      "createdDate": "2010-11-18 12:18:58.405",
      "whoChanged": "9zuLfzS9mEUm",
      "lastUpdatedDate": "2010-11-18 12:18:58.43",
      "type": "task",
      "status": 0,
      "importance": 1,
      "startDate": "2010-11-18 00:00:00.0",
      "dueDate": "2010-11-18 00:00:00.0",
      "duration": "0",
      "attachmentsCount": 0,
      "commentsCount": 0,
      "responsibleUsers": [
    	"9zuLfzS9mEUm"
      ],
      "sharedUsers": [
    	"9zuLfzS9mEUm"
      ],
      "parents": [
    	"354504"
      ],
      "recurenceTemplate": "",
      "predecessor": [
      ],
      "successor": [
      ]
    }}
    

    Error Codes

    402: CREDENTIALS_ERROR
    Authorization failed. The passed signature was invalid.
    403: MISSING_REQUIRED_PARAMETER
    Missing required parameter: title.
    405:LIMITATION_ERROR
    The calling user has a Viewer license.
    406: ACCESS_ERROR
    The task with given id not found in the calling user’s task scope.
    407:APPLICATION_ERROR
    Message of exception occurred during the execution of the method.

    wrike.task.update

    Update an existing task.

    Authentication

    This method requires authentication.

    Arguments

    • [String] token (required)
    • [Integer] id ( Required )
    • [String] title ( Required )
    • [String] description (optional)
    • [Integer] status (optional)- by default - active
    • [Integer]importance (optional)- by default - normal
    • [Date]startDate(optional) - date format is "yyyy-MM-dd'T'HH:mm:ss" i.e. "2013-01-01T09:00:00"
    • [Date]dueDate(optional) - date format is "yyyy-MM-dd'T'HH:mm:ss" i.e. "2013-01-01T20:00:00"
    • [String]duration (optional)
    • [List <String>]responsibleUsers(optional)
    • [List <String>]sharedUsers(optional)
    • [List <Integer>]parents (optional)- parent folders’ IDs, by default - root folder
    • [String] asyncKey (optional)

    Response

    • [Integer] id - task ID
    • [String] title - task title
    • [String] description - task description
    • [String] authorUid - task author UID, (“-1” in case the author was deleted)
    • [String] createdDate - creation date
    • [String] whoChanged – UID of the user who made the last modification, (“-1” in case the user was deleted)
    • [String] lastUpdatedDate - date of the last modification
    • [Long] attachmentsCount - count of attachments
    • [Long] commentsCount - count of comments
    • [List <String>] responsibleUsers - list of UIDs of users who are responsible for the task
    • [List <String>] sharedUsers - list of UIDs of users who share the task
    • [List <String>] parents - list of parent folders’ IDs. (“0” - means Root Folder)
    • [boolean] deleted - only in case the task was deleted
    • [Integer] status - task’s status
    • [Integer] importance - task’s importance
    • [Date] startDate
    • [Date] dueDate
    • [String] duration
    • [String] asyncKey (optional)

    Examples

    {"task": {
      "id": 369812,
      "title": "The task name",
      "description": "",
      "authorUid": "9zuLfzS9mEUm",
      "createdDate": "2010-11-11 18:09:00.556",
      "whoChanged": "9zuLfzS9mEUm",
      "lastUpdatedDate": "2010-11-18 11:41:08.221",
      "type": "task",
      "status": 0,
      "importance": 1,
      "startDate": "2010-11-05 00:00:00.0",
      "dueDate": "2010-11-25 00:00:00.0",
      "duration": "6720",
      "attachmentsCount": 0,
      "commentsCount": 0,
      "responsibleUsers": [
    	"9zuLfzS9mEUm"
      ],
      "sharedUsers": [
    	"9zuLfzS9mEUm"
      ],
      "parents": [
    	"0"
      ],
      "recurenceTemplate": "",
      "predecessor": [
      ],
      "successor": [
      ]
    }}
    

    Error Codes

    402: CREDENTIALS_ERROR
    Authorization failed. The passed signature was invalid.
    403: MISSING_REQUIRED_PARAMETER
    Missing required parameter: id, title.
    405:LIMITATION_ERROR
    The calling user has a Viewer license.
    406: ACCESS_ERROR
    The task with given id not found in the calling user’s task scope.
    407:APPLICATION_ERROR
    Message of exception occurred during the execution of the method.

    wrike.task.delete

    Delete an existing task.

    Authentication

    This method requires authentication.

    Arguments

    • [String] token (required)
    • [List <Integer>] ids ( Required )
    • [String] asyncKey (optional)

    Response

    • [Integer] id - task ID
    • [String] title - task title
    • [Boolean] deleted
    • [String] asyncKey (optional)

    Examples

    {"tasks": {
      "asyncKey": "123456",
      "list": [
        {
          "id": 377648,
          "title": "test_new_task1290739828697",
          "deleted": true,
          "asyncKey": "123456"
        }
      ]
    }}
    

    Error Codes

    402: CREDENTIALS_ERROR
    Authorization failed. The passed signature was invalid.
    403: MISSING_REQUIRED_PARAMETER
    Missing required parameter: id, title.
    405:LIMITATION_ERROR
    The calling user has a Viewer license.
    406: ACCESS_ERROR
    The task with given id not found in the calling user’s task scope.
    407:APPLICATION_ERROR
    Message of exception occurred during the execution of the method.
  • comments

    wrike.comment.add

    Add a new comment to a task.

    Authentication

    This method requires authentication.

    Arguments

    • [String] token (required)
    • [Integer] taskId( required)
    • [String] text(required )
    • [String] asyncKey (optional)

    Response

    • [Integer] id - comment ID
    • [String] text - comment text
    • [Integer] taskId - task ID
    • [String] authorUid - comment author UID, (“-1” in case the author was deleted)
    • [String] createdDate - creation date
    • [boolean] deleted - only in case the comment was deleted
    • [List <Integer>] attachments - list of attachment IDs
    • [String] asyncKey (optional)

    Examples

    {"comment": {
      "id": 3577,
      "text": "this is comment",
      "authorUid": "9zuLfzS9mEUm",
      "taskId": 369812,
      "createdDate": "2010-11-18 11:37:00.417",
      "attachments": [
      ]
    }}
    

    Error Codes

    402: CREDENTIALS_ERROR
    Authorization failed. The passed signature was invalid.
    403: MISSING_REQUIRED_PARAMETER
    Missing required parameter: text or taskId.
    406: ACCESS_ERROR
    The task with given taskId not found in the calling user’s task scope.
    407:APPLICATION_ERROR
    Message of exception occurred during the execution of the method.

    wrike.comment.delete

    Delete a comment and comment attachments.

    Authentication

    This method requires authentication.

    Arguments

    • [String] token (required)
    • [List <Integer>] ids( required)

    Response (list)

    • [Integer] id - comment’s ID
    • [Integer] taskId - task’s ID
    • [boolean] deleted - only in case the comment was deleted
    • [String] asyncKey (optional)

    Examples

    {"comments": {
      "list": [
        {
          "id": 3488,
          "taskId": 380502,
          "deleted": true
        }
      ]
    }}
    

    Error Codes

    402: CREDENTIALS_ERROR
    Authorization failed. The passed signature was invalid.
    403: MISSING_REQUIRED_PARAMETER
    Missing required parameter: ids.
    407:APPLICATION_ERROR
    Message of exception occurred during the execution of the method.

    wrike.comment.update

    Update a comment.

    Authentication

    This method requires authentication.

    Arguments

    • [String] token (required)
    • [Integer] id( required)
    • [String] text(required )
    • [String] asyncKey (optional)

    Response

    • [Integer] id - comment ID
    • [String] text - comment text
    • [Integer] taskId - task ID
    • [String] authorUid - comment author UID, (“-1” in case the author was deleted)
    • [String] createdDate - creation date
    • [boolean] deleted - only in case the comment was deleted
    • [List <Integer>] attachments - list of attachment IDs
    • [String] asyncKey (optional)

    Examples

    {"comment": {
      "id": 3478,
      "text": "comment updated",
      "authorUid": "OYgzyijdAo5Q",
      "taskId": 380497,
      "createdDate": "2010-11-28 21:17:09.802",
      "attachments": [
      ],
      "asyncKey": "123456"
    }}
    

    Error Codes

    402: CREDENTIALS_ERROR
    Authorization failed. The passed signature was invalid.
    403: MISSING_REQUIRED_PARAMETER
    Missing required parameter: text or taskId.
    406: ACCESS_ERROR
    The comment with given id not found in the calling user’s task scope.
    407:APPLICATION_ERROR
    Message of exception occurred during the execution of the method.

    wrike.comment.list

    Get comment list for a task or get comment list by comment IDs.

    Authentication

    This method requires authentication.

    Arguments

    • [String] token (required)
    • [Integer] taskId or [List <Integer>] ids( required)
    • [String] asyncKey (optional)

    Response (list)

    • [Integer] id - comment ID
    • [String] text - comment text
    • [Integer] taskId - task ID
    • [String] authorUid - comment author UID, (“-1” in case the author was deleted)
    • [String] createdDate - creation date
    • [boolean] deleted - only in case the comment was deleted
    • [List <Integer>] attachments - list of attachment IDs
    • [String] asyncKey (optional)

    Examples

    {"comments": {
      "list": [
        {
          "id": 3510,
          "text": "comment for task",
          "authorUid": "OYgzyijdAo5Q",
          "taskId": 380513,
          "createdDate": "2010-11-28 21:53:23.528",
          "attachments": [
          ]
        },
        {
          "id": 3509,
          "text": "updated_comment for task",
          "authorUid": "OYgzyijdAo5Q",
          "taskId": 380513,
          "createdDate": "2010-11-28 21:53:23.439",
          "attachments": [
          ]
        }
      ]
    }}
    

    Error Codes

    402: CREDENTIALS_ERROR
    Authorization failed. The passed signature was invalid.
    403: MISSING_REQUIRED_PARAMETER
    Missing required parameter: ids or taskID.
    406: ACCESS_ERROR
    The task with given taskId not found in the calling user’s task scope.
    407:APPLICATION_ERROR
    Message of exception occurred during the execution of the method.

    wrike.comment.updates

    Get new, updated, deleted comments lists since tLast.

    Authentication

    This method requires authentication.

    Arguments

    • [String] token (required)
    • [Long]tLast( required)
    • [String] asyncKey (optional)

    Response (“newComments” list, “updatedComments” list, “deletedComments” list)

    • [Integer] id - comment ID
    • [String] text - comment text
    • [Integer] taskId - task ID
    • [String] authorUid - comment author UID, (“-1” in case the author was deleted)
    • [String] createdDate - creation date
    • [boolean] deleted - only in case the comment was deleted
    • [List <Integer>] attachments - list of attachment IDs
    • [String] asyncKey (optional)

    Examples

    {"commentsUpdates": {
      "tLast": 1290976320985,
      "newComments": [
        {
          "id": 3542,
          "text": "comments_for_task1290976319473",
          "authorUid": "OYgzyijdAo5Q",
          "taskId": 380529,
          "createdDate": "2010-11-28 22:31:59.697",
          "attachments": [
          ]
        }
      ],
      "updatedComments": [
      ],
      "deletedComments": [
        {
          "id": 3541,
          "text": "comments_updated_for_task1290976319742",
          "authorUid": "OYgzyijdAo5Q",
          "taskId": 380529,
          "createdDate": "2010-11-28 22:31:59.595",
          "attachments": [
          ],
          "deleted": true,
          "deletedDate": "2010-11-28 22:32:00.527"
        }
      ]
    }}
    

    Error Codes

    402: CREDENTIALS_ERROR
    Authorization failed. The passed signature was invalid.
    403: MISSING_REQUIRED_PARAMETER
    Missing required parameter: tLast.
    407:APPLICATION_ERROR
    Message of exception occurred during the execution of the method.
  • attachments

    wrike.attachment.list

    Get attachment list for tasks.

    Authentication

    This method requires authentication.

    Arguments

    • [String] token (required)
    • [List <Integer>] taskIds ( required)
    • [String] asyncKey (optional)

    Response (list)

    • [Integer] id - attachment ID
    • [Integer] taskId - task ID
    • [String] fileName - file name
    • [[String] authorUid - attachment author UID, (“-1” in case the author was deleted)
    • [String] createdDate - creation date
    • [Integer] version
    • [Long] size
    • [String] contentType
    • [String] url - url to attachment
    • [boolean] deleted - only in case the attachment was deleted
    • [String] asyncKey (optional)

    Examples

    {"attachments": {
      "list": [
        {
          "taskId": 284064,
          "list": [
            {
              "id": 25053,
              "fileName": "33.JPG",
              "taskId": 284064,
              "createdDate": "2010-11-17 17:05:13.154",
              "authorUid": "OYgzyijdAo5Q",
              "version": 1,
              "size": 99743,
              "contentType": "image/jpeg"
            }
          ]
        }
      ]
    }}
    

    Error Codes

    402: CREDENTIALS_ERROR
    Authorization failed. The passed signature was invalid.
    403: MISSING_REQUIRED_PARAMETER
    Missing required parameter: taskIds.
    406: ACCESS_ERROR
    The task with given taskId not found in the calling user’s task scope.
    407:APPLICATION_ERROR
    Message of exception occurred during the execution of the method.

    wrike.attachment.upload

    Upload attachment for specified task.

    Get request only.

    Content-type = "multipart/form-data"

    Authentication

    This method requires authentication.

    Arguments

    • [String] token (required)
    • [Integer] taskId (required)
    • binary stream (required)
    • [String] asyncKey (optional)

    Response (list)

    • [Integer] id - attachment ID
    • [Integer] taskId - task ID
    • [String] fileName - file name
    • [[String] authorUid - attachment author UID, (“-1” in case the author was deleted)
    • [String] createdDate - creation date
    • [Integer] version
    • [Long] size
    • [String] contentType
    • [String] url - url to attachment
    • [boolean] deleted - only in case the attachment was deleted
    • [String] asyncKey (optional)

    Examples

    {"attachment":
            {
              "id": 25053,
              "fileName": "33.JPG",
              "taskId": 284064,
              "createdDate": "2010-11-17 17:05:13.154",
              "authorUid": "OYgzyijdAo5Q",
              "version": 1,
              "size": 99743,
              "url": "https://www.wrike.com/attachments/1234/TestFile.txt",
              "contentType": "image/jpeg"
            }
    }
    

    Error Codes

    402: CREDENTIALS_ERROR
    Authorization failed. The passed signature was invalid.
    403: MISSING_REQUIRED_PARAMETER
    Missing required parameter: taskIds.
    406: ACCESS_ERROR
    The task with given taskId not found in the calling user’s task scope.
    407:APPLICATION_ERROR
    Message of exception occurred during the execution of the method.

    wrike.attachment.history

    Get attachment history.

    Authentication

    This method requires authentication.

    Arguments

    • [String] token (required)
    • [Integer] id ( required)
    • [String] asyncKey (optional)

    Response (list)

    • [Integer] id - attachment ID
    • [Integer] taskId - task ID
    • [String] fileName - file name
    • [String] authorUid - comment author UID, (“-1” in case the author was deleted)
    • [String] createdDate - creation date
    • [Integer] version
    • [Long] size
    • [String] contentType
    • [String] url - url to attachment
    • [boolean] deleted - only in case the attachment was deleted
    • [String] asyncKey (optional)

    Examples

    {"attachments": {
      "list": [
        {
          "id": 25053,
          "taskId": 284064,
          "fileName": "33.JPG",
          "createdDate": "2010-11-17 17:05:13.154",
          "authorUid": "OYgzyijdAo5Q",
          "version": 1,
          "size": 99743,
          "contentType": "image/jpeg"
        },
        {
          "id": 25054,
          "taskId": 284064,
          "fileName": "sudokuboom.gadget",
          "createdDate": "2010-11-29 02:12:24.811",
          "authorUid": "OYgzyijdAo5Q",
          "version": 2,
          "size": 10337,
          "contentType": "application/octet-stream"
        }
      ]
    }}
    

    Error Codes

    402: CREDENTIALS_ERROR
    Authorization failed. The passed signature was invalid.
    403: MISSING_REQUIRED_PARAMETER
    Missing required parameter: id.
    406: ACCESS_ERROR
    The task with given taskId not found in the calling user’s task scope.
    407:APPLICATION_ERROR
    Message of exception occurred during the execution of the method.

    wrike.attachment.download

    Get file binary stream.

    Authentication

    This method requires authentication.

    Arguments

    • [String] token (required)
    • [Integer] id (required) attachment id

    Response (list)

    • binary stream

    Error Codes

    402: CREDENTIALS_ERROR
    Authorization failed. The passed signature was invalid.
    403: MISSING_REQUIRED_PARAMETER
    Missing required parameter: id.
    406: ACCESS_ERROR
    The task with given attachment id not found in the calling user’s task scope.
    407:APPLICATION_ERROR
    Message of exception occurred during the execution of the method.
  • time logs

    wrike.timelog.list

    Get a time log for a task.

    Authentication

    This method requires authentication.

    Arguments

    • [String] token (required)
    • [Integer] taskId (optional) – in case the task ID missed, all time logs of the called user will be in response.
    • [String] asyncKey (optional)

    Response (list)

    • [Integer] id – time log ID
    • [String] userUid – time log user UID, (“-1” in case the author was deleted)
    • [Integer] taskId - task ID
    • [Date] date,
    • [Double] hours
    • [String] comment
    • [String] asyncKey (optional)

    Examples

    {"timelogs": {
      "asyncKey": "123456",
      "list": [
        {
          "id": 2466,
          "userUid": "OYgzyijdAo5Q",
          "taskId": 380572,
          "date": "2010-11-30 00:00:00.0",
          "hours": 10.0,
          "comment": "by admin"
        },
        {
          "id": 2467,
          "userUid": "OYgzyijdAo5Q",
          "taskId": 380572,
          "date": "2010-11-30 00:00:00.0",
          "hours": 2.1,
          "comment": "by admin"
        },
      ]
    }}
    

    Error Codes

    402: CREDENTIALS_ERROR
    Authorization failed. The signature was invalid.
    403: MISSING_REQUIRED_PARAMETER
    Missing required parameter: task ID .
    406: ACCESS_ERROR
    The task with given task ID was not found in the calling user’s task scope.
    407:APPLICATION_ERROR
    Message of exception occurred during the execution of the method.

    wrike.timelog.filter

    Get time logs by filter

    Authentication

    This method requires authentication.

    Arguments

    • [String] token (required)
    • [List<Integer>] taskIds (optional) - list of task IDs – in case the taskIds missed, all time logs will be in response
    • [List<Integer>] timeEntryAuthors (optional) - list of user UIDs – in case the timeEntryAuthors missed, all time logs of the user in the account will be in response
    • [Date] fromDate (optional) in format 'yyyy-MM-dd'
    • [Date] toDate (optional) in format 'yyyy-MM-dd'
    • [String] asyncKey (optional)

    Response (list)

    • [Integer] id – time log ID
    • [String] userUid – time log user UID, (“-1” in case the author was deleted)
    • [Integer] taskId - task ID
    • [Date] date,
    • [Double] hours
    • [String] comment
    • [String] asyncKey (optional)

    Examples

    {"timelogs": {
      "asyncKey": "123456",
      "list": [
        {
          "id": 2466,
          "userUid": "OYgzyijdAo5Q",
          "taskId": 380572,
          "date": "2010-11-30 00:00:00.0",
          "hours": 10.0,
          "comment": "by admin"
        },
        {
          "id": 2467,
          "userUid": "OYgzyijdAo5Q",
          "taskId": 380572,
          "date": "2010-11-30 00:00:00.0",
          "hours": 2.1,
          "comment": "by admin"
        },
      ]
    }}
    

    Error Codes

    402: CREDENTIALS_ERROR
    Authorization failed. The signature was invalid.
    403: MISSING_REQUIRED_PARAMETER
    Missing required parameter: task ID .
    406: ACCESS_ERROR
    The task with given task ID was not found in the calling user’s task scope.
    407:APPLICATION_ERROR
    Message of exception occurred during the execution of the method.

    wrike.timelog.add

    Add a new time log to a task.

    Authentication

    This method requires authentication.

    Arguments

    • [String] token (required)
    • [Date] date (required) in format 'yyyy-MM-dd'
    • [Integer] taskId(required)
    • [Double] hours(required)
    • [String] comment (optional)
    • [String] asyncKey (optional)

    Response

    • [Integer] id – time log ID
    • [String] userUid – time log user UID, (“-1” in case the author was deleted)
    • [Integer] taskId - task ID
    • [Date] date
    • [Double] hours
    • [String] comment
    • [String] asyncKey (optional)

    Examples

    {"timelog": {
      "id": 2419,
      "userUid": "OYgzyijdAo5Q",
      "taskId": 380549,
      "date": "2010-11-30 00:00:00.0",
      "hours": 10.0,
      "comment": "by admin"
    }}
    

    Error Codes

    402: CREDENTIALS_ERROR
    Authorization failed. The signature was invalid.
    403: MISSING_REQUIRED_PARAMETER
    Missing required parameter: date or taskID or hours.
    406: ACCESS_ERROR
    The task with given task ID was not found in the calling user’s task scope.
    407:APPLICATION_ERROR
    Message of exception occurred during the execution of the method.

    wrike.timelog.delete

    Delete a time log from a task.

    Authentication

    This method requires authentication.

    Arguments

    • [String] token (required)
    • [List <Integer>] ids(required)
    • [String] asyncKey (optional)

    Response (list)

    • [Integer] id – time log ID
    • [String] userUid – time log user UID, (“-1” in case the author was deleted)
    • [Integer] taskId - task ID
    • [Date] date
    • [Double] hours
    • [String] comment
    • [boolean] deleted
    • [String] asyncKey (optional)

    Examples

    {"timelogs": {
      "list": [
        {
          "id": 2479,
          "userUid": "OYgzyijdAo5Q",
          "taskId": 380575,
          "date": "2010-11-30 00:00:00.0",
          "hours": 2.1,
          "comment": "by user A",
          "deleted": true
        }
      ]
    }}
    

    Error Codes

    402: CREDENTIALS_ERROR
    Authorization failed. The signature was invalid.
    403: MISSING_REQUIRED_PARAMETER
    Missing required parameter: IDs.
    406: ACCESS_ERROR
    The task with given task ID was not found in the calling user’s task scope.
    407:APPLICATION_ERROR
    Message of exception occurred during the execution of the method.