Skip to main content

Major update to Fishhealth API (2025-02-14)

Nóra Zsemlye
BarentsWatch forvaltningsteam

To accomodate for changes in the disease data sent by aquaculture sites, the Fishhealth API has some updates.

In addition to Pancreas disease (PD) and Infectious salmon anemia (ISA), the API is now providing data about several other types of disease via new endpoints.

The outdated endpoints have now been marked as obsolete in the Fishhealth API, and will be removed after 25th of May 2025.

Affected endpoints

  • POST /v2/geodata/fishhealth/{year}/{week}

    Replaces GET /v1/geodata/fishhealth/{year}/{week}

    • year, week, totalNumberOfLocalities, numberOfFilteredLocalities and numberOfReportingLocalities - no longer available
    • diseaseOutbreaks - replaces newLocalitiesWithDisease
    • diseaseStatistics - replaces numberOfLocalitiesWithIla and numberOfLocalitiesWithPd
    • annualDiseaseStatistics - replaces newLocalitiesWithDiseaseAnnual
      • diseaseStatistics - replaces totalNewIlaCases and totalNewPdCases
      • filteredDiseaseStatistics - replaces includedNewIlaCases and includedNewPdCases
      • weeklyDiseaseStatistics - replaces newDiseaseCases
    • farmedFishEscapes - replaces escapes
    • annualEscapeStatistics - replaces escapesAnnual
      • escapeStatistics and filteredEscapeStatistics - new properties
      • weeklyEscapeStatistics - replaces escapes
    • liceStatistics
      • aboveThreshold - replaces localitiesAboveThreshold and percentageOfLocalitiesAboveThreshold
      • belowThreshold - replaces localitiesBelowThreshold and percentageOfLocalitiesBelowThreshold
      • belowMinimumThreshold - replaces localitiesBelowMinimumThreshold and percentageOfLocalitiesBelowMinimumThreshold
    • annualLiceStatistics - replaces localitiesAboveLiceLimitAnnual
      • liceStatistics - replaces totalLocalitiesAboveLiceLimitCount
      • filteredLiceStatistics - replaces includedLocalitiesAboveLiceLimitCount
      • weeklyLiceStatistics - replaces localitiesAboveLiceLimitCount
  • POST /v2/geodata/fishhealth/locality/{year}/{week}

    Replaces GET /v1/geodata/fishhealth/locality/{year}/{week}

    • year and week - no longer available
    • diseases - replaces hasIla and hasPd
    • geometry - replaces lat and lon
    • liceReport
      • hasReported - replaces hasReportedLice
      • isFallow - replaces + relocates isFallow
      • adultFemaleLice
        • average - replaces avgAdultFemaleLice
        • averageOfPreviousWeek - new property
      • mobileLice - new property
      • stationaryLice - new property
      • totalLice - new property
    • liceTreatments - replaces hasCleanerfishDeployed, hasMechanicalRemoval and hasSubstanceTreatments
    • hasSalmonoidLicense - replaces hasSalmonoids
    • locality - replaces localityNo, name and isOnLand
    • municipality - replaces municipalityNo and municipality
  • GET /v2/geodata/fishhealth/locality/{localityNo}/{year}/{week}

    Replaces GET /v1/geodata/fishhealth/locality/{localityNo}/{year}/{week}

    • localityWeek
      • hasBathTreatment, hasCleanerFishDeployed, hasInFeedTreatment and hasMechanicalRemoval - no longer available (see liceTreatments)
    • aquaCultureRegister
      • hasSalmonoidLicense - replaces localityWeek.hasSalmonoids
      • hasGreenLicense - replaces aquaCultureRegister.isGreen
      • isSlaughterHoldingCage - replaces localityWeek.isSlaughterHoldingCage
      • productionTypes - a list instead of a comma-delimited text
      • purposes - a list instead of a comma-delimited text
      • species - a list instead of a comma-delimited text
      • speciesList - no longer available (see species)
    • controlAreas - replaces ilaSurveillanceZones, ilaProtectionZones, pdSurveillanceZones and pdProtectionZones
    • diseases - replaces ilaPd and ilaPdCase
      • version - new property
        • version = 1: previously ilaPd
          • name - replaces disease
          • status - replaces ruling
          • suspicionDate - replaces fromDate when status=SUSPECTED
          • diagnosisDate - replaces fromDate when status=DIAGNOSED
          • closureDate - replaces toDate
        • version = 2: previously ilaPdCase
          • name - replaces disease
          • subType - replaces subtype
          • createdDate - no longer available
          • changedDate - no longer available
          • suspicionDate - replaces suspectedDate
          • diagnosisDate - replaces confirmedDate
          • disproved - no longer available
          • disprovedDate - no longer available
          • closureDate - replaces closedDate
        • version = 3: disease cases after 2024 week 49
    • farmedFishEscapes - replaces escapes
    • geometry - replaces lat and lon
    • liceReport
      • hasReported - replaces localityWeek.hasReportedLice
      • isFallow - replaces localityWeek.isFallow
      • adultFemaleLice
        • average - replaces localityWeek.avgAdultFemaleLice
        • averageOfPreviousWeek - replaces liceCountPreviousWeek.avgAdultFemaleLice
      • mobileLice
        • average - replaces localityWeek.avgMobileLice
        • averageOfPreviousWeek - replaces liceCountPreviousWeek.avgMobileLice
      • stationaryLice
        • average - replaces localityWeek.avgStationaryLice
        • averageOfPreviousWeek - replaces liceCountPreviousWeek.avgStationaryLice
      • totalLice - new property
      • seaTemperature - replaces localityWeek.seaTemperature
    • liceTreatments
      • combinationTreatments - replaces localityWeek.combinationTreatments
      • medicinalTreatments - replaces localityWeek.medicinalTreatments
      • nonMedicinalTreatments - replaces localityWeek.nonMedicinalTreatments
      • bathTreatments - replaces localityWeek.bathTreatments
      • cleanerFishTreatment - replaces localityWeek.cleanerFish
      • inFeedTreatments - replaces localityWeek.inFeedTreatments
      • mechanicalRemovalTreatment - replaces localityWeek.mechanicalRemoval
      • daysSinceLastChitinSynthesisInhibitorTreatment - replaces timeSinceLastChitinSynthesisInhibitorTreatment
    • locality - replaces aquaCultureRegister.name, aquaCultureRegister.localityNo
    • municipality - replaces aquaCultureRegister.municipalityNo and aquaCultureRegister.municipality
    • productionArea - certain properties are no longer available
  • GET /v3/geodata/fishhealth/locality/{localityNo}/disease/{year}

    Replaces GET /v2/geodata/fishhealth/locality/{localityNo}/disease/{year}

    • name - replaces disease
    • subType - replaces subtype
    • version - new property
    • suspicionDate - replaces suspectedDate
    • diagnosisDate - replaces confirmedDate
    • disproved - no longer available
    • disprovedDate - no longer available
    • closureDate - replaces closedDate

