All pages
Powered by GitBook
1 of 8

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Org Management

Before you can conduct transactions with an organization on the platform, you need to whitelist that organization, and that organization needs to whitelist yours. The following table outlines the typical flow for this process.

Task

1

Get Available Organizations

2

Get Organization Details

3

Update Whitelist

Endpoints

Enterprise Organization Update Whitelist

Enterprise Organization Update Metadata

Add Organization Correlation ID

Remove Organization Correlation ID

Getters

Get Organization Details by ID

Get Organization History

Get Organization Correlation IDs History

AM/FA/Inv - Enterprise Organization Update Whitelist

Details

/external/v1/org/{orgId}/whitelist

Synopsis

AM/FA/Inv - Remove Organization Correlation ID

Details

/external/v1/org/{orgId}/correlation-id/remove

Synopsis

AM/FA/Inv - Get Organization Details

Details

/external/v1/org

Synopsis

AM/FA/Inv - Enterprise Organization Update Metadata

Details

/external/v1/org/{orgId}/data

Synopsis

AM/FA/Inv - Get Organization History

Details

/external/v1/org/history

Synopsis

AM/FA/Inv - Get Organization Correlation IDs History

Details

/external/v1/org/correlation-id/history

Synopsis

AM/FA/Inv - Add Organization Correlation ID

Details

/external/v1/org/{orgId}/correlation-id/add

Synopsis

Enterprise Organization Update Whitelist

put

This route is used for an organization to update whitelist status.

This triggers an asynchronous process (the id of which is returned on the success response) which can be monitored using the "Transactions API" endpoints.

This process will resolve domainName IPs and whitelist or blacklist on multiple infrastructure components.

This endpoint can be called by applications with access to scope "manageOrgs".

Authorizations
Path parameters
orgIdanyRequired

The unique identifier of the organization on the blockchain

Example: US9QIMA
Body
transactionDataall ofRequired

This property contains the transactional data information, i.e. signer information and signature mechanism

Example: {"signer":{"email":"[email protected]","name":"John Doe"}}
whitelistbooleanRequired

This property if set "true" means that the organization being affected by this action will be able to access this organization's resources, like APIs, Peers, Orderers (if applicable).

"false" indicates that the organization affected by this action will stop being able to access aforementioned resources

Example: true
Responses
200
Successfully triggered the process to update whitelist status on the platform The "processId" and "orchestrationId" properties can be used on the "Transactions API" to monitor the status of this asynchronous process.
application/json
400
The following error codes can be returned: - GN0002 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 - AU0003 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 Please refer to the error code dictionary for the details of each error code.
application/json
409
The following error codes can be returned: - OG0013 - OG0002 Please refer to the error code dictionary for the details of each error code.
application/json
put
PUT /external/v1/org/{orgId}/whitelist HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 98

{
  "transactionData": {
    "signer": {
      "email": "[email protected]",
      "name": "John Doe"
    }
  },
  "whitelist": true
}
{
  "processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
  "orchestrationId": "2159457f-0167-4e93-a969-9cf0db05e0bf"
}

Remove Organization Correlation ID

put

This route is used to remove a correlation ID from an existing organization. This correlation ID is an externally provided id that uniquely identifies the organization within the organization making this call.

This correlation ID should be in use by the organization involved in this call.

This action can be broadcast to all the counterparties that have access to this organization and that have a relationship with the organization making this call.

If the action is to be broadcast, then it will trigger an asynchronous process (the id of which is returned on the success response) which can be monitored using the "Transactions API" endpoints.

This endpoint can be called by applications with access to scope "manageReferenceData".

Authorizations
Path parameters
orgIdstringRequired

The unique identifier of the organization on the blockchain

Example: US9QIMA
Body
correlationIdstring · max: 100Required

Externally provided id that uniquely identifies an entity within an organization.

Example: 123245573717
transactionDataall ofRequired

This property contains the information regarding who is signing the transaction on the blockchain as well as how it will be signed

Example: {"signer":{"email":"[email protected]","name":"John Doe"}}
Responses
200
Successfully removed (or, if the action is being broadcast, triggered the removal of) the correlation id from the organization.
application/json
400
The following error codes can be returned: - GN0002 - OG0014 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 Please refer to the error code dictionary for the details of each error code.
application/json
404
The following error codes can be returned: - false Please refer to the error code dictionary for the details of each error code.
application/json
409
The following error codes can be returned: - OG0031 - OG0032 - OG0033 Please refer to the error code dictionary for the details of each error code.
application/json
put
PUT /external/v1/org/{orgId}/correlation-id/remove HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 176

