API - Lot Origin Entries


Overview

The API lists the origin entries of lots, i.e. the catch certificate entries with document type Lot. Each entry describes one catch origin of the raw material in a lot: landing date, vessel, fish type, fishing area and fishing equipment, and the share of the lot that comes from that origin (originRatio).

A lot made from mixed raw material has several entries, one per origin. The data can for example be used to trace a mixed lot back to its landings.

The endpoint is an interim solution on the existing catch certificate table. When a new lot origin table is available in Wisefish, a new endpoint (lotOrigins) is planned to replace it.

Endpoint name

lotOriginEntries

Source table

WiFi Catch Certificate Entries

Fixed view

The endpoint only lists catch certificate entries that belong to lots:

where("Document Type" = const(Lot))

Requests allowed

GET, POST, PATCH, DELETE

Primary key

Document Type, Document No., Document Line No., Entry Line No., Fish Type, Vessel Code, Landing Date, EU Catch Cert. Doc. No., TI Lot Code

Of these, the endpoint exposes lot (Document No.), fishType, vesselCode and landingDate. Document Type is always Lot (fixed view); the other key fields are not exposed.

Record ID

systemId

Child objects

None

Procedures

None

Only lot, fishType, vesselCode and landingDate of the primary key are available in the API. The other key fields (Document Line No., Entry Line No., EU Catch Cert. Doc. No., TI Lot Code) cannot be set through the API. Unless Wisefish assigns them when the entry is inserted, they are 0 or blank, and a lot can then only have one entry for each combination of fish type, vessel and landing date.


Data

Field List

Property

Type

Format

Description


1

systemId

string

uuid

SystemId

Record ID

non-editable

2

lot

string

max 20

Lot code (field Document No.). The lot that this origin entry belongs to.

primary key

recommended

3

landingDate

string

date

Landing Date

primary key

recommended

4

vesselCode

string

max 20

Vessel Code

primary key

recommended

5

fishType

string

max 10

Fish Type (code from WiFi RM - Official Reporting)

primary key

recommended

6

fishingAreaCode

string

max 10

Fishing Area Code (code from WiFi Fishing Area)

recommended

7

fishingAreaName

string

max 100

Name of Fishing Area. Looked up from the fishing area (FlowField).

non-editable

8

fishingEquipmentCode

string

max 10

Fishing Equipment Code (code from WiFi Fishing Equipment)

optional

9

fishingEquipmentName

string

max 50

Name of Fishing Equipment. Looked up from the fishing equipment (FlowField).

non-editable

10

landingTraceabilityNumber

string

max 20

Traceability Number of the landing. The field is not editable in the table.

non-editable

11

originRatio

number

decimal

Origin Ratio %. The share of the lot that comes from this origin.

recommended

12

systemRowVersion

integer


System row version. Increments every time the record is modified.

non-editable

13

lastModified

string

date-time

SystemModifiedAt (date and time of last change)

non-editable

Object Example

JSON
{
    "systemId": "3f8a2c11-7b4e-f111-b030-c053a2f93f8a",
    "lot": "LOT0206",
    "landingDate": "2026-04-07",
    "vesselCode": "2750",
    "fishType": "COD",
    "fishingAreaCode": "27.5.A",
    "fishingAreaName": "Iceland grounds",
    "fishingEquipmentCode": "TRAWL",
    "fishingEquipmentName": "Bottom trawl",
    "landingTraceabilityNumber": "LT-2026-001842",
    "originRatio": 60,
    "systemRowVersion": 2604415,
    "lastModified": "2026-04-08T09:14:22.517Z"
}


Examples

Read lot origin entries

Read all lot origin entries

Reads all origin entries for all lots. The response is a list of objects, as shown in Object Example.

JSON
GET .../lotOriginEntries

Read one lot origin entry

The Record ID is systemId, so one entry is read with a GET request on the following format:

JSON
GET .../lotOriginEntries(3f8a2c11-7b4e-f111-b030-c053a2f93f8a)

Origin of a specific lot

Lists the origins of the mixed lot LOT0206 and returns only the vessel, landing date, fish type and ratio with $select.

JSON
GET .../lotOriginEntries?$filter=lot eq 'LOT0206'&$select=lot,vesselCode,landingDate,fishType,originRatio

Response:

