View as Markdown

Reporting entities

Reporting entities owned by a client, and the portfolios associated with a reporting entity.

Data model

Reporting entity

JSON:API resource type: reporting-entity.

namestring

Display name of the reporting entity.

Relationships

clientclient

Client that owns the reporting entity.

portfoliosarray of portfolio

Portfolios associated with a reporting entity.

Portfolio

JSON:API resource type: portfolio.

namestring

Display name of the portfolio. Required.

Relationships

accountsarray of account

Accounts in the portfolio.

depositoriesarray of depository

Depositories in the portfolio.

reportingEntityreporting-entity

Reporting entity that the portfolio is associated with.

Membership rule

All accounts and the depository of a legal entity's portfolio must be either fully included in or fully excluded from a portfolio. A missing one is a 400, for example Depository '{depositoryId}' must be included in the portfolio since it is related to account '{accountId}'. Otherwise, exclude the account. or Account '{accountId}' must be included in the portfolio since it is related to depository '{depositoryId}'. Otherwise, exclude the depository.


GET/api/v2/clients/{id}/reporting-entities

List reporting entities

Find all reporting entities owned by the client given by id. Returns 200.

Path parameters

idstring

Client identifier, see GET /clients. Required.

Request
GET/api/v2/clients/{id}/reporting-entities
curl https://api.aleta.ai/api/v2/clients/6698d912deb64c8b2fec2c08/reporting-entities \
  -H "Authorization: Bearer {access_token}"
Response
{
  "data": [
    {
      "type": "reporting-entity",
      "id": "cb4b00eef0af406faddc82ae",
      "attributes": { "name": "Reporting Entity 1" },
      "relationships": {
        "client": {
          "data": { "id": "6698d912deb64c8b2fec2c08", "type": "client" }
        },
        "portfolios": { "data": [] }
      }
    },
    {
      "type": "reporting-entity",
      "id": "51c10fb37fcada1fbda0eccf",
      "attributes": { "name": "Reporting Entity 2" },
      "relationships": {
        "client": {
          "data": { "id": "6698d912deb64c8b2fec2c08", "type": "client" }
        },
        "portfolios": { "data": [] }
      }
    },
    {
      "type": "reporting-entity",
      "id": "eda70f1de75270ec9009dfde",
      "attributes": { "name": "Reporting Entity 3" },
      "relationships": {
        "client": {
          "data": { "id": "6698d912deb64c8b2fec2c08", "type": "client" }
        },
        "portfolios": { "data": [] }
      }
    }
  ]
}

GET/api/v2/reporting-entities/{id}

Retrieve a reporting entity

Find the reporting entity given by id. Returns 200.

Path parameters

idstring

Reporting entity identifier, see GET /clients/{id}/reporting-entities. Required.

Request
GET/api/v2/reporting-entities/{id}
curl https://api.aleta.ai/api/v2/reporting-entities/666bec24167e19c23eb786d6 \
  -H "Authorization: Bearer {access_token}"
Response
{
  "data": {
    "type": "reporting-entity",
    "id": "666bec24167e19c23eb786d6",
    "attributes": { "name": "Reporting entity 1" },
    "relationships": {
      "client": {
        "data": { "id": "9d328abedbe8c8afabeffc69", "type": "client" }
      },
      "portfolios": {
        "data": [
          { "id": "6699ee6d6bce2a04b34a8868", "type": "portfolio" },
          { "id": "6699ee7a8840a05de41743de", "type": "portfolio" }
        ]
      }
    }
  }
}

POST/api/v2/clients/{id}/reporting-entities

Create a reporting entity

Create a reporting entity owned by the client given by id. Returns 201 with the created reporting entity.

Path parameters

idstring

Client identifier, see GET /clients. Required.

Request
POST/api/v2/clients/{id}/reporting-entities
curl -X POST https://api.aleta.ai/api/v2/clients/6698d912deb64c8b2fec2c08/reporting-entities \
  -H "Authorization: Bearer {access_token}" \
  -H "Content-Type: application/vnd.api+json" \
  -d '{
    "data": {
      "type": "reporting-entity",
      "attributes": { "name": "New reporting entity" }
    }
  }'
