# MCP tool reference

1 callable tools.

Use tools/call at https://mcp.schedulerzero.com/mcp with the exact tool name and arguments below. The /tools/ paths in this view are documentation identifiers, not HTTP endpoints. Request execution is disabled for this reference.

Inputs are shown for personal API keys (bound) and for OAuth/delegated agents. Output schemas describe MCP structuredContent: native objects pass through; arrays, scalars and null use a data wrapper. Text content retains the native JSON result.

[Connect a client](/mcp/connect) · [Authentication and authorization](/authentication) · [Generated auth guide](/auth.md) · [Download tool catalog](/mcp-catalog.json) · [Agent documentation](/llms.txt)

## manage_api_key_grants

Rename one of the caller's personal API keys or replace its access: full account, or a restriction to chosen Organizations with Organization permissions plus selected-Workspace or all-Workspaces permissions.

Use after `read_api_key_issuance` when the person asks to narrow or change what a key can reach. A key never exceeds its owner's current permissions.

Does not return or rotate the secret. Agents and API keys may only narrow access; widening a key (or making it full-account) needs the person in the web app.

Obtain the user's explicit authorization before invoking a write or destructive action. This is a client interaction requirement, not a server-issued approval token.

Scopes: apiKey:update

Risk: security_admin; confirmation: explicit; idempotency: supported.

### Input schema (personal API key)

```json
{
  "type": "object",
  "properties": {
    "apiKeyId": {
      "type": "string",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
      "format": "uuid"
    },
    "name": {
      "$ref": "#/$defs/ShortText"
    },
    "description": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "access": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "type": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "full"
                  ]
                }
              ]
            }
          },
          "required": [
            "type"
          ],
          "patternProperties": {
            "^(?!(?:type)$)[\\s\\S]*$": false
          },
          "additionalProperties": true,
          "propertyNames": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "type"
                ]
              }
            ]
          }
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "restricted"
                  ]
                }
              ]
            },
            "organizations": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "organizationId": {
                    "type": "string",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
                    "format": "uuid"
                  },
                  "organizationPermissions": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 128
                    },
                    "maxItems": 100
                  },
                  "workspaces": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "workspaceId": {
                          "type": "string",
                          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
                          "format": "uuid"
                        },
                        "roles": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 512
                          },
                          "maxItems": 20
                        },
                        "permissions": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 128
                          },
                          "maxItems": 400
                        }
                      },
                      "required": [
                        "workspaceId",
                        "permissions"
                      ],
                      "patternProperties": {
                        "^(?!(?:workspaceId|roles|permissions)$)[\\s\\S]*$": false
                      },
                      "additionalProperties": true,
                      "propertyNames": {
                        "type": "string",
                        "enum": [
                          "workspaceId",
                          "roles",
                          "permissions"
                        ]
                      }
                    },
                    "maxItems": 500
                  },
                  "allWorkspaces": {
                    "type": "object",
                    "properties": {
                      "roles": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 512
                        },
                        "maxItems": 20
                      },
                      "permissions": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 128
                        },
                        "maxItems": 400
                      }
                    },
                    "required": [
                      "permissions"
                    ],
                    "patternProperties": {
                      "^(?!(?:roles|permissions)$)[\\s\\S]*$": false
                    },
                    "additionalProperties": true,
                    "propertyNames": {
                      "type": "string",
                      "enum": [
                        "roles",
                        "permissions"
                      ]
                    }
                  }
                },
                "required": [
                  "organizationId"
                ],
                "patternProperties": {
                  "^(?!(?:organizationId|organizationPermissions|workspaces|allWorkspaces)$)[\\s\\S]*$": false
                },
                "additionalProperties": true,
                "propertyNames": {
                  "type": "string",
                  "enum": [
                    "organizationId",
                    "organizationPermissions",
                    "workspaces",
                    "allWorkspaces"
                  ]
                }
              },
              "minItems": 1,
              "maxItems": 100
            }
          },
          "required": [
            "type",
            "organizations"
          ],
          "patternProperties": {
            "^(?!(?:type|organizations)$)[\\s\\S]*$": false
          },
          "additionalProperties": true,
          "propertyNames": {
            "type": "string",
            "enum": [
              "type",
              "organizations"
            ]
          }
        }
      ]
    }
  },
  "required": [
    "apiKeyId"
  ],
  "patternProperties": {
    "^(?!(?:apiKeyId|name|description|access)$)[\\s\\S]*$": false
  },
  "additionalProperties": true,
  "propertyNames": {
    "type": "string",
    "enum": [
      "apiKeyId",
      "name",
      "description",
      "access"
    ]
  },
  "$defs": {
    "ShortText": {
      "type": "string",
      "minLength": 1,
      "maxLength": 256
    }
  }
}
```