{
  "extraData": {
    "externalId": "123456789",
    "some": "Custom Property"
  },
  "correlationId": "123245573717",
  "transactionData": {
    "signer": {
      "email": "[email protected]",
      "name": "John Doe"
    }
  }
}
{
  "processData": {
    "processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
    "orchestrationId": "2159457f-0167-4e93-a969-9cf0db05e0bf"
  }
}

Get Organization Details

get

This route is used to retrieve the details of an organization given a set of filters such as organization identifiers or organization type.

This endpoint returns paginated data. Up to 50 can be extracted per call.

This endpoint can be called by applications with access to scope "readOrgs".

Authorizations
Query parameters
pageSizenumberOptional

The number of rows being retrieved. Must be a positive integer.

offsetnumberOptional

The offset (i.e. row start index). Must be a positive integer (or 0).

orgIdsFilterstringOptional

The comma delimited list of organization ids to filter the organization records. Each record should not exceed 12 characters.

Example: USCCWSF01I00,USCCWSF01I01
orgStatusFilterstringOptional

The comma delimited list of statuses to filter the organization records. Up to 5 entries can be provided.

Available values: failed_creation, added, ready, suspended, removed

Example: ready,added
orgTypeFilterstringOptional

The comma delimited list of types to filter the organization records. Up to 5 entries can be provided.

Available values: issuer, investor, asset_manager, administrator, fund_admin

Example: investor,fund_admin
orgCorrelationIdsFilterstringOptional

The comma delimited list of organization correlation ids to filter the organization records. Up to 25 records can be provided. Each record should not exceed 100 characters.

Example: 1234,5678,7890
orgCorrelationOrgIdstring · max: 12Optional

The organization identifier linked to the correlation ids provided in the "orgCorrelationIdsFilter" property. If not provided the organization id will be inferred from the access token.

Responses
200
Successfully retrieved the Organization details
application/json
400
The following error codes can be returned: - GN0002 - GN0004 - GN0005 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 Please refer to the error code dictionary for the details of each error code.
application/json
get
GET /external/v1/org HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
[
  {
    "extraData": {
      "externalId": "123456789",
      "some": "Custom Property"
    },
    "name": "Bank Name",
    "outboundAddressList": [
      {
        "ip": "127.0.0.1",
        "address": "outbound.atorg.com"
      }
    ],
    "integrationApiAddress": "https://integration-api.atorg.com",
    "type": "investor",
    "status": "added",
    "locked": false,
    "peers": [
      {
        "key": "peer01",
        "domainName": "peer123.atorg.com",
        "requestPort": 65535,
        "eventPort": 65534
      }
    ],
    "orderers": [
      {
        "key": "orderer01",
        "domainName": "orderer123.atorg.com",
        "requestPort": 65535,
        "adminPort": 65534,
        "healthCheckPort": 65533
      }
    ],
    "orgACL": [
      "US9QIMA",
      "US9QIMB"
    ],
    "createdDate": "2024-09-12T00:00:00.000Z",
    "updatedDate": "2024-09-12T00:00:00.000Z",
    "orgId": "US9QIMA",
    "whitelisted": false,
    "correlationData": [
      {
        "correlationId": "org717",
        "origin": "Identifies organization on backoffice",
        "organization": {
          "name": "Test Organization",
          "orgId": "TEST1234"
        },
        "extraData": {
          "some": "Custom Property"
        }
      }
    ]
  }
]

Enterprise Organization Update Metadata

put

This route is used for an organization (or a channel administrator on its behalf) to update its data on the blockchain.

This triggers an asynchronous process (the id of which is returned on the success response) which can be monitored using the "Transactions API" endpoints.

This endpoint can be called by applications with access to scope "manageOrgs".

Authorizations
Path parameters
orgIdanyRequired

The unique identifier of the organization on the blockchain

Example: US9QIMA
Body
namestring · max: 200Required

The name of the organization.

Example: Bank Name
integrationApiAddressstringRequired

The url to the integration rest api.

Example: https://integration-api.atorg.com
transactionDataall ofRequired

This property contains the transactional data information, i.e. signer information and signature mechanism

Example: {"signer":{"email":"[email protected]","name":"John Doe"}}
orgACLstring[]Optional

The orgId(s) of the organizations that this org does business with.

