Varje entitet ska ha en primärnyckel (ett ID) som per API-implementation unikt definierar varje objekt.
Om det inte finns en sådan nyckel på objektet i systemet, måste den byggas ihop av API-implementationen. Ex, slå ihop två fält till en unik komposit-nyckel i utgående data och slå isär kompositnyckeln i inkommande data.

I fi2-objekten representeras primärnycklarna av det generella ID-attributet som finns på XML-roten för varje entitet.
Exempel: <fi2leasecontract id=”1234567”>
Det är alltid detta ID som används för att länka mellan fi2-objekt, ex för att peka ut hyregäst på ett kontrakt.
Det ID som anges tillsammans med en usage är ett verksamhets-ID.

Primärnycklen måste vara unik för hela entiteten inom API-implementationen. Ex för fi2leasecontract måste alla objekt som modelleras som en fi2leasecontract ha ett unikt ID oavsett vilken typ/klass entiteten har.

Beroende på om API:et är master för entiteten eller inte, bestäms id av anropande system eller i API:et.
Om API:et är master och ett id skickas in, ignoreras detta id och ett nytt id genereras. I det nyskapade objektet som returneras ska det nya id:t ingå.
Om API:et inte är master så ska id skickas in vid POST. Skickas inget id med kastas ett fel.