Search code examples
graphqlcontentful

Contentful GraphQL endpoint: how to retrieve all entries of a content type


{
  Post {
      name
  }
}

While trying to retrieve all the entries on a content type, it only gives error of:

"Argument \"id\" of required type \"String!\" was not provided."

Since id field is required. How do I get all entries of a content type then?

Ref: https://www.contentful.com/developers/docs/references/graphql/


Solution

  • From docs here:

    The produced Query object exposes two fields that you can use to query content of that type: one to fetch individual content documents (friendlyUser in the example) and another to do queries over all the content of the type (friendlyUserCollection).

    So for any resource that you want to retrieve all entries of, you need to append Collection at the end of its id, then use items field to retrieve all entries. As in:

    {
      PostCollection {
          items {
              name
          }
      }
    }
    

    Apart from docs, you can also view all available resources at corresponding GraphiQL instance here, which could be pretty useful:

    https://graphql.contentful.com/content/v1/spaces/{SPACE_ID}/explore?access_token={ACCESS_TOKEN}

    Search or select Query to see all schemas:

    GraphiQL