Keyword Filter

Create Keyword Filtering List

Keyword list names are unique per company. To apply the keyword list to collections when you create it, pass their IDs in projectList. A collection can belong to only one keyword list.

Request Sample

const result = await mediaviz.keywords.createKeywordFilteringList('<NAME>', '<PROJECT_LIST>');
import type { KeywordListDisplayWithProjects } from '@mediaviz/sdk';

const result: KeywordListDisplayWithProjects = await mediaviz.keywords.createKeywordFilteringList('<NAME>', '<PROJECT_LIST>');
const result = await mediaviz.keywords.createKeywordFilteringList('<NAME>', '<PROJECT_LIST>');
const { client } = useMediaViz();

const result = await client.keywords.createKeywordFilteringList('<NAME>', '<PROJECT_LIST>');
result = mediaviz.keywords.create_keyword_filtering_list('<NAME>', '<PROJECT_LIST>')
$result = $mediaviz->keywords->createKeywordFilteringList('<NAME>', '<PROJECT_LIST>');
curl -X POST 'https://api.mediaviz.ai/api/v1/keyword/' \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoidXNyXzAxYWJjMTIzIiwiZXhwIjoxNzQzNjMwMzI5fQ.RwJF-KLLr8K5JgEtIeFiKWELcv-FDLNzMPHJ2St_wAo' \
  -H 'Content-Type: application/json' \
  --data @- <<'JSON'
{
  "name": "<NAME>",
  "project_list": "<PROJECT_LIST>"
}
JSON

Response Sample

{
  "id": 0,
  "user_id": 8507,
  "company_id": 1024,
  "name": "string",
  "date_created": "2025-01-15T10:30:00Z",
  "date_last_updated": "2025-01-15T10:30:00Z",
  "is_inclusion": true,
  "list_projects_associated": [
    "string"
  ]
}

Get User Keyword Filtering Lists

Request Sample

const result = await mediaviz.keywords.getUserKeywordFilteringLists();
import type { KeywordListDisplayWithProjects } from '@mediaviz/sdk';

const result: KeywordListDisplayWithProjects[] = await mediaviz.keywords.getUserKeywordFilteringLists();
const result = await mediaviz.keywords.getUserKeywordFilteringLists();
const { client } = useMediaViz();

const result = await client.keywords.getUserKeywordFilteringLists();
result = mediaviz.keywords.get_user_keyword_filtering_lists()
$result = $mediaviz->keywords->getUserKeywordFilteringLists();
curl -X GET 'https://api.mediaviz.ai/api/v1/keyword/user' \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoidXNyXzAxYWJjMTIzIiwiZXhwIjoxNzQzNjMwMzI5fQ.RwJF-KLLr8K5JgEtIeFiKWELcv-FDLNzMPHJ2St_wAo'

Response Sample

[
  {
    "id": 0,
    "user_id": 8507,
    "company_id": 1024,
    "name": "string",
    "date_created": "2025-01-15T10:30:00Z",
    "date_last_updated": "2025-01-15T10:30:00Z",
    "is_inclusion": true,
    "list_projects_associated": [
      "string"
    ]
  }
]

Get Company Keyword Lists

Request Sample

const result = await mediaviz.keywords.getCompanyKeywordLists('<COMPANY_ID>');
import type { CompanyKeywordListOverview } from '@mediaviz/sdk';

const result: CompanyKeywordListOverview[] = await mediaviz.keywords.getCompanyKeywordLists('<COMPANY_ID>');
const result = await mediaviz.keywords.getCompanyKeywordLists('<COMPANY_ID>');
const { client } = useMediaViz();

const result = await client.keywords.getCompanyKeywordLists('<COMPANY_ID>');
result = mediaviz.keywords.get_company_keyword_lists('<COMPANY_ID>')
$result = $mediaviz->keywords->getCompanyKeywordLists('<COMPANY_ID>');
curl -X GET 'https://api.mediaviz.ai/api/v1/keyword/company/<COMPANY_ID>' \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoidXNyXzAxYWJjMTIzIiwiZXhwIjoxNzQzNjMwMzI5fQ.RwJF-KLLr8K5JgEtIeFiKWELcv-FDLNzMPHJ2St_wAo'

