'Attempt to purchase the specified number. The only required parameters
are **either** phone_number or area_code
:returns: Returns a :class:`PhoneNumber` instance on success,
:data:`False` on failure
:raises: A :exc:`TypeError` if neither phone_number or area_code
is specified.'

def purchase(self, status_callback_url=None, **kwargs):

    kwargs['StatusCallback'] = kwargs.get('status_callback', status_callback_url)
    if (('phone_number' not in kwargs) and ('area_code' not in kwargs)):
        raise TypeError('phone_number    or    area_code    is    required')
    number_type = kwargs.pop('type', False)
    uri = self.uri
    if number_type:
        uri = ('%s/%s' % (self.uri, TYPES[number_type]))
    params = transform_params(kwargs)
    (resp, instance) = self.request('POST', uri, data=params)
    return self.load_instance(instance)