Major update to Fishhealth APIs (2024-11-15)

Anders Bakkevold
BarentsWatch forvaltningsteam

To accomodate for changes in the licereport sent by aquaculture sites weekly, the Fishhealth API will soon have some changes.

Changes in brief

  • A report can now have several Non-medicinal treatments (previously called mechanical removal). These treatments have a specified type.
  • Medicinal treatments (previously called treatments) have an updated data model:
    • They no longer have start- and enddates, they are tied to the reporting week.
    • They have a new optional field NumberOfCages
    • In addition to infeed and bath, 'other' is now an option
  • Combination treatments is added. They consist of a combination of medicinal treatments and/or non-medicinal treatments.

The new data model will soon be in production, but with no data for the new fields. Later on, new licereports will switch to v2 format.

Affected endpoints

  • GET /v1/geodata/fishhealth/locality/{localityId}/{year}/{week}
    • The new version property has value 1 for exisiting data. New reports on the new format will have version 2.
    • Version 2 may have data for combinationTreatments, medicinalTreatments, nonMedicinalTreatments, but never for mechanicalRemoval and treatments.
    • Version 1 may have data for mechanical removal and treatments, but never for combinationtreatments, medicianalTreatments and nonMedicinalTreatments.
    • Modified property: localityWeek
      • Properties changed
        • New property: combinationTreatments
        • New property: medicinalTreatments
        • New property: nonMedicinalTreatments
        • New property: version
  • GET /v1/geodata/fishhealth/locality/{localityNo}/liceMedicationEvents/{year}
    • Modified property: data
      • Items changed
        • Properties changed
          • New property: combinationTreatments
          • New property: nonMedicinalTreatments
          • New property: version
          • Modified property: medicinalTreatments
            • Items changed
              • Properties changed
                • New property: numberOfCages
  • GET /v1/geodata/fishhealth/locality/{year}/{week}
    • New query param: nonMedicinalTreatmentType
  • GET /v1/geodata/fishhealth/{year}/{week}
    • New query param: nonMedicinalTreatmentType
  • GET /v1/geodata/municipality/{municipalityNumber}/treatment
    • Responses changed
      • Modified response: 200
        • Content changed
          • Modified media type: application/json
            • Schema changed
              • Items changed
                • Properties changed
                  • New property: freshWaterTreatmentCount
                  • New property: mechanicalTreatmentCount
                  • New property: otherMedicalTreatmentCount
                  • New property: otherNonMedicalTreatmentCount
                  • New property: thermalTreatmentCount

