spec.from is optional, add try/catch to api