← Documentation home

Canonical Markdown source · Oct 20, 2018

Museums Victoria Collections API Integration

providers/museumsvictoria-collections-api.md · 64 lines · SHA-256 a5408e229cdc

Status: Implemented (items-first provider slice)

Updated: July 4, 2026

Official Source

  • Developer docs: <https://collections.museumsvictoria.com.au/developers>
  • API base: <https://collections.museumsvictoria.com.au/api>

Key Platform Facts

  • The API is a GET-only JSON service.
  • Requests should include a `User-Agent` header.
  • Search/list endpoints support `page`, `perpage`, and `envelope=true`.
  • Default list size is 40 records; maximum `perpage` is 100.
  • Pagination appears in response headers and, with `envelope=true`, in the JSON body.
  • Search supports facets such as `recordtype`, `hasimages`, `imagelicence`, `category`, `collectingarea`, and `culturalgroup`.

Implemented Slice

The current Meta Museum provider slice is intentionally item-first:

  • `recordtype=item`
  • `hasimages=yes` for discovery search
  • bounded import/search pages capped at 100 records
  • articles, species, and specimen endpoints excluded until they receive dedicated semantic mapping

Adapter And Routes

  • Adapter: `src/adapters/museumsvictoria.ts`
  • Direct routes:
  • `GET /api/museumsvictoria/profile`
  • `POST /api/museumsvictoria/search`
  • `POST /api/museumsvictoria/object`
  • `POST /api/museumsvictoria/import`
  • Facade routes:
  • `GET /api/providers/museumsvictoria/profile`
  • `POST /api/providers/museumsvictoria/search`
  • `POST /api/providers/museumsvictoria/import`

Mapping Notes

  • Item records are normalized through the shared expansion-provider boundary, then annotated with Museums Victoria source constraints.
  • `displayTitle`, object summary, physical description, significance, associations, keywords, and media are preserved in source snapshots.
  • Media URLs are projected into `representation` entries with media-level licence and rights-statement context.
  • First Peoples and cultural-context fields are carried as review-sensitive source notes rather than flattened into generic claims.

Operational Guardrails

  • Preserve item and media-level rights before any publication workflow.
  • Keep imports bounded to one official API page.
  • Use the official item API URL as the stable source URL when an item identifier is available.
  • Treat articles, species, and specimens as future provider slices, not implicit artwork records.

Test Coverage

  • `tests/adapters/museumsvictoria.test.ts`
  • `tests/api/museumsvictoria/search.test.ts`
  • `tests/api/museumsvictoria/object.test.ts`
  • `tests/api/providers/expansion-routes.test.ts`
  • `tests/fixtures/validation/providers/museumsvictoria/pass.json`
  • `tests/fixtures/validation/providers/museumsvictoria/fail.json`