Removal of WMS layers (2024-04-24)

Anders Bakkevold
BarentsWatch forvaltningsteam

Removal of WMS map layers

The following map layers will be removed from the BarentWatch WMS after the 25th of May 2024.

NavnKartlag
Rakettskytefeltandoya_firing_danger_zone
Fjordlinjer - kysttorskcoastal_cod_regulations_latest
Korallrevcoralreef
Gyteområder torskcodspawningground
Faststående bruk (redskap) Anonymisertfishingfacility_anonymous_utm33
Faststående bruk (redskap) Anonymisert, Nedlastingsversjonfishingfacility_download_anonymous
Ising på fartøyvesselicing_latest
J-meldinger - stengte områderjmelding_view
Laksevassdraglaksevassdrag_view
Oppdrettsanlegg, flate ihht akvakulturregisteretlocalityarea_wms
Maritime grenser - Utvalg for Fiskehelsemaritimeboundary_fishhealth
Maritime grensermaritimeboundary_latest
Maritime grenser (utvalg)maritimeboundary_selected
Elektromagnetiske undersøkelser, Pågåendenpdemsurveyongoing_latest
Elektromagnetiske undersøkelser, Planlagtenpdemsurveyplanned_latest
Havbunnsinstallasjonernpdfacility_latest
Seismikk, pågåendenpdsurveyongoing_latest
Seismikk, planlagtnpdsurveyplanned_latest
Produksjonsområder (grenselinjer)productionarea_lines
Laksefjordersalmonfjord_latest
Rekefeltshrimpfishingground_latest
Fartsområde Bankfiske 1 (siste)tradearea_bankfiske1_latest
Fartsområde fjordfiske (siste)Fartsområde fjordfiske (siste)
Fartsområde kystfiske (siste)tradearea_kystfiske_latest
Fartsområde Liten kystfart (siste)tradearea_litenkystfart_latest
VHF dekningsområdevhf_coverage
VHF dekningsområde (siste)vhf_coverage_latest
Bølgevarsel modellområderwaveforecast_area_geom
Bølgevarsel farlederwaveforecast_fairway_geom
Bølgevarsel farleder (UTM33)waveforecast_fairway_geom_utm33
Bølgevarsel kryssende sjø (label engelsk, nærmeste varsel)waveforecast_xseas_area_current_label_en
Bølgevarsel kryssende sjø (label norsk, nærmeste varsel)waveforecast_xseas_area_current_label_no
Bølgevarsel kryssende sjø (label engelsk)waveforecast_xseas_area_latest_label_en
Bølgevarsel kryssende sjø (label norsk)waveforecast_xseas_area_latest_label_no
Forbudssone kitinsyntesehemmerebw:fmz_kitinsyntesehemmere_latest

Updates to our APIs (2024-02-26): Removing ILA free areas

Svein Magnus Vennevik Johansen
BarentsWatch forvaltningsteam

Fish Health API:

The regulation defining "ILA free areas" was repealed in 2022, and we are missing most historical data. Due to this, we are removing:

  • ...the following endpoints from our API:
    • v1/geodata/fishhealth/ilafreeareas/{year}/{week}
    • v1/geodata/fishhealth/ilafreearea/{year}/{week}/{areaId}
    • v1/geodata/fishhealth/ilafreearea/{year}/{week}/{areaId}/{version}
  • ...the ILAFreeAreas property from the response of this endpoint:
    • v1/geodata/fishhealth/locality/{localityId}/{year}/{week}
  • ...the ilafreearea_wms layer from our WMS service: https://geoserver.barentswatch.no/geoserver/

Updates to our APIs (2023-11-14)

Svein Magnus Vennevik Johansen
BarentsWatch forvaltningsteam

Fish Health API:

  • Added endpoint /v1/geodata/fishhealth/locality/{localityno}/vessel/{year} .
    • Returns the same type of data as /v1/geodata/fishhealth/locality/{localityno}/vessel/{year}/{week} , but as a list of results, one for each week of the year.

See API documentation for details: https://www.barentswatch.no/bwapi/openapi/index.html?urls.primaryName=Fishhealth%20API#/VesselTrackWeek/get_v1_geodata_fishhealth_locality__localityno__vessel__year_