Organizations & Labels

Organizations

GiroPro features several types of organizations. An organization is a company that fulfills a role in the management of the giro administration. GiroPro features 3 different types of organizations, which each represent a different layer in the organization hierarchy.

These types are:

  • GiroProvider
  • Client
  • Label

The Label is the only organization type that’s relevant for integrating GiroPro into an investor platform. If you want to learn more about organizations you can do so here



Labels

A label is the lowest level of organization that fulfills a role in the management of the giro administration. This is generally the organization that carries the brand name of the investment platform. The label encapsulates the ledgers and general information and configurations of an investment platform.

The labelId is a necessary parameter for many of the endpoints.

Retrieving the Label

The primary reason we want to retrieve the Label is for the labelSettings property. This property describes how we format decimal point values, specifically the number of digits after te decimal point, for various values in GiroPro.

GET /OrganizationGetById/

In order to retrieve the Label we call the /OrganizationGetById/ endpoint which returns the Label based on the provided organization type and organizationId:

const url = 'https://api.dev.giropro.pengine.com/PENGINE/Aggregator/SubjectAggregator/OrganizationGetById/Label/<labelId>';
const options = {
  method: 'GET', 
  headers: {
    accept: 'application/json', 
    authorization: 'bearer <token>'
  }
};

fetch(url, options)
  .then(res => res.json())
  .then(json => console.log(json))
  .catch(err => console.error(err));

This endpoint returns a PengineResult containing an InvestorAdministrationAggregatedItem, which looks like this:

{
    "success": true,
    "httpStatusCode": 200,
    "errors": [],
    "totalCount": 0,
    "items": [
      {
        "return_type": "InvestorAdministrationAggregatedItem",
        "clientId": "05b3bae6-0656-4494-a337-4731aaed1ceb",
        "id": "c482eddc-fe2a-4666-86bc-f32c2a4b4d6c",
        "name": "GiroPro Demo Label",
        "countryCode": "NLD",
        "bankAccountId": "1793c036-2ec4-4354-9503-b1a53e5a6c95",
        "versionState": "None",
        "labelType": "InvestorAdministration",
        "labelSettings": {
          "labelId": "357a12a1-a12a-12ab-a123-a12a1a1ab357",
          "numberOfDecimals": 2, // used for general currency-based values
          "numberOfDecimalsForCash": 2, // used for currency-based values involving Cash Ledgers
          "numberOfDecimalsForAssetUnit": 4, // used for unit-based values involving Assets
          "numberOfDecimalsForAssetPrice": 4, // used exclusively for the market-price of an Asset
          "numberOfDecimalsPercentage": 2, // used for percentages
          "dateFormat": "YYYY-MM-DD",
          "useSequence": true,
          "automaticCashReturn": false,
          "referenceTypesNeedingApproval": [],
          "camt053AllocationWithoutOrder": false,
          "overridingAssetDecimalSettingsList": []
        },
        "administrationParameters": [],
        "labelLedgers": [
          // list of Ledgers used by the Label
        ],
        "bankAccount": {
          // bank account used by the Label
        },
        "aggregatedCommunicationItems": {
          // list of communication items used by the Label
        }
      }
    ],
}

Overruling settings labelSettings might be superseded by other properties throughout GiroPro. For example: an Asset has its own numberOfDecimalsForAssetUnit and numberOfDecimalsForAssetPrice which can differ from those defined in the labelSettings. You should always use the superseding properties, in this case those of the specific Asset.


Back to top

© 2026 Pengine.