Response Sample

[
  {
    "id": 0,
    "name": "string",
    "active_keywords": 0,
    "excluded_keywords": 0,
    "project_ids": [
      "string"
    ]
  }
]

Get Keyword Filtering List And Projects By Id

Use this to see which collections a keyword list is applied to. Returns the keyword list's details and its collection IDs, but not its keywords; for those, use Get Keyword Filtering List By Id.

Request Sample

const result = await mediaviz.keywords.getKeywordFilteringListAndProjectsById('<KEYWORD_LIST_ID>');
import type { KeywordListDisplayWithProjects } from '@mediaviz/sdk';

const result: KeywordListDisplayWithProjects = await mediaviz.keywords.getKeywordFilteringListAndProjectsById('<KEYWORD_LIST_ID>');
const result = await mediaviz.keywords.getKeywordFilteringListAndProjectsById('<KEYWORD_LIST_ID>');
const { client } = useMediaViz();

const result = await client.keywords.getKeywordFilteringListAndProjectsById('<KEYWORD_LIST_ID>');
result = mediaviz.keywords.get_keyword_filtering_list_and_projects_by_id('<KEYWORD_LIST_ID>')
$result = $mediaviz->keywords->getKeywordFilteringListAndProjectsById('<KEYWORD_LIST_ID>');
curl -X GET 'https://api.mediaviz.ai/api/v1/keyword/<KEYWORD_LIST_ID>' \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoidXNyXzAxYWJjMTIzIiwiZXhwIjoxNzQzNjMwMzI5fQ.RwJF-KLLr8K5JgEtIeFiKWELcv-FDLNzMPHJ2St_wAo'

Response Sample

{
  "id": 0,
  "user_id": 8507,
  "company_id": 1024,
  "name": "string",
  "date_created": "2025-01-15T10:30:00Z",
  "date_last_updated": "2025-01-15T10:30:00Z",
  "is_inclusion": true,
  "list_projects_associated": [
    "string"
  ]
}

Get Keyword Filtering List By Id

Use this to see which keywords a keyword list includes or excludes. Returns the keyword list's details and its keyword IDs, but not its collections; for those, use Get Keyword Filtering List And Projects By Id. is_inclusion shows the keyword list's type (null until its first update), and the gsheet_*_link fields hold the latest export, if any.

Request Sample

const result = await mediaviz.keywords.getKeywordFilteringListById('<KEYWORD_LIST_ID>');
import type { KeywordListDisplayWithList } from '@mediaviz/sdk';

const result: KeywordListDisplayWithList = await mediaviz.keywords.getKeywordFilteringListById('<KEYWORD_LIST_ID>');
const result = await mediaviz.keywords.getKeywordFilteringListById('<KEYWORD_LIST_ID>');
const { client } = useMediaViz();

const result = await client.keywords.getKeywordFilteringListById('<KEYWORD_LIST_ID>');
result = mediaviz.keywords.get_keyword_filtering_list_by_id('<KEYWORD_LIST_ID>')
$result = $mediaviz->keywords->getKeywordFilteringListById('<KEYWORD_LIST_ID>');
curl -X GET 'https://api.mediaviz.ai/api/v1/keyword/list/<KEYWORD_LIST_ID>' \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoidXNyXzAxYWJjMTIzIiwiZXhwIjoxNzQzNjMwMzI5fQ.RwJF-KLLr8K5JgEtIeFiKWELcv-FDLNzMPHJ2St_wAo'

Response Sample

{
  "id": 0,
  "user_id": 8507,
  "company_id": 1024,
  "name": "string",
  "date_created": "2025-01-15T10:30:00Z",
  "date_last_updated": "2025-01-15T10:30:00Z",
  "is_inclusion": true,
  "gsheet_view_link": "https://example.com/...",
  "gsheet_csv_link": "https://example.com/...",
  "gsheet_xlsx_link": "https://example.com/...",
  "list_keywords_included_or_excluded": [
    0
  ]
}

Get Existing Keyword Filtering List By Project