### Input schema (OAuth / delegated agent)

```json
{
  "type": "object",
  "properties": {
    "apiKeyId": {
      "type": "string",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
      "format": "uuid"
    },
    "name": {
      "$ref": "#/$defs/ShortText"
    },
    "description": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "access": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "type": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "full"
                  ]
                }
              ]
            }
          },
          "required": [
            "type"
          ],
          "patternProperties": {
            "^(?!(?:type)$)[\\s\\S]*$": false
          },
          "additionalProperties": true,
          "propertyNames": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "type"
                ]
              }
            ]
          }
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "restricted"
                  ]
                }
              ]
            },
            "organizations": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "organizationId": {
                    "type": "string",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
                    "format": "uuid"
                  },
                  "organizationPermissions": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 128
                    },
                    "maxItems": 100
                  },
                  "workspaces": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "workspaceId": {
                          "type": "string",
                          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
                          "format": "uuid"
                        },
                        "roles": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 512
                          },
                          "maxItems": 20
                        },
                        "permissions": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 128
                          },
                          "maxItems": 400
                        }
                      },
                      "required": [
                        "workspaceId",
                        "permissions"
                      ],
                      "patternProperties": {
                        "^(?!(?:workspaceId|roles|permissions)$)[\\s\\S]*$": false
                      },
                      "additionalProperties": true,
                      "propertyNames": {
                        "type": "string",
                        "enum": [
                          "workspaceId",
                          "roles",
                          "permissions"
                        ]
                      }
                    },
                    "maxItems": 500
                  },
                  "allWorkspaces": {
                    "type": "object",
                    "properties": {
                      "roles": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 512
                        },
                        "maxItems": 20
                      },
                      "permissions": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 128
                        },
                        "maxItems": 400
                      }
                    },
                    "required": [
                      "permissions"
                    ],
                    "patternProperties": {
                      "^(?!(?:roles|permissions)$)[\\s\\S]*$": false
                    },
                    "additionalProperties": true,
                    "propertyNames": {
                      "type": "string",
                      "enum": [
                        "roles",
                        "permissions"
                      ]
                    }
                  }
                },
                "required": [
                  "organizationId"
                ],
                "patternProperties": {
                  "^(?!(?:organizationId|organizationPermissions|workspaces|allWorkspaces)$)[\\s\\S]*$": false
                },
                "additionalProperties": true,
                "propertyNames": {
                  "type": "string",
                  "enum": [
                    "organizationId",
                    "organizationPermissions",
                    "workspaces",
                    "allWorkspaces"
                  ]
                }
              },
              "minItems": 1,
              "maxItems": 100
            }
          },
          "required": [
            "type",
            "organizations"
          ],
          "patternProperties": {
            "^(?!(?:type|organizations)$)[\\s\\S]*$": false
          },
          "additionalProperties": true,
          "propertyNames": {
            "type": "string",
            "enum": [
              "type",
              "organizations"
            ]
          }
        }
      ]
    }
  },
  "required": [
    "apiKeyId"
  ],
  "patternProperties": {
    "^(?!(?:apiKeyId|name|description|access)$)[\\s\\S]*$": false
  },
  "additionalProperties": true,
  "propertyNames": {
    "type": "string",
    "enum": [
      "apiKeyId",
      "name",
      "description",
      "access"
    ]
  },
  "$defs": {
    "ShortText": {
      "type": "string",
      "minLength": 1,
      "maxLength": 256
    }
  }
}
```

### Output schema (structuredContent)

