Get parent and all brothers of a given resource

Say I have “albums” resource that has a relationship “photos” (a collection of “photos” resource).
A single “photos” resource has a relationship in the other direction “album”, that points to its parent “albums” resource.

Now, what I’m trying to achieve is the next use case: given a photo id, I need to get its complete album, ie, the album with its attributes as main resourcen and all its photos included.

I’d like to know if this is a good approach or I’m missing something:

GET /photos/{id}/album?include=photos


I’m using it same way as you described. So I think it’s ok doing it. Other way is to have advanced filter which can filter by album id.

Thanks for the answer.
Yes, I was thinking about the possibility of a “collection contains” filter.
Some like this:

GET /album?filter[photos][contains]={photoId}&include=photos

But this seems a little messy to me, so I wanted to ask here to know which is the preferred strategy for this case.
For the moment I’ll use the first option.

There is more interesting way, and more complex of course. I’m currently working on filter for my JSON API library and only one solution satisfy my needs, OData format. Of course I cannot handle whole implementation but theirs filter syntax and behaviour is right way IMHO. See here