Returns the keyword list that applies to a collection. If the collection doesn't have its own keyword list, it falls back to the company's default. source tells you which one you got: project or company. If neither exists, both values are null.

Request Sample

const result = await mediaviz.keywords.getExistingKeywordFilteringListByProject('<PROJECT_TABLE_NAME>');
const result = await mediaviz.keywords.getExistingKeywordFilteringListByProject('<PROJECT_TABLE_NAME>');
const result = await mediaviz.keywords.getExistingKeywordFilteringListByProject('<PROJECT_TABLE_NAME>');
const { client } = useMediaViz();

const result = await client.keywords.getExistingKeywordFilteringListByProject('<PROJECT_TABLE_NAME>');
result = mediaviz.keywords.get_existing_keyword_filtering_list_by_project('<PROJECT_TABLE_NAME>')
$result = $mediaviz->keywords->getExistingKeywordFilteringListByProject('<PROJECT_TABLE_NAME>');
curl -X GET 'https://api.mediaviz.ai/api/v1/keyword/project/<PROJECT_TABLE_NAME>' \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoidXNyXzAxYWJjMTIzIiwiZXhwIjoxNzQzNjMwMzI5fQ.RwJF-KLLr8K5JgEtIeFiKWELcv-FDLNzMPHJ2St_wAo'

Response Sample

{
  "keyword list for project a1b2c3d4-0000-0000-0000-000000000000": 7,
  "source": "project"
}

Get Default Keyword Filtering List By Project

Returns all keywords detected in the collection, unfiltered, as [id, label, photo_count] entries sorted by keyword ID.

Request Sample

const result = await mediaviz.keywords.getDefaultKeywordFilteringListByProject('<PROJECT_TABLE_NAME>');
const result = await mediaviz.keywords.getDefaultKeywordFilteringListByProject('<PROJECT_TABLE_NAME>');
const result = await mediaviz.keywords.getDefaultKeywordFilteringListByProject('<PROJECT_TABLE_NAME>');
const { client } = useMediaViz();

const result = await client.keywords.getDefaultKeywordFilteringListByProject('<PROJECT_TABLE_NAME>');
result = mediaviz.keywords.get_default_keyword_filtering_list_by_project('<PROJECT_TABLE_NAME>')
$result = $mediaviz->keywords->getDefaultKeywordFilteringListByProject('<PROJECT_TABLE_NAME>');
curl -X GET 'https://api.mediaviz.ai/api/v1/keyword/project/<PROJECT_TABLE_NAME>/default' \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoidXNyXzAxYWJjMTIzIiwiZXhwIjoxNzQzNjMwMzI5fQ.RwJF-KLLr8K5JgEtIeFiKWELcv-FDLNzMPHJ2St_wAo'

Response Sample

{
  "keyword_list": [
    [
      12,
      "beach",
      48
    ],
    [
      37,
      "sunset",
      12
    ]
  ]
}

Get Keywords And Ids

Returns every keyword ID mapped to its label. Keyword lists store keyword IDs, so use this to look up the IDs to pass to Update Keyword Filtering List Labels, and to turn a keyword list's IDs back into labels.

Request Sample

const result = await mediaviz.keywords.getKeywordsAndIds();
const result = await mediaviz.keywords.getKeywordsAndIds();
const result = await mediaviz.keywords.getKeywordsAndIds();
const { client } = useMediaViz();

const result = await client.keywords.getKeywordsAndIds();
result = mediaviz.keywords.get_keywords_and_ids()
$result = $mediaviz->keywords->getKeywordsAndIds();
curl -X GET 'https://api.mediaviz.ai/api/v1/keyword/all_keywords/id/label' \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoidXNyXzAxYWJjMTIzIiwiZXhwIjoxNzQzNjMwMzI5fQ.RwJF-KLLr8K5JgEtIeFiKWELcv-FDLNzMPHJ2St_wAo'

Response Sample

{
  "12": "beach",
  "37": "sunset",
  "58": "wedding"
}

Update Keyword Filtering List Labels

Pass the IDs of keywords to use in listKeywordsToInclude and keywords to drop in listKeywordsToExclude (find IDs with Get Keywords And Ids). Send both arrays every time, using [] if one is empty. First update: it permanently sets the keyword list's type. If you include more keywords than you exclude, only the included keywords are used. Otherwise, every keyword is used except the excluded ones. Any previous export is deleted.