Response
{
  "data": {
    "attributes": { "name": "New reporting entity" },
    "relationships": {
      "client": {
        "data": { "id": "6698d912deb64c8b2fec2c08", "type": "client" }
      },
      "portfolios": { "data": [] }
    },
    "id": "66991be2f9bcbf6057b65qa8",
    "type": "reporting-entity"
  }
}

PATCH/api/v2/reporting-entities/{id}

Update a reporting entity

Update the reporting entity given by id. Returns 204 with no body.

Path parameters

idstring

Reporting entity identifier, see GET /clients/{id}/reporting-entities. Required.

Request
PATCH/api/v2/reporting-entities/{id}
curl -X PATCH https://api.aleta.ai/api/v2/reporting-entities/666bec24167e19c23eb786d6 \
  -H "Authorization: Bearer {access_token}" \
  -H "Content-Type: application/vnd.api+json" \
  -d '{
    "data": {
      "id": "666bec24167e19c23eb786d6",
      "type": "reporting-entity",
      "attributes": { "name": "Reporting entity 1" }
    }
  }'

DELETE/api/v2/reporting-entities/{id}

Delete a reporting entity

Delete the reporting entity given by id. Returns 204 with no body.

Path parameters

idstring

Reporting entity identifier, see GET /clients/{id}/reporting-entities. Required.

Request
DELETE/api/v2/reporting-entities/{id}
curl -X DELETE https://api.aleta.ai/api/v2/reporting-entities/dcdcbb6e5cfdca7dd597ac3a \
  -H "Authorization: Bearer {access_token}"

GET/api/v2/reporting-entities/{id}/portfolios

List portfolios

Get portfolio information for all portfolios associated with the reporting entity given by id. Returns 200.

Path parameters

idstring

Reporting entity identifier, see GET /clients/{id}/reporting-entities. Required.

Request
GET/api/v2/reporting-entities/{id}/portfolios
curl https://api.aleta.ai/api/v2/reporting-entities/666bec24167e19c23eb786d6/portfolios \
  -H "Authorization: Bearer {access_token}"
Response
{
  "data": [
    {
      "type": "portfolio",
      "id": "6699ee6d6bce2a04b34a8868",
      "attributes": { "name": "Portfolio 1" },
      "relationships": {
        "reportingEntity": {
          "data": { "id": "666bec24167e19c23eb786d6", "type": "reporting-entity" }
        },
        "accounts": {
          "data": [
            { "id": "6699ec9eed2e23e9f214ba6f", "type": "account" },
            { "id": "6698de390fb223343ef3b648", "type": "account" },
            { "id": "6698de390fb223343ef3b649", "type": "account" }
          ]
        },
        "depositories": {
          "data": [{ "id": "6698debff36caf2dcef8d217", "type": "depository" }]
        }
      }
    },
    {
      "type": "portfolio",
      "id": "6699ee7a8840a05de41743de",
      "attributes": { "name": "Portfolio 2" },
      "relationships": {
        "reportingEntity": {
          "data": { "id": "666bec24167e19c23eb786d6", "type": "reporting-entity" }
        },
        "accounts": {
          "data": [
            { "id": "6699ec9eed2e23e9f214bp1o", "type": "account" },
            { "id": "6698de390fb223343ef3b917", "type": "account" }
          ]
        },
        "depositories": {
          "data": [{ "id": "6698debff36caf2dcef9g192", "type": "depository" }]
        }
      }
    }
  ]
}

GET/api/v2/portfolios/{id}

Retrieve a portfolio

Get portfolio information for the portfolio given by id. Returns 200.

Path parameters

idstring

Portfolio identifier, see GET /reporting-entities/{id}/portfolios. Required.

Request
GET/api/v2/portfolios/{id}
curl https://api.aleta.ai/api/v2/portfolios/6699ee6d6bce2a04b34a8868 \
  -H "Authorization: Bearer {access_token}"
