Passports

Upsert an economic-operator party.

Create or replace the Party for one role on a passport. Sending the same role twice is an upsert: the existing block is replaced atomically. At least one of gln, legacyOperatorId, or operatorIdentifier must be set in the body — without an identifier the Party doesn't actually identify anyone. If both gln and operatorIdentifier (scheme gln) are set they must match (400). An operatorIdentifier of scheme gln also fills gln.

When two roles share the same gln, the JSON-LD emission collapses them into a single party with multiple roles attached.

An LEI (operatorIdentifier or facilityIdentifier with scheme iso6523, icd 0199) is verified against the GLEIF register. Rejected (400): not in the GLEIF index, ANNULLED, DUPLICATE (the message names the LEI to use), CANCELLED. Saved with a warnings entry: LAPSED (not renewed; still the entity), RETIRED or an inactive entity, or a legalName that matches none of GLEIF's names for that LEI.

patch/api/v1/passports/{id}/parties/{role}

Request

  • Base URL: https://app.tracepass.eu
  • URL: https://app.tracepass.eu/api/v1/passports/{id}/parties/{role}
  • Auth: one of:
    • HTTP bearer
    • OAuth 2 (authorization code, authorization URL https://app.tracepass.eu/api/oauth/authorize, token URL https://app.tracepass.eu/api/oauth/token, scopes: passports:write)

Request body

glnstring

GS1 Global Location Number (13 digits, mod-10).

legalNamestring required
countrystring

ISO 3166-1 alpha-2 country code.

legacyOperatorIdstring

Free-text fallback identifier (VAT, EORI, supplier code) for parties without a GLN.

urlstring uri
statusstring

Server-side status (active, etc.). Returned but ignored on write.

Example request

{
  "gln": "4012345678901",
  "legalName": "EuroBat Recyclers GmbH",
  "country": "DE",
  "legacyOperatorId": "DE123456789",
  "operatorIdentifier": {
    "icd": "0199",
    "value": "529900T8BM49AURSDO55"
  },
  "facilityIdentifier": {
    "icd": "0199",
    "value": "529900T8BM49AURSDO55"
  }
}

Response

Party upserted.

role'manufacturer' | 'importer' | 'authorisedRepresentative' | 'distributor' | 'recycler' | 'producerResponsibilityOrg' required
versioninteger required

Example response

{
  "party": {
    "gln": "4012345678901",
    "legalName": "EuroBat Recyclers GmbH",
    "country": "DE",
    "legacyOperatorId": "DE123456789",
    "operatorIdentifier": {
      "icd": "0199",
      "value": "529900T8BM49AURSDO55"
    },
    "facilityIdentifier": {
      "icd": "0199",
      "value": "529900T8BM49AURSDO55"
    }
  },
  "warnings": [
    {
      "path": [
        "operatorIdentifier"
      ],
      "message": "LEI 353800SZHNPYLZTIX835 has lapsed: its GLEIF record has not been renewed. It still identifies the entity."
    }
  ]
}

Changes

No recorded changes to this operation across all 1 revision of this API.