The search endpoint doesn't seem to work

Hello guys,

after exchanging a lot of messages with the support, they recommended to post my problem here.

I’m trying to use the search endpoint. I want to find all folders that have “_Final” included in their name. I followed the API specification, the documentation and the support feedback, it doesn’t matter what I do, it doesn’t work. All I get are empty arrays.

=> That looks as I don’t have the necessary permissions, but I enabled every permission.
=> However I specified the query (_final, Final, _FINAL, FiNaL), I receive empty arrays.
=> You can see that I filter for team_id. I get empty arrays, whether I filter for it or not.

Here are two approaches I tried:

This is the first approach, where I query all projects to retrieve its ID. After that I loop through the projects and search for folders that match the „_Final“ Query. I do that, because the folders I want to query have „_Final“ in their name.

  // === APPROACH 1 ===

  /*
   * 1. Get all projects
   * 2. For each project, get all folders that match the query
   */

  const projectQuery = new URLSearchParams({
    "filter[archived]": "all",
  }).toString();

  const teamId = process.env.FRAME_IO_TEAM_ID;
  const response = await fetch(
    `https://api.frame.io/v2/teams/${teamId}/projects?${projectQuery}`,
    {
      method: "GET",
      headers: {
        Authorization: "Bearer " + process.env.FRAME_IO_KEY,
      },
    }
  );
  const projectData = await response.text();
  const projects = JSON.parse(projectData);

  for (let project of projects) {
    const resp = await fetch(`https://api.frame.io/v2/search/library`, {
      method: "POST",
      headers: {
        "Content-Type": "application/json",
        Authorization: `Bearer ${process.env.FRAME_IO_KEY}`,
      },
      body: JSON.stringify({
        account_id: process.env.FRAME_IO_ACCOUNT_ID,
        q: "_FINAL",
        filter: {
          asset_type: {
            op: "eq",
            value: "folder",
          },
          project_id: {
            op: "eq",
            value: project.id,
          },
          team_id: {
            op: "eq",
            value: process.env.FRAME_IO_TEAM_ID,
          },
        },
      }),
    });

    const data = await resp.json();
    console.log(project.id, data);
  }

The second approach is much simpler. I am searching for the folders that match the „_final“ query:

  // === APPROACH 2 ===

  /*
   * 2. Gett all folders that match the query
   */

  const resp = await fetch(`https://api.frame.io/v2/search/library`, {
      method: "POST",
      headers: {
        "Content-Type": "application/json",
        Authorization: `Bearer ${process.env.FRAME_IO_KEY}`,
      },
      body: JSON.stringify({
        account_id: process.env.FRAME_IO_ACCOUNT_ID,
        q: "_FINAL",
        filter: {
          asset_type: {
            op: "eq",
            value: "folder",
          },
          team_id: {
            op: "eq",
            value: process.env.FRAME_IO_TEAM_ID,
          }
        }
      }),
    });

Either your API is broken, or I can only filter for the exact name. I don’t have any other ideas.

I hope you guys can help me.

Cheers,
Ben