Example: ["US9QIMA","US9QIMB"]
Responses
200
Successfully triggered the process to update org metadata on the ledger The "processId" and "orchestrationId" properties can be used on the "Transactions API" to monitor the status of this asynchronous process.
application/json
400
The following error codes can be returned: - GN0002 - OG0021 - OG0022 - OG0018 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 - AU0003 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 Please refer to the error code dictionary for the details of each error code.
application/json
409
The following error codes can be returned: - OG0013 - OG0002 - OG0020 - OG0026 Please refer to the error code dictionary for the details of each error code.
application/json
put
PUT /external/v1/org/{orgId}/data HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 329

{
  "extraData": {
    "externalId": "123456789",
    "some": "Custom Property"
  },
  "name": "Bank Name",
  "outboundAddressList": [
    {
      "ip": "127.0.0.1",
      "address": "outbound.atorg.com"
    }
  ],
  "integrationApiAddress": "https://integration-api.atorg.com",
  "transactionData": {
    "signer": {
      "email": "[email protected]",
      "name": "John Doe"
    }
  },
  "orgACL": [
    "US9QIMA",
    "US9QIMB"
  ]
}
{
  "processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
  "orchestrationId": "2159457f-0167-4e93-a969-9cf0db05e0bf"
}

Get Organization History

get

This route is used to get organization history given a set of filters such as blockchain details or organization identifiers.

The requests should be paginated with up to 100 entries per call.

This endpoint can be called by applications with access to scope "readOrgs".

Authorizations
Query parameters
pageSizenumberOptional

The number of rows being retrieved. Must be a positive integer.

offsetnumberOptional

The offset (i.e. row start index). Must be a positive integer (or 0).

blockNumbernumber · max: 2147483647Optional

The block number where the action was recorded on the ledger.

Example: 350
transactionIdstring · max: 500Optional

The transaction id where the action was recorded on the ledger.

Example: 456789OIJHGFCVGHJKLKJHGF67JHPattern: ^[a-zA-Z0-9-]*$
channelNamestring · max: 20Optional

The name of the channel where the action was recorded on the ledger.

Example: OG123Pattern: ^[a-zA-Z0-9-]*$
orgIdsFilterstringOptional

The comma delimited list of organization ids to filter the organization records. Each record should not exceed 12 characters.

Example: USCCWSF01I00,USCCWSF01I01
orgCorrelationIdsFilterstringOptional

The comma delimited list of organization correlation ids to filter the organization records. Up to 25 records can be provided. Each record should not exceed 100 characters.

Example: 1234,5678,7890
orgCorrelationOrgIdstring · max: 12Optional

The organization identifier linked to the correlation ids provided in the "orgCorrelationIdsFilter" property. If not provided the organization id will be inferred from the access token.

Responses
200
Successfully returned org history
application/json
400
The following error codes can be returned: - GN0002 - GN0004 - GN0005 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 Please refer to the error code dictionary for the details of each error code.
application/json
get
GET /external/v1/org/history HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
[
  {
    "timestamp": "2024-09-12T00:00:00.000Z",
    "affectedOrgId": "US9QIMA",
    "blockNumber": 350,
    "transactionId": "456789OIJHGFCVGHJKLKJHGF67JH",
    "channelName": "OG123",
    "event": "Updated",
    "update": {
      "orgId": "US9QIMA",
      "name": "Organization Name",
      "status": "ready",
      "integrationApiAddress": "http://127.0.0.1:30003",
      "accountType": "investor",
      "version": null,
      "outboundAddressList": [
        {
          "address": "outbound.org.com"
        }
      ],
      "peers": [
        {
          "key": "peer0",
          "domainName": "peer0.org.com",
          "requestPort": 7051,
          "eventPort": 7053
        }
      ],
      "orgACL": [
        "US9QIMB"
      ],
      "extraData": null
    },
    "signerData": {
      "email": "[email protected]",
      "name": "John Doe"
    },
    "extraData": {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    },
    "organization": {
      "name": "Test Organization",
      "orgId": "TEST1234"
    }
  }
]

Get Organization Correlation Ids History

get

This route is used to retrieve the history data entries of organization correlation ids given a set of filters such as blockchain details or organization identifiers..

The history entries will reflect the state of the organization correlation ids on that particular block.

This endpoint returns paginated data. Up to 20 can be extracted per call.

This endpoint can be called by applications with access to scope "manageReferenceData".

Authorizations
Query parameters
pageSizenumberOptional

The number of rows being retrieved. Must be a positive integer.

offsetnumberOptional

The offset (i.e. row start index). Must be a positive integer (or 0).

