An analytical method is presented to obtain all surfaces enveloping the workspace of a general n degree-of-freedom mechanism with non-unilateral constraints. The method is applicable to kinematic chains that can be modeled using the Denavit-Hartenberg representation method for serial manipulators. The method introduced in this paper is based upon analytical criteria for determining singular behavior of the mechanism. A perturbation approach is implemented to determine the interior and exterior of the workspace. The complete mathematical formulation is presented and illustrated using 3 and 4 DOF spatial manipulators. The paper present a rigorous analysis of the sub-Jacobians to determine a classification of singularities: Type I sets are position Jacobian singularities; Type II sets are instantaneous singularities that are due to a generalized joint that is reaching its apex; Type III sets are domain boundary singularities, which are associated with the initial and final values of the time interval; Type IV sets are coupled singularities, which are associated with a relative singular Jacobian, where the null space is reduced in one submatrix due to either of two occurrences: a Type II or Type III singularities. The paper presents a general formulation for determining the workspace.