We need them to be defined in advance (at least for the hasMany) because if the property is used in an enumerable context (like {{#each}} ) before the response comes back, we need to return an enumerable object or else Handlebars will throw an error. For belongsTo/hasOne associations (still haven't decided on that syntax yet) we can detect them automatically, although I'll still allow them to be defined manually so we can use them for unexposed endpoints or custom naming.