```json
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
      "format": "uuid"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "description": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 1000
        },
        {
          "type": "null"
        }
      ]
    },
    "access": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "type": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "full"
                  ]
                }
              ]
            }
          },
          "required": [
            "type"
          ],
          "patternProperties": {
            "^(?!(?:type)$)[\\s\\S]*$": false
          },
          "additionalProperties": true,
          "propertyNames": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "type"
                ]
              }
            ]
          }
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "restricted"
                  ]
                }
              ]
            },
            "organizations": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "organizationId": {
                    "type": "string",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
                    "format": "uuid"
                  },
                  "organizationName": {
                    "anyOf": [
                      {
                        "$ref": "#/$defs/LeadStoredText"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "organizationPermissions": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "allWorkspaces": {
                    "anyOf": [
                      {
                        "type": "object",
                        "properties": {
                          "roles": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "permissions": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        },
                        "required": [
                          "roles",
                          "permissions"
                        ],
                        "patternProperties": {
                          "^(?!(?:roles|permissions)$)[\\s\\S]*$": false
                        },
                        "additionalProperties": true,
                        "propertyNames": {
                          "type": "string",
                          "enum": [
                            "roles",
                            "permissions"
                          ]
                        }
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "workspaces": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "workspaceId": {
                          "type": "string",
                          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
                          "format": "uuid"
                        },
                        "workspaceName": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/LeadStoredText"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "roles": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "permissions": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        }
                      },
                      "required": [
                        "workspaceId",
                        "workspaceName",
                        "roles",
                        "permissions"
                      ],
                      "patternProperties": {
                        "^(?!(?:workspaceId|workspaceName|roles|permissions)$)[\\s\\S]*$": false
                      },
                      "additionalProperties": true,
                      "propertyNames": {
                        "type": "string",
                        "enum": [
                          "workspaceId",
                          "workspaceName",
                          "roles",
                          "permissions"
                        ]
                      }
                    }
                  }
                },
                "required": [
                  "organizationId",
                  "organizationName",
                  "organizationPermissions",
                  "allWorkspaces",
                  "workspaces"
                ],
                "patternProperties": {
                  "^(?!(?:organizationId|organizationName|organizationPermissions|allWorkspaces|workspaces)$)[\\s\\S]*$": false
                },
                "additionalProperties": true,
                "propertyNames": {
                  "type": "string",
                  "enum": [
                    "organizationId",
                    "organizationName",
                    "organizationPermissions",
                    "allWorkspaces",
                    "workspaces"
                  ]
                }
              }
            }
          },
          "required": [
            "type",
            "organizations"
          ],
          "patternProperties": {
            "^(?!(?:type|organizations)$)[\\s\\S]*$": false
          },
          "additionalProperties": true,
          "propertyNames": {
            "type": "string",
            "enum": [
              "type",
              "organizations"
            ]
          }
        }
      ]
    },
    "prefix": {
      "anyOf": [
        {
          "$ref": "#/$defs/LeadStoredText"
        },
        {
          "type": "null"
        }
      ]
    },
    "blockedOrganizations": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "organizationId": {
            "type": "string",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
            "format": "uuid"
          },
          "organizationName": {
            "anyOf": [
              {
                "$ref": "#/$defs/LeadStoredText"
              },
              {
                "type": "null"
              }
            ]
          },
          "blockedAt": {
            "$ref": "#/$defs/UtcDateTimeEncoded"
          }
        },
        "required": [
          "organizationId",
          "organizationName",
          "blockedAt"
        ],
        "patternProperties": {
          "^(?!(?:organizationId|organizationName|blockedAt)$)[\\s\\S]*$": false
        },
        "additionalProperties": true,
        "propertyNames": {
          "type": "string",
          "enum": [
            "organizationId",
            "organizationName",
            "blockedAt"
          ]
        }
      }
    },
    "expiresAt": {
      "anyOf": [
        {
          "$ref": "#/$defs/UtcDateTimeEncoded"
        },
        {
          "type": "null"
        }
      ]
    },
    "lastUsedAt": {
      "anyOf": [
        {
          "$ref": "#/$defs/UtcDateTimeEncoded"
        },
        {
          "type": "null"
        }
      ]
    },
    "lastRotatedAt": {
      "anyOf": [
        {
          "$ref": "#/$defs/UtcDateTimeEncoded"
        },
        {
          "type": "null"
        }
      ]
    },
    "createdAt": {
      "$ref": "#/$defs/UtcDateTimeEncoded"
    }
  },
  "required": [
    "id",
    "name",
    "description",
    "access",
    "prefix",
    "blockedOrganizations",
    "expiresAt",
    "lastUsedAt",
    "lastRotatedAt",
    "createdAt"
  ],
  "patternProperties": {
    "^(?!(?:id|name|description|access|prefix|blockedOrganizations|expiresAt|lastUsedAt|lastRotatedAt|createdAt)$)[\\s\\S]*$": false
  },
  "additionalProperties": true,
  "propertyNames": {
    "type": "string",
    "enum": [
      "id",
      "name",
      "description",
      "access",
      "prefix",
      "blockedOrganizations",
      "expiresAt",
      "lastUsedAt",
      "lastRotatedAt",
      "createdAt"
    ]
  },
  "$defs": {
    "LeadStoredText": {
      "type": "string",
      "maxLength": 65536
    },
    "UtcDateTimeEncoded": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
    }
  }
}
```

### Underlying API operations

- `personalApiKeys.update`: `PATCH /v1/me/api-keys/:apiKeyId`