Request Sample

const result = await mediaviz.keywords.updateKeywordFilteringListLabels(
  '<KEYWORD_LIST_ID>',
  '<LIST_KEYWORDS_TO_INCLUDE>',
  '<LIST_KEYWORDS_TO_EXCLUDE>'
);
import type { KeywordListDisplayWithList } from '@mediaviz/sdk';

const result: KeywordListDisplayWithList = await mediaviz.keywords.updateKeywordFilteringListLabels(
  '<KEYWORD_LIST_ID>',
  '<LIST_KEYWORDS_TO_INCLUDE>',
  '<LIST_KEYWORDS_TO_EXCLUDE>'
);
const result = await mediaviz.keywords.updateKeywordFilteringListLabels(
  '<KEYWORD_LIST_ID>',
  '<LIST_KEYWORDS_TO_INCLUDE>',
  '<LIST_KEYWORDS_TO_EXCLUDE>'
);
const { client } = useMediaViz();

const result = await client.keywords.updateKeywordFilteringListLabels(
  '<KEYWORD_LIST_ID>',
  '<LIST_KEYWORDS_TO_INCLUDE>',
  '<LIST_KEYWORDS_TO_EXCLUDE>'
);
result = mediaviz.keywords.update_keyword_filtering_list_labels(
    '<KEYWORD_LIST_ID>',
    '<LIST_KEYWORDS_TO_INCLUDE>',
    '<LIST_KEYWORDS_TO_EXCLUDE>'
)
$result = $mediaviz->keywords->updateKeywordFilteringListLabels(
  '<KEYWORD_LIST_ID>',
  '<LIST_KEYWORDS_TO_INCLUDE>',
  '<LIST_KEYWORDS_TO_EXCLUDE>'
);
curl -X PUT 'https://api.mediaviz.ai/api/v1/keyword/<KEYWORD_LIST_ID>' \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoidXNyXzAxYWJjMTIzIiwiZXhwIjoxNzQzNjMwMzI5fQ.RwJF-KLLr8K5JgEtIeFiKWELcv-FDLNzMPHJ2St_wAo' \
  -H 'Content-Type: application/json' \
  --data @- <<'JSON'
{
  "list_keywords_to_include": "<LIST_KEYWORDS_TO_INCLUDE>",
  "list_keywords_to_exclude": "<LIST_KEYWORDS_TO_EXCLUDE>"
}
JSON

Response Sample

{
  "id": 0,
  "user_id": 8507,
  "company_id": 1024,
  "name": "string",
  "date_created": "2025-01-15T10:30:00Z",
  "date_last_updated": "2025-01-15T10:30:00Z",
  "is_inclusion": true,
  "gsheet_view_link": "https://example.com/...",
  "gsheet_csv_link": "https://example.com/...",
  "gsheet_xlsx_link": "https://example.com/...",
  "list_keywords_included_or_excluded": [
    0
  ]
}

Update Keyword Filtering List Details

Request Sample

const result = await mediaviz.keywords.updateKeywordFilteringListDetails(
  '<KEYWORD_LIST_ID>',
  {
    name: '<NAME>',
    projectList: '<PROJECT_LIST>'
  }
);
import type { KeywordListDisplayWithProjects } from '@mediaviz/sdk';

const result: KeywordListDisplayWithProjects = await mediaviz.keywords.updateKeywordFilteringListDetails(
  '<KEYWORD_LIST_ID>',
  {
    name: '<NAME>',
    projectList: '<PROJECT_LIST>'
  }
);
const result = await mediaviz.keywords.updateKeywordFilteringListDetails(
  '<KEYWORD_LIST_ID>',
  {
    name: '<NAME>',
    projectList: '<PROJECT_LIST>'
  }
);
const { client } = useMediaViz();