Response
{
  "data": {
    "type": "portfolio",
    "id": "6699ee6d6bce2a04b34a8868",
    "attributes": { "name": "Portfolio 1" },
    "relationships": {
      "reportingEntity": {
        "data": { "id": "666be3f97fc417debcea6a5e", "type": "reporting-entity" }
      },
      "accounts": {
        "data": [
          { "id": "6699ec9eed2e23e9f214ba6f", "type": "account" },
          { "id": "6698de390fb223343ef3b648", "type": "account" },
          { "id": "6698de390fb223343ef3b649", "type": "account" }
        ]
      },
      "depositories": {
        "data": [{ "id": "6698debff36caf2dcef8d217", "type": "depository" }]
      }
    }
  }
}

POST/api/v2/reporting-entities/{id}/portfolios

Create a portfolio

Create a portfolio associated with the reporting entity given by id. Returns 201 with the created portfolio. The accounts and depositories follow the membership rule.

Path parameters

idstring

Reporting entity identifier, see GET /clients/{id}/reporting-entities. Required.

Request
POST/api/v2/reporting-entities/{id}/portfolios
curl -X POST https://api.aleta.ai/api/v2/reporting-entities/666be3f97fc417debcea6a5e/portfolios \
  -H "Authorization: Bearer {access_token}" \
  -H "Content-Type: application/vnd.api+json" \
  -d '{
    "data": {
      "type": "portfolio",
      "attributes": { "name": "Portfolio 1" },
      "relationships": {
        "accounts": {
          "data": [
            { "type": "account", "id": "6699ec9eed2e23e9f214ba6f" },
            { "type": "account", "id": "6698de390fb223343ef3b648" },
            { "type": "account", "id": "6698de390fb223343ef3b649" }
          ]
        },
        "depositories": {
          "data": [{ "type": "depository", "id": "6698debff36caf2dcef8d217" }]
        }
      }
    }
  }'
Response
{
  "data": {
    "attributes": { "name": "Portfolio 1" },
    "relationships": {
      "reportingEntity": {
        "data": { "id": "666be3f97fc417debcea6a5e", "type": "reporting-entity" }
      },
      "accounts": {
        "data": [
          { "id": "6699ec9eed2e23e9f214ba6f", "type": "account" },
          { "id": "6698de390fb223343ef3b648", "type": "account" },
          { "id": "6698de390fb223343ef3b649", "type": "account" }
        ]
      },
      "depositories": {
        "data": [{ "id": "6698debff36caf2dcef8d217", "type": "depository" }]
      }
    },
    "id": "6699ed355c077cba345a8a2c",
    "type": "portfolio"
  }
}

PATCH/api/v2/portfolios/{id}

Update a portfolio

Update the portfolio given by id. Returns 204 with no body.

Path parameters

idstring

Portfolio identifier, see GET /reporting-entities/{id}/portfolios. Required.

Request
PATCH/api/v2/portfolios/{id}
curl -X PATCH https://api.aleta.ai/api/v2/portfolios/6699ee6d6bce2a04b34a8868 \
  -H "Authorization: Bearer {access_token}" \
  -H "Content-Type: application/vnd.api+json" \
  -d '{
    "data": {
      "id": "6699ee6d6bce2a04b34a8868",
      "type": "portfolio",
      "attributes": { "name": "Portfolio 1" },
      "relationships": {
        "accounts": {
          "data": [
            { "type": "account", "id": "6699ec9eed2e23e9f214ba6f" },
            { "type": "account", "id": "6698de390fb223343ef3b648" },
            { "type": "account", "id": "6698de390fb223343ef3b649" }
          ]
        },
        "depositories": {
          "data": [{ "type": "depository", "id": "6698debff36caf2dcef8d217" }]
        },
        "reportingEntity": {
          "data": { "type": "reporting-entity", "id": "666be3f97fc417debcea6a5e" }
        }
      }
    }
  }'

DELETE/api/v2/portfolios/{id}

Delete a portfolio

Delete the portfolio given by id. Returns 204 with no body.

Path parameters

idstring

Portfolio identifier, see GET /reporting-entities/{id}/portfolios. Required.

Request
DELETE/api/v2/portfolios/{id}
curl -X DELETE https://api.aleta.ai/api/v2/portfolios/54e45acada7e9feebae2c5fd \
  -H "Authorization: Bearer {access_token}"