[Archivesspace_Users_Group] limiting API search query to specific record types

Valerie Addonizio vaddoniz at jhu.edu
Wed Nov 9 13:44:32 EST 2016

Hmm, another suggestion from a colleague is to remove the brackets around resource:

response = client.get('repositories/3/search?page=1&aq={"query":{"field":"title","value":"Jeremy Blake Papers", "jsonmodel_type":"field_query","negated":false,"literal":true, "type": "resource" }}')

From: archivesspace_users_group-bounces at lyralists.lyrasis.org [mailto:archivesspace_users_group-bounces at lyralists.lyrasis.org] On Behalf Of Donald Mennerich
Sent: Wednesday, November 09, 2016 12:05 PM
To: Archivesspace Users Group
Subject: Re: [Archivesspace_Users_Group] limiting API search query to specific record types


Thanks, I did try that. The resources endpoint is expecting an :id, and the api returns: {"error"=>{"id"=>["Wanted type Integer but got 'search'"]}}


On Wed, Nov 9, 2016 at 11:53 AM, Valerie Addonizio <vaddoniz at jhu.edu<mailto:vaddoniz at jhu.edu>> wrote:
This is only a guess, but including the endpoint for Resource may do it, here, in your string:


From: archivesspace_users_group-bounces at lyralists.lyrasis.org<mailto:archivesspace_users_group-bounces at lyralists.lyrasis.org> [mailto:archivesspace_users_group-bounces at lyralists.lyrasis.org<mailto:archivesspace_users_group-bounces at lyralists.lyrasis.org>] On Behalf Of Donald Mennerich
Sent: Wednesday, November 09, 2016 11:43 AM
To: archivesspace_users_group at lyralists.lyrasis.org<mailto:archivesspace_users_group at lyralists.lyrasis.org>
Subject: [Archivesspace_Users_Group] limiting API search query to specific record types


I am trying to get resource records from the ASpace API, I'm currently using the advanced query example that Chris had posted in 2015.
response = client.get('repositories/3/search?page=1&aq={"query":{"field":"title","value":"Jeremy Blake Papers", "jsonmodel_type":"field_query","negated":false,"literal":true}}')

While this returns the wanted resource record, the api also returns an accession record and a collection control management. So my question: how can I filter to just resource records? I see in the json for any record has a field to  "type"=>["resource"], and there's documentation in the API about using this field in an advanced query:

[String] type – The record type to search (defaults to all types if not specified)

I've tried adding a "type" parameter to a query in numerous ways, such as:
response = client.get('repositories/3/search?page=1&aq={"query":{"field":"title","value":"Jeremy Blake Papers", "jsonmodel_type":"field_query","negated":false,"literal":true, "type": ["resource"] }}')

Can anyone provide some guidance on how to limit results from the search API to specific record types?



Archivesspace_Users_Group mailing list
Archivesspace_Users_Group at lyralists.lyrasis.org<mailto:Archivesspace_Users_Group at lyralists.lyrasis.org>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lyralists.lyrasis.org/pipermail/archivesspace_users_group/attachments/20161109/ffcdd565/attachment.html>

More information about the Archivesspace_Users_Group mailing list