blockNumbernumber · max: 2147483647Optional

The block number where the action was recorded on the ledger.

Example: 350
transactionIdstring · max: 500Optional

The transaction id where the action was recorded on the ledger.

Example: 456789OIJHGFCVGHJKLKJHGF67JHPattern: ^[a-zA-Z0-9-]*$
channelNamestring · max: 20Optional

The name of the channel where the action was recorded on the ledger.

Example: OG123Pattern: ^[a-zA-Z0-9-]*$
orgIdsFilterstringOptional

The comma delimited list of organization ids to filter the organization records. Each record should not exceed 12 characters.

Example: USCCWSF01I00,USCCWSF01I01
orgCorrelationIdsFilterstringOptional

The comma delimited list of organization correlation ids to filter the organization records. Up to 25 records can be provided. Each record should not exceed 100 characters.

Example: 1234,5678,7890
orgCorrelationOrgIdstring · max: 12Optional

The organization identifier linked to the correlation ids provided in the "orgCorrelationIdsFilter" property. If not provided the organization id will be inferred from the access token.

Responses
200
Successfully retrieved the Organization Correlation Ids History entries
application/json
400
The following error codes can be returned: - GN0002 - GN0004 - GN0005 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 Please refer to the error code dictionary for the details of each error code.
application/json
get
GET /external/v1/org/correlation-id/history HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
[
  {
    "signerData": {
      "name": "John Doe",
      "email": "[email protected]"
    },
    "timestamp": "2024-09-12T00:00:00.000Z",
    "blockNumber": 350,
    "transactionId": "456789OIJHGFCVGHJKLKJHGF67JH",
    "channelName": "OG123",
    "organization": {
      "name": "Test Organization",
      "orgId": "TEST1234"
    },
    "hash": "$argon2id$v=19$m=4096,t=3,p=1$8AVpNOnlBvN/reiv7Rdkpw$lzXOuG0H4SibMa0elrEZ5sq3YAvdu+Y5L+ta0oSSMTg",
    "update": [
      {
        "correlationId": "123245573717",
        "entityType": "investor",
        "entityId": "123245573717",
        "status": "broadcast",
        "origin": "Backoffice-system-123",
        "organization": {
          "name": "Test Organization",
          "orgId": "TEST1234"
        }
      }
    ]
  }
]

Add Organization Correlation ID

put

This route is used to add a correlation ID to an existing organization. This correlation ID is an externally provided id that uniquely identifies the organization within the organization making this call.

This correlation ID can't be in use by another organization. This correlation ID can be broadcast to all the counterparties that have access to this organization and that have a relationship with the organization making this call.

If the ID is to be broadcast, then it will trigger an asynchronous process (the id of which is returned on the success response) which can be monitored using the "Transactions API" endpoints.

This endpoint can be called by applications with access to scope "manageReferenceData".

Authorizations
Path parameters
orgIdstringRequired

The unique identifier of the organization on the blockchain

Example: US9QIMA
Body
correlationIdstring · max: 100Required

Externally provided id that uniquely identifies an entity within an organization.

Example: 123245573717
broadcastToCounterpartybooleanOptional

This property defines if correlation information will be sent to all counterparties.

Default: falseExample: true
originstringOptional

The organization origin system that created this entity correlation id

Example: Backoffice-system-123
transactionDataall ofRequired

This property contains the information regarding who is signing the transaction on the blockchain as well as how it will be signed

Example: {"signer":{"email":"[email protected]","name":"John Doe"}}
Responses
200
Successfully added (or, if the action is being broadcast, triggered the addition of) the correlation id to the organization.
application/json
400
The following error codes can be returned: - GN0002 - OG0014 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 Please refer to the error code dictionary for the details of each error code.
application/json
404
The following error codes can be returned: - OG0036 Please refer to the error code dictionary for the details of each error code.
application/json
409
The following error codes can be returned: - OG0035 - OG0031 Please refer to the error code dictionary for the details of each error code.
application/json
put
PUT /external/v1/org/{orgId}/correlation-id/add HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 240

{
  "extraData": {
    "externalId": "123456789",
    "some": "Custom Property"
  },
  "correlationId": "123245573717",
  "broadcastToCounterparty": true,
  "origin": "Backoffice-system-123",
  "transactionData": {
    "signer": {
      "email": "[email protected]",
      "name": "John Doe"
    }
  }
}
{
  "processData": {
    "processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
    "orchestrationId": "2159457f-0167-4e93-a969-9cf0db05e0bf"
  }
}