Skip to main content

Discovering APIs Published by Data Providers

In Raidiam, Data Providers can publish their APIs, allowing Third Party Applications (Data Receivers) to integrate more efficiently. These APIs may adhere to the Trust Framework Administrator's Data API specifications or follow a custom implementation depending on the ecosystem configuration.

The API discovery process varies across Open Data Ecosystems—some use the Participants API to list organizations and their technical resources, while others or certain federations restrict access to organization data exclusively through Raidiam APIs.

Discovering APIs in Open Data Ecosystems

If your framework is an Open Data Ecosystem, client application's can utilize the Participants API to receive a JSON document containing a list of all participants and their technical resources, including the published APIs.

{
"AuthorisationServerId": "c8f0bf49-4744-4933-8960-7add6e590841",
"AutoRegistrationNotificationWebhook": null,
"AutoRegistrationSupported": true,
"CreatedAt": "2021-06-03T12:25:26Z",
"CustomerFriendlyDescription": "Mock Bank by Raidiam",
"CustomerFriendlyLogoUri": "https://cdn.raidiam.io/directory-ui/brand/obbrazil/0.2.0.112/favicon.svg",
"CustomerFriendlyName": "Mock Bank",
"DeprecatedDate": null,
"DeveloperPortalUri": "https://mockbank.com/dev",
"FederationEndpoint": null,
"FederationId": null,
"Issuer": "https://auth.mockbank.poc.raidiam.io",
"NotificationWebhook": null,
"NotificationWebhookAddedDate": null,
"NotificationWebhookStatus": null,
"OpenIDDiscoveryDocument": "https://auth.mockbank.poc.raidiam.io/.well-known/openid-configuration",
"OrganisationId": "74e929d9-33b6-4d85-8ba7-c146c867a817",
"ParentAuthorisationServerId": null,
"PayloadSigningCertLocationUri": "https://mockbank.com/payload.pem",
"RetirementDate": null,
"SupersededByAuthorisationServerId": null,
"SupportsCiba": false,
"SupportsDCR": false,
"SupportsRedirect": true,
"TermsOfServiceUri": "https://mockbank.com/tos",
"ApiResources": [
{
"ApiResourceId": "7aea412d-40e4-4f79-a9b2-84b18a699be6",
"ApiVersion": "1",
"FamilyComplete": false,
"ApiCertificationUri": null,
"CertificationStatus": null,
"CertificationStartDate": null,
"CertificationExpirationDate": null,
"ApiFamilyType": "consents",
"ApiDiscoveryEndpoints": []
},
{
"ApiResourceId": "441f5d3d-385e-4b06-8a34-5b7c4dfcb125",
"ApiVersion": "1",
"FamilyComplete": true,
"ApiCertificationUri": null,
"CertificationStatus": null,
"CertificationStartDate": null,
"CertificationExpirationDate": null,
"ApiFamilyType": "accounts",
"ApiDiscoveryEndpoints": [
{
"ApiDiscoveryId": "fb1a47cd-0620-4a91-b3a9-c5bffb38bd2d",
"ApiEndpoint": "https://matls-api.mockbank.poc.raidiam.io/open-banking/accounts/v1/accounts"
},
{
"ApiDiscoveryId": "2191da36-e03c-4802-a44a-66a56a48516e",
"ApiEndpoint": "https://matls-api.mockbank.poc.raidiam.io/open-banking/accounts/v1/accounts/{accountId}"
},
{
"ApiDiscoveryId": "1940e9f0-0aea-4164-8f02-f5a1bc72e87d",
"ApiEndpoint": "https://matls-api.mockbank.poc.raidiam.io/open-banking/accounts/v1/accounts/{accountId}/transactions"
},
{
"ApiDiscoveryId": "3f29155c-dad9-4818-87b6-059606157558",
"ApiEndpoint": "https://matls-api.mockbank.poc.raidiam.io/open-banking/accounts/v1/accounts/{accountId}/balances"
},
{
"ApiDiscoveryId": "636f8f95-f5f0-42c1-84d3-2c4d85ea7bc3",
"ApiEndpoint": "https://matls-api.mockbank.poc.raidiam.io/open-banking/accounts/v1/accounts/{accountId}/transactions-current"
},
{
"ApiDiscoveryId": "bb7f64f0-675d-4d23-a8c7-ffad45e7dbc0",
"ApiEndpoint": "https://matls-api.mockbank.poc.raidiam.io/open-banking/accounts/v1/accounts/{accountId}/overdraft-limits"
}
]
},
{
"ApiResourceId": "c60a1787-20dd-4a0a-9a2d-3fcf4819ded8",
"ApiVersion": "1",
"FamilyComplete": true,
"ApiCertificationUri": null,
"CertificationStatus": null,
"CertificationStartDate": null,
"CertificationExpirationDate": null,
"ApiFamilyType": "credit-cards-accounts",
"ApiDiscoveryEndpoints": [
{
"ApiDiscoveryId": "0c0eb910-4fd4-4298-976d-0540e00833de",
"ApiEndpoint": "https://matls-api.mockbank.poc.raidiam.io/open-banking/credit-cards-accounts/v1/accounts"
},
{
"ApiDiscoveryId": "58d0de32-a118-41a6-9fa1-b07fe3656bf7",
"ApiEndpoint": "https://matls-api.mockbank.poc.raidiam.io/open-banking/credit-cards-accounts/v1/accounts/{creditCardAccountId}"
},
{
"ApiDiscoveryId": "72afda1a-7955-4f2d-9bc6-4884d1adfc41",
"ApiEndpoint": "https://matls-api.mockbank.poc.raidiam.io/open-banking/credit-cards-accounts/v1/accounts/{creditCardAccountId}/limits"
},
{
"ApiDiscoveryId": "5a321b7e-4ca3-4103-8ba1-d3fd416f1b76",
"ApiEndpoint": "https://matls-api.mockbank.poc.raidiam.io/open-banking/credit-cards-accounts/v1/accounts/{creditCardAccountId}/transactions"
},
{
"ApiDiscoveryId": "f97d1ee9-696e-482d-b56e-2899fb464606",
"ApiEndpoint": "https://matls-api.mockbank.poc.raidiam.io/open-banking/credit-cards-accounts/v1/accounts/{creditCardAccountId}/transactions-current"
},
{
"ApiDiscoveryId": "2e8bcf54-27ea-4e46-a49b-5215c5cf1a5c",
"ApiEndpoint": "https://matls-api.mockbank.poc.raidiam.io/open-banking/credit-cards-accounts/v1/accounts/{creditCardAccountId}/bills/{billId}/transactions"
},
{
"ApiDiscoveryId": "7d7dd9ac-2a8f-40da-8b1f-624884a55f54",
"ApiEndpoint": "https://matls-api.mockbank.poc.raidiam.io/open-banking/credit-cards-accounts/v1/accounts/{creditCardAccountId}/bills"
}
]
}
]}

Within the JSON payload above, you can see the ApiResources object which is a list of all the APIs and their endpoints you can integrate with.

Discovering APIs in Other Ecosystems

In order to get information about the published APIs for an organisation, utilize the below Raidiam APIs. Since all APIs published within Raidiam are tied to an authorisation server, you need to first check all authorisation servers added for an organisation and then check the published APIs.

  1. Authenticate client application using client credentials flow and request the directory:software scope.

  2. Raidiam Connect's Authorisation Server validates the certificate as part of the tls_client_auth client authentication process.

  3. If validation is successful, the server returns an access token you can use to call Raidiam's APIs and retrieve information about the authorisation servers and their configuration.

  4. Retrieve authorisation servers using one of the APIs listed below:

    Include the access token you got in the step #1 to authenticate your client application's request.

  5. Retrieve a list of all API resources published for an authorisation server once you have its authorisation server identifier.

API Discovery Diagram in Other Ecosystems