JSON
{
    "@odata.context": "https://containers.wisefish.com/BC/api/wisefish/base/v1.0/$metadata#companies(cf9f7b85-dd11-ef11-9f8b-6045bde9cc61)/lotOriginEntries(lot,vesselCode,landingDate,fishType,originRatio)",
    "value": [
        {
            "@odata.etag": "W/\"JzE5OzE0NjAyODg4NTcxNDQ4MjM5NDcxOzAwOyc=\"",
            "lot": "LOT0206",
            "vesselCode": "2750",
            "landingDate": "2026-04-07",
            "fishType": "COD",
            "originRatio": 60
        },
        {
            "@odata.etag": "W/\"JzE5OzMzNzk0MjY2Mjc4NTIwNzQ1NjExOzAwOyc=\"",
            "lot": "LOT0206",
            "vesselCode": "1937",
            "landingDate": "2026-04-06",
            "fishType": "COD",
            "originRatio": 40
        }
    ]
}

Lots with raw material from a vessel in a period

Lists the lots that contain raw material landed by vessel 2750 in April 2026.

JSON
GET .../lotOriginEntries?$filter=vesselCode eq '2750' and landingDate ge 2026-04-01 and landingDate le 2026-04-30&$select=lot,landingDate,fishType,originRatio

Create, change and delete lot origin entries

Create a lot origin entry

Registers that all raw material in lot LOT0207 is haddock landed by vessel 2750 on 9 April 2026. The entry gets document type Lot from the fixed view.

Request:

JSON
POST .../lotOriginEntries

Body:
{
    "lot": "LOT0207",
    "landingDate": "2026-04-09",
    "vesselCode": "2750",
    "fishType": "HAD",
    "fishingAreaCode": "27.5.A",
    "fishingEquipmentCode": "TRAWL",
    "originRatio": 100
}

Response:

JSON
{
    "@odata.context": "https://containers.wisefish.com/BC/api/wisefish/base/v1.0/$metadata#companies(cf9f7b85-dd11-ef11-9f8b-6045bde9cc61)/lotOriginEntries/$entity",
    "@odata.etag": "W/\"JzE5OzY2NDEwNTk3NjE4NTUwODg0MjcxOzAwOyc=\"",
    "systemId": "c47e19a2-0d50-f111-b030-c053a2f93f8a",
    "lot": "LOT0207",
    "landingDate": "2026-04-09",
    "vesselCode": "2750",
    "fishType": "HAD",
    "fishingAreaCode": "27.5.A",
    "fishingAreaName": "Iceland grounds",
    "fishingEquipmentCode": "TRAWL",
    "fishingEquipmentName": "Bottom trawl",
    "landingTraceabilityNumber": "",
    "originRatio": 100,
    "systemRowVersion": 2604502,
    "lastModified": "2026-04-09T13:41:10.088Z"
}

Change a lot origin entry

Changes the origin ratio of an entry to 55%. A PATCH request needs the If-Match header with the @odata.etag of the record (or *).

Request:

JSON
PATCH .../lotOriginEntries(3f8a2c11-7b4e-f111-b030-c053a2f93f8a)
If-Match: *

Body:
{
    "originRatio": 55
}

Response:

JSON
{
    "@odata.context": "https://containers.wisefish.com/BC/api/wisefish/base/v1.0/$metadata#companies(cf9f7b85-dd11-ef11-9f8b-6045bde9cc61)/lotOriginEntries/$entity",
    "@odata.etag": "W/\"JzE5OzgxMDM1NTQ3NzI5MDg4MzA1MjYxOzAwOyc=\"",
    "systemId": "3f8a2c11-7b4e-f111-b030-c053a2f93f8a",
    "lot": "LOT0206",
    "landingDate": "2026-04-07",
    "vesselCode": "2750",
    "fishType": "COD",
    "fishingAreaCode": "27.5.A",
    "fishingAreaName": "Iceland grounds",
    "fishingEquipmentCode": "TRAWL",
    "fishingEquipmentName": "Bottom trawl",
    "landingTraceabilityNumber": "LT-2026-001842",
    "originRatio": 55,
    "systemRowVersion": 2604530,
    "lastModified": "2026-04-09T14:02:37.610Z"
}

Delete a lot origin entry

Deletes the entry. On success the response is empty (HTTP status 204 No Content).

JSON
DELETE .../lotOriginEntries(c47e19a2-0d50-f111-b030-c053a2f93f8a)