{"openapi":"3.1.0","info":{"title":"Wrike (BYOK) API","version":"0.1.0","description":"Wrike (BYOK) lets an AI assistant read your own Wrike data through the Wrike API with a key you supply (permanent access token). Read-only: 11 tools (get_account, get_me, list_contacts, list_spaces, list_folder_tree, list_projects, list_tasks, list_folder_tasks, get_task, list_task_comments, list_workflows). The BYOK key travels with each request, is used for that one call only and is never...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-wrike.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-wrike/docs"},"termsOfService":"https://connectorbay.com/byok-wrike/terms"},"servers":[{"url":"https://byok-wrike.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-wrike/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/get_account":{"post":{"operationId":"get_account","summary":"Show the Wrike account the token belongs to: name, subscription type and user limit, root folder and creation date. Work","description":"Show the Wrike account the token belongs to: name, subscription type and user limit, root folder and creation date. Works for accounts on the main (www.wrike.com) data center. Use for \"Which Wrike account is my token connected to\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_accountArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_me":{"post":{"operationId":"get_me","summary":"Show the Wrike contact of the user the token belongs to: name, type, primary email, title, time zone and account profile","description":"Show the Wrike contact of the user the token belongs to: name, type, primary email, title, time zone and account profile. Use for \"Who am I in Wrike\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"me":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":true,"description":"Keep true to return only your own contact.","title":"Me"}},"title":"get_meArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_contacts":{"post":{"operationId":"list_contacts","summary":"List the people and groups (contacts) in the Wrike account with name, type, primary email, title and whether they are de","description":"List the people and groups (contacts) in the Wrike account with name, type, primary email, title and whether they are deleted. IDs match task assignee and author ids. Use for \"Who are the people in my Wrike account\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only contacts whose name matches this text.","title":"Name"},"active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True for only active contacts, false for inactive ones.","title":"Active"},"deleted":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True to list deleted contacts instead.","title":"Deleted"}},"title":"list_contactsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_spaces":{"post":{"operationId":"list_spaces","summary":"List the Wrike spaces with title, access type, archived flag and description. Use for \"What spaces do we have in Wrike\".","description":"List the Wrike spaces with title, access type, archived flag and description. Use for \"What spaces do we have in Wrike\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"with_archived":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to include archived spaces.","title":"With Archived"},"user_is_member":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True to list only spaces you are a member of.","title":"User Is Member"},"title":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only spaces whose title contains this text.","title":"Title"}},"title":"list_spacesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_folder_tree":{"post":{"operationId":"list_folder_tree","summary":"List the Wrike folders and spaces as a tree of ids: title, parent-to-child ids and scope. Folder IDs are used by list_fo","description":"List the Wrike folders and spaces as a tree of ids: title, parent-to-child ids and scope. Folder IDs are used by list_folder_tasks. Use for \"What folders exist in my Wrike account\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_folder_treeArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_projects":{"post":{"operationId":"list_projects","summary":"List Wrike projects with title, status, owners, start and end dates and completion date. Use for \"What projects are runn","description":"List Wrike projects with title, status, owners, start and end dates and completion date. Use for \"What projects are running in Wrike and who owns them\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":true,"description":"Keep true to list only projects (false lists only plain folders).","title":"Project"},"title":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only folders or projects whose title contains this text.","title":"Title"},"page_size":{"anyOf":[{"maximum":200,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many results to return (1 to 200).","title":"Page Size"},"next_page_token":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Token for the next page: the nextPageToken value of the previous answer. Leave out for the first page.","title":"Next Page Token"}},"title":"list_projectsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_tasks":{"post":{"operationId":"list_tasks","summary":"Search Wrike tasks across the account with title, status, importance, dates, assignee and author ids and permalink. Filt","description":"Search Wrike tasks across the account with title, status, importance, dates, assignee and author ids and permalink. Filter by title, importance or type and sort by date or title. Use for \"Which high-importance tasks in Wrike were updated most recently\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"title":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only tasks whose title contains this text.","title":"Title"},"importance":{"anyOf":[{"enum":["High","Normal","Low"],"type":"string"},{"type":"null"}],"default":null,"description":"Only tasks with this importance: High, Normal or Low.","title":"Importance"},"type":{"anyOf":[{"enum":["Milestone","Backlog","Planned"],"type":"string"},{"type":"null"}],"default":null,"description":"Only this task type: Milestone, Backlog or Planned.","title":"Type"},"sort_field":{"anyOf":[{"enum":["Status","Importance","UpdatedDate","CreatedDate","Title","StartFinishInterval","DueDate","LastAccessDate","CompletedDate"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort by Status, Importance, UpdatedDate, CreatedDate, Title, StartFinishInterval, DueDate, LastAccessDate or CompletedDate.","title":"Sort Field"},"sort_order":{"anyOf":[{"enum":["Asc","Desc"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort order: Asc or Desc.","title":"Sort Order"},"sub_tasks":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True to include subtasks in the search.","title":"Sub Tasks"},"page_size":{"anyOf":[{"maximum":200,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many results to return (1 to 200).","title":"Page Size"},"next_page_token":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Token for the next page: the nextPageToken value of the previous answer. Leave out for the first page.","title":"Next Page Token"}},"title":"list_tasksArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_folder_tasks":{"post":{"operationId":"list_folder_tasks","summary":"List the Wrike tasks inside one folder or project with title, status, importance, dates and assignee ids. Use for \"What ","description":"List the Wrike tasks inside one folder or project with title, status, importance, dates and assignee ids. Use for \"What tasks are in this Wrike project\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"folder_id":{"description":"Wrike folder or project ID (like 'IEAAAAAQI4AAAAAA'), from list_folder_tree or list_projects.","maxLength":200,"title":"Folder Id","type":"string"},"descendants":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True to also include tasks of sub-folders.","title":"Descendants"},"title":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only tasks whose title contains this text.","title":"Title"},"importance":{"anyOf":[{"enum":["High","Normal","Low"],"type":"string"},{"type":"null"}],"default":null,"description":"Only tasks with this importance: High, Normal or Low.","title":"Importance"},"type":{"anyOf":[{"enum":["Milestone","Backlog","Planned"],"type":"string"},{"type":"null"}],"default":null,"description":"Only this task type: Milestone, Backlog or Planned.","title":"Type"},"sort_field":{"anyOf":[{"enum":["Status","Importance","UpdatedDate","CreatedDate","Title","StartFinishInterval","DueDate","LastAccessDate","CompletedDate"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort by Status, Importance, UpdatedDate, CreatedDate, Title, StartFinishInterval, DueDate, LastAccessDate or CompletedDate.","title":"Sort Field"},"sort_order":{"anyOf":[{"enum":["Asc","Desc"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort order: Asc or Desc.","title":"Sort Order"},"sub_tasks":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True to include subtasks in the search.","title":"Sub Tasks"},"page_size":{"anyOf":[{"maximum":200,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many results to return (1 to 200).","title":"Page Size"},"next_page_token":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Token for the next page: the nextPageToken value of the previous answer. Leave out for the first page.","title":"Next Page Token"}},"required":["folder_id"],"title":"list_folder_tasksArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_task":{"post":{"operationId":"get_task","summary":"Get one Wrike task: title, status, importance, dates, parent folders, assignees, authors and permalink. Use for \"Show me","description":"Get one Wrike task: title, status, importance, dates, parent folders, assignees, authors and permalink. Use for \"Show me the details of this Wrike task\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"task_id":{"description":"Wrike task ID (like 'IEAAAAAQIAAAAAAA'), from list_tasks or list_folder_tasks.","maxLength":200,"title":"Task Id","type":"string"}},"required":["task_id"],"title":"get_taskArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_task_comments":{"post":{"operationId":"list_task_comments","summary":"List the comments written on one Wrike task with author id, text and dates. Use for \"What comments are on this Wrike tas","description":"List the comments written on one Wrike task with author id, text and dates. Use for \"What comments are on this Wrike task\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"task_id":{"description":"Wrike task ID (like 'IEAAAAAQIAAAAAAA'), from list_tasks or list_folder_tasks.","maxLength":200,"title":"Task Id","type":"string"}},"required":["task_id"],"title":"list_task_commentsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_workflows":{"post":{"operationId":"list_workflows","summary":"List the account-wide Wrike workflows with their custom statuses. Custom status ids appear as customStatusId on tasks. U","description":"List the account-wide Wrike workflows with their custom statuses. Custom status ids appear as customStatusId on tasks. Use for \"What statuses can a Wrike task have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_workflowsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}