{
  "service": "timelink",
  "displayName": "timelink",
  "categories": [
    "Productivity"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Token",
      "placeholder": "TIMELINK_API_TOKEN",
      "description": "Timelink API token sent with the Authorization Bearer header. Create it in Mein Konto > API-Tokens: https://docs.timelink.io/api"
    }
  ],
  "homepageUrl": "https://timelink.io",
  "actions": [
    {
      "id": "timelink.get_client",
      "service": "timelink",
      "name": "get_client",
      "description": "Fetch one Timelink client by its identifier.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "A Timelink ULID identifier.",
            "pattern": "\\S"
          }
        },
        "additionalProperties": false,
        "description": "The input payload for fetching a record by ID."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "client": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "A Timelink ULID identifier.",
                "pattern": "\\S"
              },
              "name": {
                "type": "string",
                "description": "The client name."
              },
              "companyId": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The numeric company identifier linked to the client."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "extToolId": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The external tool identifier linked to the client."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "info": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The free-form client information text."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "color": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The client color value."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "active": {
                "type": "boolean",
                "description": "Whether the client is active."
              },
              "billable": {
                "type": "boolean",
                "description": "Whether the client is billable by default."
              },
              "acronym": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The client acronym."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "imageId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The image identifier for this client."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "demoFlag": {
                "type": "boolean",
                "description": "Whether the client is a demo record."
              },
              "projectCount": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The number of projects returned for the client when present."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "activeProjectCount": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The number of active projects returned for the client when present."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw Timelink client object."
              }
            },
            "additionalProperties": false,
            "description": "A Timelink client record."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when fetching a Timelink client."
      }
    },
    {
      "id": "timelink.get_company",
      "service": "timelink",
      "name": "get_company",
      "description": "Fetch the current Timelink company details for the authenticated token.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "The input payload for this Timelink action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "company": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The company identifier."
              },
              "name": {
                "type": "string",
                "description": "The company name."
              },
              "address": {
                "type": "string",
                "description": "The company address."
              },
              "city": {
                "type": "string",
                "description": "The company city."
              },
              "zip": {
                "type": "string",
                "description": "The company ZIP or postal code."
              },
              "country": {
                "type": "string",
                "description": "The company country."
              },
              "phone": {
                "type": "string",
                "description": "The company phone number."
              },
              "email": {
                "type": "string",
                "description": "The company admin email."
              },
              "invoiceEmail": {
                "type": "string",
                "description": "The company invoice email."
              },
              "forceOauth": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether Timelink forces OAuth for the company."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "oauthProvider": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The OAuth provider configured for the company."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "autoupdateQuantity": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether Timelink auto-updates the subscription quantity."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "subscription": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "status": {
                        "type": "string",
                        "enum": [
                          "active",
                          "canceled"
                        ],
                        "description": "The subscription status."
                      },
                      "product": {
                        "type": "string",
                        "enum": [
                          "basic",
                          "trial"
                        ],
                        "description": "The subscription product."
                      },
                      "quantity": {
                        "type": "integer",
                        "description": "The number of seats in the subscription."
                      },
                      "trial": {
                        "type": "boolean",
                        "description": "Whether the subscription is currently a trial."
                      },
                      "trialEndsAt": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "When the trial ends.",
                            "format": "date-time"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "endsAt": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "When the subscription ends.",
                            "format": "date-time"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "raw": {
                        "type": "object",
                        "properties": {},
                        "additionalProperties": true,
                        "description": "The raw Timelink subscription object."
                      }
                    },
                    "additionalProperties": false,
                    "description": "The Timelink subscription details for the company."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "pullProvider": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The active Timelink pull provider."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "pushProvider": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The active Timelink push provider."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "settings": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": true,
                    "description": "The raw Timelink company settings object."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw Timelink company object."
              }
            },
            "additionalProperties": false,
            "description": "A Timelink company record."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when fetching Timelink company details."
      }
    },
    {
      "id": "timelink.get_current_token",
      "service": "timelink",
      "name": "get_current_token",
      "description": "Inspect the current Timelink API token metadata.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "The input payload for this Timelink action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "token": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "description": "The numeric token identifier returned by Timelink."
              },
              "name": {
                "type": "string",
                "description": "The token name configured in Timelink."
              },
              "abilities": {
                "type": "array",
                "items": {
                  "type": "string",
                  "description": "One Timelink token ability."
                },
                "description": "The token abilities granted by Timelink."
              },
              "lastUsedAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "When the token was last used.",
                    "format": "date-time"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "expiresAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "When the token expires.",
                    "format": "date-time"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "createdAt": {
                "type": "string",
                "description": "When the token was created.",
                "format": "date-time"
              },
              "updatedAt": {
                "type": "string",
                "description": "When the token was last updated.",
                "format": "date-time"
              }
            },
            "additionalProperties": false,
            "description": "A Timelink API token record."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when fetching Timelink token details."
      }
    },
    {
      "id": "timelink.get_project",
      "service": "timelink",
      "name": "get_project",
      "description": "Fetch one Timelink project by its identifier.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "A Timelink ULID identifier.",
            "pattern": "\\S"
          }
        },
        "additionalProperties": false,
        "description": "The input payload for fetching a record by ID."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "project": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "A Timelink ULID identifier.",
                "pattern": "\\S"
              },
              "name": {
                "type": "string",
                "description": "The project name."
              },
              "clientId": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The numeric client identifier linked to the project."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "extToolId": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The external tool identifier linked to the project."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "info": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The free-form project information text."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "color": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The project color value."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "active": {
                "type": "boolean",
                "description": "Whether the project is active."
              },
              "billable": {
                "type": "boolean",
                "description": "Whether the project is billable by default."
              },
              "acronym": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The project acronym."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "imageId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The image identifier for this project."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "demoFlag": {
                "type": "boolean",
                "description": "Whether the project is a demo record."
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw Timelink project object."
              }
            },
            "additionalProperties": false,
            "description": "A Timelink project record."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when fetching a Timelink project."
      }
    },
    {
      "id": "timelink.get_service",
      "service": "timelink",
      "name": "get_service",
      "description": "Fetch one Timelink service by its identifier.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "A Timelink ULID identifier.",
            "pattern": "\\S"
          }
        },
        "additionalProperties": false,
        "description": "The input payload for fetching a record by ID."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "service": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "A Timelink ULID identifier.",
                "pattern": "\\S"
              },
              "name": {
                "type": "string",
                "description": "The service name."
              },
              "companyId": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The numeric company identifier linked to the service."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "extToolId": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The external tool identifier linked to the service."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "info": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The free-form service information text."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "color": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The service color value."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "active": {
                "type": "boolean",
                "description": "Whether the service is active."
              },
              "billable": {
                "type": "boolean",
                "description": "Whether the service is billable by default."
              },
              "acronym": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The service acronym."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "imageId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The image identifier for this service."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "defaultTimeEntryDescription": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The default time entry description configured for the service."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw Timelink service object."
              }
            },
            "additionalProperties": false,
            "description": "A Timelink service record."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when fetching a Timelink service."
      }
    },
    {
      "id": "timelink.get_time_entry",
      "service": "timelink",
      "name": "get_time_entry",
      "description": "Fetch one Timelink time entry by its identifier.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "A Timelink ULID identifier.",
            "pattern": "\\S"
          }
        },
        "additionalProperties": false,
        "description": "The input payload for fetching a record by ID."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "timeEntry": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "A Timelink ULID identifier.",
                "pattern": "\\S"
              },
              "userId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The user identifier linked to the time entry."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "clientId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The client identifier linked to the time entry."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "projectId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The project identifier linked to the time entry."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "serviceId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The service identifier linked to the time entry."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "description": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The time entry description."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "billable": {
                "type": "boolean",
                "description": "Whether the time entry is billable."
              },
              "billed": {
                "type": "boolean",
                "description": "Whether the time entry has been billed."
              },
              "billedAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "When the time entry was billed.",
                    "format": "date-time"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "isInterrupt": {
                "type": "boolean",
                "description": "Whether the time entry is marked as an interruption."
              },
              "startedAt": {
                "type": "string",
                "description": "When the time entry started.",
                "format": "date-time"
              },
              "endedAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "When the time entry ended.",
                    "format": "date-time"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "createdAt": {
                "type": "string",
                "description": "When the time entry was created.",
                "format": "date-time"
              },
              "updatedAt": {
                "type": "string",
                "description": "When the time entry was last updated.",
                "format": "date-time"
              },
              "deletedAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "When the time entry was deleted.",
                    "format": "date-time"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "extToolId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The external tool identifier linked to the time entry."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "tempId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The temporary identifier used by Timelink clients."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "pushState": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The Timelink push state value."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "pushErrors": {
                "type": "array",
                "items": {
                  "type": "string",
                  "description": "One Timelink push error message."
                },
                "description": "The Timelink push errors."
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw Timelink time entry object."
              }
            },
            "additionalProperties": false,
            "description": "A Timelink time entry record."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when fetching a Timelink time entry."
      }
    },
    {
      "id": "timelink.get_user",
      "service": "timelink",
      "name": "get_user",
      "description": "Fetch one Timelink user by its identifier.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "A Timelink ULID identifier.",
            "pattern": "\\S"
          }
        },
        "additionalProperties": false,
        "description": "The input payload for fetching a record by ID."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "user": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The user identifier."
              },
              "firstName": {
                "type": "string",
                "description": "The user's first name."
              },
              "lastName": {
                "type": "string",
                "description": "The user's last name."
              },
              "fullName": {
                "type": "string",
                "description": "The user's full name."
              },
              "email": {
                "type": "string",
                "description": "The user's email address."
              },
              "companyId": {
                "type": "string",
                "description": "The company identifier linked to the user."
              },
              "emailVerifiedAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "When the user's email was verified.",
                    "format": "date-time"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "active": {
                "type": "boolean",
                "description": "Whether the user is active."
              },
              "timezone": {
                "type": "string",
                "description": "The user's configured timezone."
              },
              "language": {
                "type": "string",
                "description": "The user's configured language."
              },
              "lastUsed": {
                "type": "object",
                "properties": {
                  "clients": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "description": "One client identifier."
                    },
                    "description": "The last used client identifiers."
                  },
                  "projects": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "description": "One project identifier."
                    },
                    "description": "The last used project identifiers."
                  },
                  "services": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "description": "One service identifier."
                    },
                    "description": "The last used service identifiers."
                  }
                },
                "additionalProperties": false,
                "description": "The recent Timelink entities referenced by the user."
              },
              "settings": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": true,
                    "description": "The raw Timelink user settings object."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw Timelink user object."
              }
            },
            "additionalProperties": false,
            "description": "A Timelink user record."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when fetching a Timelink user."
      }
    },
    {
      "id": "timelink.list_active_time_entries",
      "service": "timelink",
      "name": "list_active_time_entries",
      "description": "List currently active Timelink time entries.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "The maximum number of active time entries to return."
          },
          "withRelations": {
            "type": "boolean",
            "description": "Whether Timelink should include related entities."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for listing active Timelink time entries."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "timeEntries": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "description": "A Timelink ULID identifier.",
                  "pattern": "\\S"
                },
                "userId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The user identifier linked to the time entry."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "clientId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The client identifier linked to the time entry."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "projectId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The project identifier linked to the time entry."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "serviceId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The service identifier linked to the time entry."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "description": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The time entry description."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "billable": {
                  "type": "boolean",
                  "description": "Whether the time entry is billable."
                },
                "billed": {
                  "type": "boolean",
                  "description": "Whether the time entry has been billed."
                },
                "billedAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "When the time entry was billed.",
                      "format": "date-time"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "isInterrupt": {
                  "type": "boolean",
                  "description": "Whether the time entry is marked as an interruption."
                },
                "startedAt": {
                  "type": "string",
                  "description": "When the time entry started.",
                  "format": "date-time"
                },
                "endedAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "When the time entry ended.",
                      "format": "date-time"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "createdAt": {
                  "type": "string",
                  "description": "When the time entry was created.",
                  "format": "date-time"
                },
                "updatedAt": {
                  "type": "string",
                  "description": "When the time entry was last updated.",
                  "format": "date-time"
                },
                "deletedAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "When the time entry was deleted.",
                      "format": "date-time"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "extToolId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The external tool identifier linked to the time entry."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "tempId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The temporary identifier used by Timelink clients."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "pushState": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The Timelink push state value."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "pushErrors": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "description": "One Timelink push error message."
                  },
                  "description": "The Timelink push errors."
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw Timelink time entry object."
                }
              },
              "additionalProperties": false,
              "description": "A Timelink time entry record."
            },
            "description": "The active Timelink time entries."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "currentPage": {
                "type": "integer",
                "description": "The current page number."
              },
              "from": {
                "type": "integer",
                "description": "The first item index on the current page."
              },
              "lastPage": {
                "type": "integer",
                "description": "The last available page number."
              },
              "links": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "url": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The page URL."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "label": {
                      "type": "string",
                      "description": "The human-readable page label."
                    },
                    "active": {
                      "type": "boolean",
                      "description": "Whether this pagination link is active."
                    }
                  },
                  "additionalProperties": false,
                  "description": "A pagination link returned by Timelink."
                },
                "description": "The pagination links returned by Timelink."
              },
              "path": {
                "type": "string",
                "description": "The Timelink API path for this paginated response."
              },
              "perPage": {
                "type": "integer",
                "description": "The number of items returned per page."
              },
              "to": {
                "type": "integer",
                "description": "The last item index on the current page."
              },
              "total": {
                "type": "integer",
                "description": "The total number of items across all pages."
              }
            },
            "additionalProperties": false,
            "description": "Pagination metadata returned by Timelink list endpoints."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when listing active Timelink time entries."
      }
    },
    {
      "id": "timelink.list_clients",
      "service": "timelink",
      "name": "list_clients",
      "description": "List Timelink clients with optional filtering and pagination parameters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "The maximum number of records to return."
          },
          "search": {
            "type": "string",
            "minLength": 1,
            "description": "A search string matched by Timelink.",
            "pattern": "\\S"
          },
          "ids": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A Timelink ULID identifier.",
              "pattern": "\\S"
            },
            "description": "A list of Timelink record IDs to fetch.",
            "minItems": 1
          },
          "orders": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "column": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The Timelink field name used for sorting.",
                  "pattern": "\\S"
                },
                "direction": {
                  "type": "string",
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "description": "The sort direction."
                }
              },
              "additionalProperties": false,
              "description": "A Timelink list sorting rule."
            },
            "description": "The Timelink sort rules to apply.",
            "minItems": 1
          },
          "active": {
            "type": "boolean",
            "description": "Filter clients by active state."
          },
          "withLimitedPartOfProjects": {
            "type": "boolean",
            "description": "Whether Timelink should include a limited subset of each client's projects."
          },
          "projectsLimit": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of nested projects to include per client."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for listing Timelink clients."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "clients": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "description": "A Timelink ULID identifier.",
                  "pattern": "\\S"
                },
                "name": {
                  "type": "string",
                  "description": "The client name."
                },
                "companyId": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The numeric company identifier linked to the client."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "extToolId": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The external tool identifier linked to the client."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "info": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The free-form client information text."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "color": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The client color value."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "active": {
                  "type": "boolean",
                  "description": "Whether the client is active."
                },
                "billable": {
                  "type": "boolean",
                  "description": "Whether the client is billable by default."
                },
                "acronym": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The client acronym."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "imageId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The image identifier for this client."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "demoFlag": {
                  "type": "boolean",
                  "description": "Whether the client is a demo record."
                },
                "projectCount": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The number of projects returned for the client when present."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "activeProjectCount": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The number of active projects returned for the client when present."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw Timelink client object."
                }
              },
              "additionalProperties": false,
              "description": "A Timelink client record."
            },
            "description": "The Timelink clients returned by the API."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "currentPage": {
                "type": "integer",
                "description": "The current page number."
              },
              "from": {
                "type": "integer",
                "description": "The first item index on the current page."
              },
              "lastPage": {
                "type": "integer",
                "description": "The last available page number."
              },
              "links": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "url": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The page URL."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "label": {
                      "type": "string",
                      "description": "The human-readable page label."
                    },
                    "active": {
                      "type": "boolean",
                      "description": "Whether this pagination link is active."
                    }
                  },
                  "additionalProperties": false,
                  "description": "A pagination link returned by Timelink."
                },
                "description": "The pagination links returned by Timelink."
              },
              "path": {
                "type": "string",
                "description": "The Timelink API path for this paginated response."
              },
              "perPage": {
                "type": "integer",
                "description": "The number of items returned per page."
              },
              "to": {
                "type": "integer",
                "description": "The last item index on the current page."
              },
              "total": {
                "type": "integer",
                "description": "The total number of items across all pages."
              }
            },
            "additionalProperties": false,
            "description": "Pagination metadata returned by Timelink list endpoints."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when listing Timelink clients."
      }
    },
    {
      "id": "timelink.list_projects",
      "service": "timelink",
      "name": "list_projects",
      "description": "List Timelink projects with optional filtering and pagination parameters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "The maximum number of records to return."
          },
          "search": {
            "type": "string",
            "minLength": 1,
            "description": "A search string matched by Timelink.",
            "pattern": "\\S"
          },
          "ids": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A Timelink ULID identifier.",
              "pattern": "\\S"
            },
            "description": "A list of Timelink record IDs to fetch.",
            "minItems": 1
          },
          "orders": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "column": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The Timelink field name used for sorting.",
                  "pattern": "\\S"
                },
                "direction": {
                  "type": "string",
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "description": "The sort direction."
                }
              },
              "additionalProperties": false,
              "description": "A Timelink list sorting rule."
            },
            "description": "The Timelink sort rules to apply.",
            "minItems": 1
          },
          "active": {
            "type": "boolean",
            "description": "Filter projects by active state."
          },
          "clientId": {
            "type": "string",
            "minLength": 1,
            "description": "Filter projects by the linked client identifier.",
            "pattern": "\\S"
          }
        },
        "additionalProperties": false,
        "description": "The input payload for listing Timelink projects."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "projects": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "description": "A Timelink ULID identifier.",
                  "pattern": "\\S"
                },
                "name": {
                  "type": "string",
                  "description": "The project name."
                },
                "clientId": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The numeric client identifier linked to the project."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "extToolId": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The external tool identifier linked to the project."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "info": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The free-form project information text."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "color": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The project color value."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "active": {
                  "type": "boolean",
                  "description": "Whether the project is active."
                },
                "billable": {
                  "type": "boolean",
                  "description": "Whether the project is billable by default."
                },
                "acronym": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The project acronym."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "imageId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The image identifier for this project."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "demoFlag": {
                  "type": "boolean",
                  "description": "Whether the project is a demo record."
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw Timelink project object."
                }
              },
              "additionalProperties": false,
              "description": "A Timelink project record."
            },
            "description": "The Timelink projects returned by the API."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "currentPage": {
                "type": "integer",
                "description": "The current page number."
              },
              "from": {
                "type": "integer",
                "description": "The first item index on the current page."
              },
              "lastPage": {
                "type": "integer",
                "description": "The last available page number."
              },
              "links": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "url": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The page URL."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "label": {
                      "type": "string",
                      "description": "The human-readable page label."
                    },
                    "active": {
                      "type": "boolean",
                      "description": "Whether this pagination link is active."
                    }
                  },
                  "additionalProperties": false,
                  "description": "A pagination link returned by Timelink."
                },
                "description": "The pagination links returned by Timelink."
              },
              "path": {
                "type": "string",
                "description": "The Timelink API path for this paginated response."
              },
              "perPage": {
                "type": "integer",
                "description": "The number of items returned per page."
              },
              "to": {
                "type": "integer",
                "description": "The last item index on the current page."
              },
              "total": {
                "type": "integer",
                "description": "The total number of items across all pages."
              }
            },
            "additionalProperties": false,
            "description": "Pagination metadata returned by Timelink list endpoints."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when listing Timelink projects."
      }
    },
    {
      "id": "timelink.list_services",
      "service": "timelink",
      "name": "list_services",
      "description": "List Timelink services with optional filtering and pagination parameters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "The maximum number of records to return."
          },
          "search": {
            "type": "string",
            "minLength": 1,
            "description": "A search string matched by Timelink.",
            "pattern": "\\S"
          },
          "ids": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A Timelink ULID identifier.",
              "pattern": "\\S"
            },
            "description": "A list of Timelink record IDs to fetch.",
            "minItems": 1
          },
          "orders": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "column": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The Timelink field name used for sorting.",
                  "pattern": "\\S"
                },
                "direction": {
                  "type": "string",
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "description": "The sort direction."
                }
              },
              "additionalProperties": false,
              "description": "A Timelink list sorting rule."
            },
            "description": "The Timelink sort rules to apply.",
            "minItems": 1
          },
          "active": {
            "type": "boolean",
            "description": "Filter services by active state."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for listing Timelink services."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "services": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "description": "A Timelink ULID identifier.",
                  "pattern": "\\S"
                },
                "name": {
                  "type": "string",
                  "description": "The service name."
                },
                "companyId": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The numeric company identifier linked to the service."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "extToolId": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The external tool identifier linked to the service."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "info": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The free-form service information text."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "color": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The service color value."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "active": {
                  "type": "boolean",
                  "description": "Whether the service is active."
                },
                "billable": {
                  "type": "boolean",
                  "description": "Whether the service is billable by default."
                },
                "acronym": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The service acronym."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "imageId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The image identifier for this service."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "defaultTimeEntryDescription": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The default time entry description configured for the service."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw Timelink service object."
                }
              },
              "additionalProperties": false,
              "description": "A Timelink service record."
            },
            "description": "The Timelink services returned by the API."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "currentPage": {
                "type": "integer",
                "description": "The current page number."
              },
              "from": {
                "type": "integer",
                "description": "The first item index on the current page."
              },
              "lastPage": {
                "type": "integer",
                "description": "The last available page number."
              },
              "links": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "url": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The page URL."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "label": {
                      "type": "string",
                      "description": "The human-readable page label."
                    },
                    "active": {
                      "type": "boolean",
                      "description": "Whether this pagination link is active."
                    }
                  },
                  "additionalProperties": false,
                  "description": "A pagination link returned by Timelink."
                },
                "description": "The pagination links returned by Timelink."
              },
              "path": {
                "type": "string",
                "description": "The Timelink API path for this paginated response."
              },
              "perPage": {
                "type": "integer",
                "description": "The number of items returned per page."
              },
              "to": {
                "type": "integer",
                "description": "The last item index on the current page."
              },
              "total": {
                "type": "integer",
                "description": "The total number of items across all pages."
              }
            },
            "additionalProperties": false,
            "description": "Pagination metadata returned by Timelink list endpoints."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when listing Timelink services."
      }
    },
    {
      "id": "timelink.list_time_entries",
      "service": "timelink",
      "name": "list_time_entries",
      "description": "List Timelink time entries with optional filtering and pagination parameters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "The maximum number of records to return."
          },
          "search": {
            "type": "string",
            "minLength": 1,
            "description": "A search string matched by Timelink.",
            "pattern": "\\S"
          },
          "ids": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A Timelink ULID identifier.",
              "pattern": "\\S"
            },
            "description": "A list of Timelink record IDs to fetch.",
            "minItems": 1
          },
          "orders": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "column": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The Timelink field name used for sorting.",
                  "pattern": "\\S"
                },
                "direction": {
                  "type": "string",
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "description": "The sort direction."
                }
              },
              "additionalProperties": false,
              "description": "A Timelink list sorting rule."
            },
            "description": "The Timelink sort rules to apply.",
            "minItems": 1
          },
          "withRelations": {
            "type": "boolean",
            "description": "Whether Timelink should include related entities."
          },
          "start": {
            "type": "string",
            "description": "Filter time entries starting from this timestamp.",
            "format": "date-time"
          },
          "end": {
            "type": "string",
            "description": "Filter time entries ending before this timestamp.",
            "format": "date-time"
          },
          "onlyDeleted": {
            "type": "boolean",
            "description": "Whether to return only deleted time entries."
          },
          "isInterrupt": {
            "type": "boolean",
            "description": "Filter time entries by interruption state."
          },
          "isBilled": {
            "type": "boolean",
            "description": "Filter time entries by billed state."
          },
          "isBillable": {
            "type": "boolean",
            "description": "Filter time entries by billable state."
          },
          "searchInDescription": {
            "type": "string",
            "minLength": 1,
            "description": "The Timelink description search mode or term passed through to the API.",
            "pattern": "\\S"
          },
          "clientId": {
            "type": "string",
            "minLength": 1,
            "description": "Filter time entries by client identifier.",
            "pattern": "\\S"
          },
          "projectId": {
            "type": "string",
            "minLength": 1,
            "description": "Filter time entries by project identifier.",
            "pattern": "\\S"
          },
          "serviceId": {
            "type": "string",
            "minLength": 1,
            "description": "Filter time entries by service identifier.",
            "pattern": "\\S"
          },
          "userId": {
            "type": "string",
            "minLength": 1,
            "description": "Filter time entries by user identifier.",
            "pattern": "\\S"
          },
          "userIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One user identifier.",
              "pattern": "\\S"
            },
            "description": "Filter time entries by multiple user identifiers.",
            "minItems": 1
          },
          "extToolId": {
            "type": "string",
            "minLength": 1,
            "description": "Filter time entries by external tool identifier.",
            "pattern": "\\S"
          },
          "exact": {
            "type": "boolean",
            "description": "Whether the Timelink search should be exact."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for listing Timelink time entries."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "timeEntries": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "description": "A Timelink ULID identifier.",
                  "pattern": "\\S"
                },
                "userId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The user identifier linked to the time entry."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "clientId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The client identifier linked to the time entry."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "projectId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The project identifier linked to the time entry."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "serviceId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The service identifier linked to the time entry."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "description": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The time entry description."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "billable": {
                  "type": "boolean",
                  "description": "Whether the time entry is billable."
                },
                "billed": {
                  "type": "boolean",
                  "description": "Whether the time entry has been billed."
                },
                "billedAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "When the time entry was billed.",
                      "format": "date-time"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "isInterrupt": {
                  "type": "boolean",
                  "description": "Whether the time entry is marked as an interruption."
                },
                "startedAt": {
                  "type": "string",
                  "description": "When the time entry started.",
                  "format": "date-time"
                },
                "endedAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "When the time entry ended.",
                      "format": "date-time"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "createdAt": {
                  "type": "string",
                  "description": "When the time entry was created.",
                  "format": "date-time"
                },
                "updatedAt": {
                  "type": "string",
                  "description": "When the time entry was last updated.",
                  "format": "date-time"
                },
                "deletedAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "When the time entry was deleted.",
                      "format": "date-time"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "extToolId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The external tool identifier linked to the time entry."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "tempId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The temporary identifier used by Timelink clients."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "pushState": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The Timelink push state value."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "pushErrors": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "description": "One Timelink push error message."
                  },
                  "description": "The Timelink push errors."
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw Timelink time entry object."
                }
              },
              "additionalProperties": false,
              "description": "A Timelink time entry record."
            },
            "description": "The Timelink time entries returned by the API."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "currentPage": {
                "type": "integer",
                "description": "The current page number."
              },
              "from": {
                "type": "integer",
                "description": "The first item index on the current page."
              },
              "lastPage": {
                "type": "integer",
                "description": "The last available page number."
              },
              "links": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "url": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The page URL."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "label": {
                      "type": "string",
                      "description": "The human-readable page label."
                    },
                    "active": {
                      "type": "boolean",
                      "description": "Whether this pagination link is active."
                    }
                  },
                  "additionalProperties": false,
                  "description": "A pagination link returned by Timelink."
                },
                "description": "The pagination links returned by Timelink."
              },
              "path": {
                "type": "string",
                "description": "The Timelink API path for this paginated response."
              },
              "perPage": {
                "type": "integer",
                "description": "The number of items returned per page."
              },
              "to": {
                "type": "integer",
                "description": "The last item index on the current page."
              },
              "total": {
                "type": "integer",
                "description": "The total number of items across all pages."
              }
            },
            "additionalProperties": false,
            "description": "Pagination metadata returned by Timelink list endpoints."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when listing Timelink time entries."
      }
    },
    {
      "id": "timelink.list_time_entry_required_fields",
      "service": "timelink",
      "name": "list_time_entry_required_fields",
      "description": "List the Timelink field names that are required for time entries.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "The input payload for this Timelink action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "fields": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "One required field name."
            },
            "description": "The required Timelink field names."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when listing required time entry fields."
      }
    },
    {
      "id": "timelink.list_users",
      "service": "timelink",
      "name": "list_users",
      "description": "List Timelink users with optional filtering and pagination parameters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "The maximum number of records to return."
          },
          "search": {
            "type": "string",
            "minLength": 1,
            "description": "A search string matched by Timelink.",
            "pattern": "\\S"
          },
          "ids": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A Timelink ULID identifier.",
              "pattern": "\\S"
            },
            "description": "A list of Timelink record IDs to fetch.",
            "minItems": 1
          },
          "orders": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "column": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The Timelink field name used for sorting.",
                  "pattern": "\\S"
                },
                "direction": {
                  "type": "string",
                  "enum": [
                    "asc",
                    "desc"
                  ],
                  "description": "The sort direction."
                }
              },
              "additionalProperties": false,
              "description": "A Timelink list sorting rule."
            },
            "description": "The Timelink sort rules to apply.",
            "minItems": 1
          },
          "active": {
            "type": "boolean",
            "description": "Filter users by active state."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for listing Timelink users."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "users": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The user identifier."
                },
                "firstName": {
                  "type": "string",
                  "description": "The user's first name."
                },
                "lastName": {
                  "type": "string",
                  "description": "The user's last name."
                },
                "fullName": {
                  "type": "string",
                  "description": "The user's full name."
                },
                "email": {
                  "type": "string",
                  "description": "The user's email address."
                },
                "companyId": {
                  "type": "string",
                  "description": "The company identifier linked to the user."
                },
                "emailVerifiedAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "When the user's email was verified.",
                      "format": "date-time"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "active": {
                  "type": "boolean",
                  "description": "Whether the user is active."
                },
                "timezone": {
                  "type": "string",
                  "description": "The user's configured timezone."
                },
                "language": {
                  "type": "string",
                  "description": "The user's configured language."
                },
                "lastUsed": {
                  "type": "object",
                  "properties": {
                    "clients": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "description": "One client identifier."
                      },
                      "description": "The last used client identifiers."
                    },
                    "projects": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "description": "One project identifier."
                      },
                      "description": "The last used project identifiers."
                    },
                    "services": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "description": "One service identifier."
                      },
                      "description": "The last used service identifiers."
                    }
                  },
                  "additionalProperties": false,
                  "description": "The recent Timelink entities referenced by the user."
                },
                "settings": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {},
                      "additionalProperties": true,
                      "description": "The raw Timelink user settings object."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw Timelink user object."
                }
              },
              "additionalProperties": false,
              "description": "A Timelink user record."
            },
            "description": "The Timelink users returned by the API."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "currentPage": {
                "type": "integer",
                "description": "The current page number."
              },
              "from": {
                "type": "integer",
                "description": "The first item index on the current page."
              },
              "lastPage": {
                "type": "integer",
                "description": "The last available page number."
              },
              "links": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "url": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The page URL."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "label": {
                      "type": "string",
                      "description": "The human-readable page label."
                    },
                    "active": {
                      "type": "boolean",
                      "description": "Whether this pagination link is active."
                    }
                  },
                  "additionalProperties": false,
                  "description": "A pagination link returned by Timelink."
                },
                "description": "The pagination links returned by Timelink."
              },
              "path": {
                "type": "string",
                "description": "The Timelink API path for this paginated response."
              },
              "perPage": {
                "type": "integer",
                "description": "The number of items returned per page."
              },
              "to": {
                "type": "integer",
                "description": "The last item index on the current page."
              },
              "total": {
                "type": "integer",
                "description": "The total number of items across all pages."
              }
            },
            "additionalProperties": false,
            "description": "Pagination metadata returned by Timelink list endpoints."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when listing Timelink users."
      }
    }
  ]
}