const result = await client.keywords.updateKeywordFilteringListDetails(
  '<KEYWORD_LIST_ID>',
  {
    name: '<NAME>',
    projectList: '<PROJECT_LIST>'
  }
);
result = mediaviz.keywords.update_keyword_filtering_list_details(
    '<KEYWORD_LIST_ID>',
    name='<NAME>',
    project_list='<PROJECT_LIST>'
)
$result = $mediaviz->keywords->updateKeywordFilteringListDetails(
  '<KEYWORD_LIST_ID>',
  [
    'name' => '<NAME>',
    'projectList' => '<PROJECT_LIST>'
  ]
);
curl -X PUT 'https://api.mediaviz.ai/api/v1/keyword/details/<KEYWORD_LIST_ID>' \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoidXNyXzAxYWJjMTIzIiwiZXhwIjoxNzQzNjMwMzI5fQ.RwJF-KLLr8K5JgEtIeFiKWELcv-FDLNzMPHJ2St_wAo' \
  -H 'Content-Type: application/json' \
  --data @- <<'JSON'
{
  "name": "<NAME>",
  "project_list": "<PROJECT_LIST>"
}
JSON

Response Sample

{
  "id": 0,
  "user_id": 8507,
  "company_id": 1024,
  "name": "string",
  "date_created": "2025-01-15T10:30:00Z",
  "date_last_updated": "2025-01-15T10:30:00Z",
  "is_inclusion": true,
  "list_projects_associated": [
    "string"
  ]
}

Add Projects To Keyword Filtering List

Takes collection IDs, not table names. A collection can belong to only one keyword list; adding one that's already in another keyword list fails with 400 until it's removed from that keyword list.

Request Sample

const result = await mediaviz.keywords.addProjectsToKeywordFilteringList(
  '<KEYWORD_LIST_ID>',
  {
    projectIds: '<PROJECT_IDS>'
  }
);
const result = await mediaviz.keywords.addProjectsToKeywordFilteringList(
  '<KEYWORD_LIST_ID>',
  {
    projectIds: '<PROJECT_IDS>'
  }
);
const result = await mediaviz.keywords.addProjectsToKeywordFilteringList(
  '<KEYWORD_LIST_ID>',
  {
    projectIds: '<PROJECT_IDS>'
  }
);
const { client } = useMediaViz();

const result = await client.keywords.addProjectsToKeywordFilteringList(
  '<KEYWORD_LIST_ID>',
  {
    projectIds: '<PROJECT_IDS>'
  }
);
result = mediaviz.keywords.add_projects_to_keyword_filtering_list('<KEYWORD_LIST_ID>', project_ids='<PROJECT_IDS>')
$result = $mediaviz->keywords->addProjectsToKeywordFilteringList(
  '<KEYWORD_LIST_ID>',
  [
    'projectIds' => '<PROJECT_IDS>'
  ]
);
curl -X POST 'https://api.mediaviz.ai/api/v1/keyword/<KEYWORD_LIST_ID>/projects' \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoidXNyXzAxYWJjMTIzIiwiZXhwIjoxNzQzNjMwMzI5fQ.RwJF-KLLr8K5JgEtIeFiKWELcv-FDLNzMPHJ2St_wAo'

Response Sample

{
  "projects added to keyword list Wedding Keywords": [
    "a1b2c3d4-0000-0000-0000-000000000000"
  ]
}

Add Company To Keyword Filtering List

Sets the keyword list as the company's default, which applies to every collection without its own keyword list. A company has one default at a time, so this replaces any existing default. Requires a company admin, and the keyword list must belong to that company.

Request Sample

const result = await mediaviz.keywords.addCompanyToKeywordFilteringList(
  '<KEYWORD_LIST_ID>',
  {
    companyId: '<COMPANY_ID>'
  }
);
const result = await mediaviz.keywords.addCompanyToKeywordFilteringList(
  '<KEYWORD_LIST_ID>',
  {
    companyId: '<COMPANY_ID>'
  }
);
const result = await mediaviz.keywords.addCompanyToKeywordFilteringList(
  '<KEYWORD_LIST_ID>',
  {
    companyId: '<COMPANY_ID>'
  }
);
const { client } = useMediaViz();

const result = await client.keywords.addCompanyToKeywordFilteringList(
  '<KEYWORD_LIST_ID>',
  {
    companyId: '<COMPANY_ID>'
  }
);
result = mediaviz.keywords.add_company_to_keyword_filtering_list('<KEYWORD_LIST_ID>', company_id='<COMPANY_ID>')
$result = $mediaviz->keywords->addCompanyToKeywordFilteringList(
  '<KEYWORD_LIST_ID>',
  [
    'companyId' => '<COMPANY_ID>'
  ]
);
curl -X POST 'https://api.mediaviz.ai/api/v1/keyword/<KEYWORD_LIST_ID>/company' \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoidXNyXzAxYWJjMTIzIiwiZXhwIjoxNzQzNjMwMzI5fQ.RwJF-KLLr8K5JgEtIeFiKWELcv-FDLNzMPHJ2St_wAo'

Response Sample

{
  "keyword list activated for company 1024": 7
}

Request Keyword List Export

Starts an export of the keyword list in the background. Use Request Keyword List Export Status to track its progress; once it's done, the export's links appear in the gsheet_*_link fields of Get Keyword Filtering List By Id.

Request Sample

const result = await mediaviz.keywords.requestKeywordListExport('<KEYWORD_LIST_ID>');
const result = await mediaviz.keywords.requestKeywordListExport('<KEYWORD_LIST_ID>');
const result = await mediaviz.keywords.requestKeywordListExport('<KEYWORD_LIST_ID>');
const { client } = useMediaViz();

const result = await client.keywords.requestKeywordListExport('<KEYWORD_LIST_ID>');
result = mediaviz.keywords.request_keyword_list_export('<KEYWORD_LIST_ID>')
$result = $mediaviz->keywords->requestKeywordListExport('<KEYWORD_LIST_ID>');
curl -X GET 'https://api.mediaviz.ai/api/v1/keyword/export/<KEYWORD_LIST_ID>' \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoidXNyXzAxYWJjMTIzIiwiZXhwIjoxNzQzNjMwMzI5fQ.RwJF-KLLr8K5JgEtIeFiKWELcv-FDLNzMPHJ2St_wAo'

Response Sample

{
  "ok": true
}

Request Keyword List Export Status

Request Sample

const result = await mediaviz.keywords.requestKeywordListExportStatus('<KEYWORD_LIST_ID>');
import type { AnalysisStatusResponse } from '@mediaviz/sdk';

const result: AnalysisStatusResponse = await mediaviz.keywords.requestKeywordListExportStatus('<KEYWORD_LIST_ID>');
const result = await mediaviz.keywords.requestKeywordListExportStatus('<KEYWORD_LIST_ID>');
const { client } = useMediaViz();

const result = await client.keywords.requestKeywordListExportStatus('<KEYWORD_LIST_ID>');
result = mediaviz.keywords.request_keyword_list_export_status('<KEYWORD_LIST_ID>')
$result = $mediaviz->keywords->requestKeywordListExportStatus('<KEYWORD_LIST_ID>');
curl -X GET 'https://api.mediaviz.ai/api/v1/keyword/export_status/<KEYWORD_LIST_ID>' \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoidXNyXzAxYWJjMTIzIiwiZXhwIjoxNzQzNjMwMzI5fQ.RwJF-KLLr8K5JgEtIeFiKWELcv-FDLNzMPHJ2St_wAo'

Response Sample

{
  "project_table_name": "z-photos-1024-a1b2c3d4",
  "model_or_process": "string",
  "status": "string",
  "last_updated_at": "2025-01-15T10:30:00Z"
}

Remove Projects From Keyword Filtering List

Takes collection IDs, not table names. Fails with 400 while an export of the keyword list is in progress.

Request Sample

const result = await mediaviz.keywords.removeProjectsFromKeywordFilteringList(
  '<KEYWORD_LIST_ID>',
  {
    projectIds: '<PROJECT_IDS>'
  }
);
const result = await mediaviz.keywords.removeProjectsFromKeywordFilteringList(
  '<KEYWORD_LIST_ID>',
  {
    projectIds: '<PROJECT_IDS>'
  }
);
const result = await mediaviz.keywords.removeProjectsFromKeywordFilteringList(
  '<KEYWORD_LIST_ID>',
  {
    projectIds: '<PROJECT_IDS>'
  }
);
const { client } = useMediaViz();

const result = await client.keywords.removeProjectsFromKeywordFilteringList(
  '<KEYWORD_LIST_ID>',
  {
    projectIds: '<PROJECT_IDS>'
  }
);
result = mediaviz.keywords.remove_projects_from_keyword_filtering_list('<KEYWORD_LIST_ID>', project_ids='<PROJECT_IDS>')
$result = $mediaviz->keywords->removeProjectsFromKeywordFilteringList(
  '<KEYWORD_LIST_ID>',
  [
    'projectIds' => '<PROJECT_IDS>'
  ]
);
curl -X DELETE 'https://api.mediaviz.ai/api/v1/keyword/<KEYWORD_LIST_ID>/projects' \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoidXNyXzAxYWJjMTIzIiwiZXhwIjoxNzQzNjMwMzI5fQ.RwJF-KLLr8K5JgEtIeFiKWELcv-FDLNzMPHJ2St_wAo'

Response Sample

{
  "projects removed from keyword list Wedding Keywords": [
    "a1b2c3d4-0000-0000-0000-000000000000"
  ]
}

Remove Company From Keyword Filtering List

Clears the keyword list as the company's default. Requires a company admin.

Request Sample

const result = await mediaviz.keywords.removeCompanyFromKeywordFilteringList(
  '<KEYWORD_LIST_ID>',
  {
    companyId: '<COMPANY_ID>'
  }
);
const result = await mediaviz.keywords.removeCompanyFromKeywordFilteringList(
  '<KEYWORD_LIST_ID>',
  {
    companyId: '<COMPANY_ID>'
  }
);
const result = await mediaviz.keywords.removeCompanyFromKeywordFilteringList(
  '<KEYWORD_LIST_ID>',
  {
    companyId: '<COMPANY_ID>'
  }
);
const { client } = useMediaViz();

const result = await client.keywords.removeCompanyFromKeywordFilteringList(
  '<KEYWORD_LIST_ID>',
  {
    companyId: '<COMPANY_ID>'
  }
);
result = mediaviz.keywords.remove_company_from_keyword_filtering_list('<KEYWORD_LIST_ID>', company_id='<COMPANY_ID>')
$result = $mediaviz->keywords->removeCompanyFromKeywordFilteringList(
  '<KEYWORD_LIST_ID>',
  [
    'companyId' => '<COMPANY_ID>'
  ]
);
curl -X DELETE 'https://api.mediaviz.ai/api/v1/keyword/<KEYWORD_LIST_ID>/company' \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoidXNyXzAxYWJjMTIzIiwiZXhwIjoxNzQzNjMwMzI5fQ.RwJF-KLLr8K5JgEtIeFiKWELcv-FDLNzMPHJ2St_wAo'

Response Sample

{
  "keyword list removed for company 1024": 7
}

Delete Keyword Filtering List By Id

Deletes the keyword list and removes it from every collection it was applied to.

Request Sample

const result = await mediaviz.keywords.deleteKeywordFilteringListById('<KEYWORD_LIST_ID>');
const result = await mediaviz.keywords.deleteKeywordFilteringListById('<KEYWORD_LIST_ID>');
const result = await mediaviz.keywords.deleteKeywordFilteringListById('<KEYWORD_LIST_ID>');
const { client } = useMediaViz();

const result = await client.keywords.deleteKeywordFilteringListById('<KEYWORD_LIST_ID>');
result = mediaviz.keywords.delete_keyword_filtering_list_by_id('<KEYWORD_LIST_ID>')
$result = $mediaviz->keywords->deleteKeywordFilteringListById('<KEYWORD_LIST_ID>');
curl -X DELETE 'https://api.mediaviz.ai/api/v1/keyword/<KEYWORD_LIST_ID>' \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoidXNyXzAxYWJjMTIzIiwiZXhwIjoxNzQzNjMwMzI5fQ.RwJF-KLLr8K5JgEtIeFiKWELcv-FDLNzMPHJ2St_wAo'

Response Sample

{
  "successful deletion of keyword list Wedding Keywords": true
}