{"id":23070083,"url":"https://github.com/finbourne/lusid-sdk-java","last_synced_at":"2025-08-02T00:42:54.424Z","repository":{"id":37432562,"uuid":"125093870","full_name":"finbourne/lusid-sdk-java","owner":"finbourne","description":"Java SDK for LUSID by FINBOURNE, a bi-temporal investment management data platform with portfolio accounting capabilities.","archived":false,"fork":false,"pushed_at":"2025-07-28T13:41:15.000Z","size":733589,"stargazers_count":5,"open_issues_count":5,"forks_count":14,"subscribers_count":12,"default_branch":"main","last_synced_at":"2025-07-28T15:33:24.063Z","etag":null,"topics":["bi-temporal","data-platform","finbourne","fintech","java","lusid","openapi"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/finbourne.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"docs/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-03-13T18:03:42.000Z","updated_at":"2025-07-28T13:41:19.000Z","dependencies_parsed_at":"2023-09-23T05:02:55.890Z","dependency_job_id":"ebbbf630-c4dc-4e12-bc09-8acb6a6a9b56","html_url":"https://github.com/finbourne/lusid-sdk-java","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/finbourne/lusid-sdk-java","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/finbourne%2Flusid-sdk-java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/finbourne%2Flusid-sdk-java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/finbourne%2Flusid-sdk-java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/finbourne%2Flusid-sdk-java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/finbourne","download_url":"https://codeload.github.com/finbourne/lusid-sdk-java/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/finbourne%2Flusid-sdk-java/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268320316,"owners_count":24231800,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-01T02:00:08.611Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bi-temporal","data-platform","finbourne","fintech","java","lusid","openapi"],"created_at":"2024-12-16T06:19:07.442Z","updated_at":"2025-08-02T00:42:54.391Z","avatar_url":"https://github.com/finbourne.png","language":"Java","readme":"![LUSID_by_Finbourne](./resources/Finbourne_Logo_Teal.svg)\n\n# Java SDK for the LUSID API\n\n## Contents\n\n- [Summary](#summary)\n- [Versions](#versions)\n- [Requirements](#requirements)\n- [Installation](#installation)\n    * [Maven](#maven)\n    * [Gradle](#gradle)\n- [Getting Started](#getting-started)\n    * [Environment variables](#environment-variables)\n    * [Secrets file](#secrets-file)\n    * [Example](#example)\n- [Endpoints and models](#endpoints-and-models)\n\n## Summary\n\nThis is the java SDK for the LUSID API, part of the [LUSID by FINBOURNE](https://www.finbourne.com/lusid-technology) platform. To use it you'll need a LUSID account - [sign up for free at lusid.com](https://www.lusid.com/app/signup).\n\nLUSID is a bi-temporal investment management data platform with portfolio accounting capabilities - see https://support.lusid.com/knowledgebase/ to learn more.\n\nFor more details on other applications in the LUSID platform, see [Understanding all the applications in the LUSID platform](https://support.lusid.com/knowledgebase/article/KA-01787).\n\nThis sdk supports `Production`, `Early Access`, `Beta` and `Experimental` API endpoints. For more details on API endpoint categories, see [What is the LUSID feature release lifecycle](https://support.lusid.com/knowledgebase/article/KA-01786). To find out which category an API endpoint falls into, see the [swagger page](https://www.lusid.com/api/swagger/index.html).\n\nThis code is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project.\n\n## Versions\n\n- API version: 0.11.8084\n- SDK version: 2.0.1532\n\n## Requirements\n\n- Java 1.8+\n\n## Installation\n\n### Maven\n\nAdd this dependency to your pom.xml\n\n```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.finbourne\u003c/groupId\u003e\n    \u003cartifactId\u003elusid-sdk\u003c/artifactId\u003e\n    \u003cversion\u003e2.0.1532\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n### Gradle\n\nAdd this dependency to your build.gradle\n\n```groovy\n  repositories {\n    mavenCentral()\n  }\n\n  dependencies {\n     implementation \"com.finbourne:lusid-sdk:2.0.1532\"\n  }\n```\n\n## Getting Started\n\nYou'll need to provide some configuration to connect to the LUSID API - see the articles about [short-lived access tokens](https://support.lusid.com/knowledgebase/article/KA-01654) and a [long-lived Personal Access Token](https://support.lusid.com/knowledgebase/article/KA-01774). This configuration can be provided using a secrets file or environment variables.\n\nFor some configuration it is also possible to override the global configuration at the ApiFactory level, or at the request level. For the set of configuration which can be overridden, please see [ConfigurationOptions](sdk/src/main/java/com/finbourne/lusid/extensions/ConfigurationOptions.java). For a code illustration of this configuration being overridden, please see the [example](#example).\n\n### Environment variables\n\nRequired for a short-lived access token\n```\nFBN_TOKEN_URL\nFBN_LUSID_URL\nFBN_USERNAME\nFBN_PASSWORD\nFBN_CLIENT_ID\nFBN_CLIENT_SECRET\n```\n\nRequired for a long-lived access token\n``` \nFBN_LUSID_URL\nFBN_ACCESS_TOKEN\n```\n\nYou can send your requests to the LUSID API via a proxy, by setting `FBN_PROXY_ADDRESS`. If your proxy has basic auth enabled, you must also set `FBN_PROXY_USERNAME` and `FBN_PROXY_PASSWORD`.\n\nOther optional configuration\n\n```bash\n# sdk client timeouts in milliseconds - a value of 0 means no timeout, otherwise timeout values must be between 1 and 2147483647\n# please note - the chances of seeing a network issue increases with the duration of the request\n# for this reason, rather than increasing the timeout, it will be more reliable to use an alternate polling style endpoint where these exist\nFBN_TOTAL_TIMEOUT_MS # the default is 1800000 (30 minutes)\nFBN_CONNECT_TIMEOUT_MS # the default is 0 (no timeout)\nFBN_READ_TIMEOUT_MS # the default is 0 (no timeout)\nFBN_WRITE_TIMEOUT_MS # the default is 0 (no timeout)\nFBN_RATE_LIMIT_RETRIES # the default is 2\n```\n\n### Secrets file\n\nThe secrets file must be in the current working directory. By default the SDK looks for a secrets file called `secrets.json`\n\nRequired for a short-lived access token\n```json\n{\n    \"api\":\n    {\n        \"tokenUrl\":\"\u003cyour-token-url\u003e\",\n        \"lusidUrl\":\"https://\u003cyour-domain\u003e.lusid.com/api\",\n        \"username\":\"\u003cyour-username\u003e\",\n        \"password\":\"\u003cyour-password\u003e\",\n        \"clientId\":\"\u003cyour-client-id\u003e\",\n        \"clientSecret\":\"\u003cyour-client-secret\u003e\",\n    }\n}\n```\n\nRequired for a long-lived access token\n```json\n{\n    \"api\":\n    {\n        \"lusidUrl\":\"https://\u003cyour-domain\u003e.lusid.com/api\",\n        \"accessToken\":\"\u003cyour-access-token\u003e\"\n    }\n}\n```\n\nYou can send your requests to the LUSID API via a proxy, by adding a proxy section. If your proxy has basic auth enabled, you must also supply a `username` and `password` in this section.\n\n```json\n{\n    \"api\":\n    {\n        \"lusidUrl\":\"https://\u003cyour-domain\u003e.lusid.com/api\",\n        \"accessToken\":\"\u003cyour-access-token\u003e\"\n    },\n    \"proxy\":\n    {\n        \"address\":\"\u003cyour-proxy-address\u003e\",\n        \"username\":\"\u003cyour-proxy-username\u003e\",\n        \"password\":\"\u003cyour-proxy-password\u003e\"\n    }\n}\n```\n\nOther optional configuration\n\n```javascript\n{\n    \"api\": \n    {\n        // sdk client timeouts in milliseconds - a value of 0 means no timeout, otherwise timeout values must be between 1 and 2147483647\n        // please note - the chances of seeing a network issue increases with the duration of the request\n        // for this reason, rather than increasing the timeout, it will be more reliable to use an alternate polling style endpoint where these exist\n        \"totalTimeoutMs\":\"\u003ctimeout-in-ms\u003e\", // the default is 1800000 (30 minutes)\n        \"connectTimeoutMs\":\"\u003ctimeout-in-ms\u003e\", // the default is 0 (no timeout)\n        \"readTimeoutMs\":\"\u003ctimeout-in-ms\u003e\", // the default is 0 (no timeout)\n        \"writeTimeoutMs\":\"\u003ctimeout-in-ms\u003e\", // the default is 0 (no timeout)\n        \"rateLimitRetries\":\u003cretries-when-being-rate-limited\u003e // the default is 2\n    }\n}\n```\n\n### Example\n```java\nimport com.finbourne.lusid.model.*;\nimport com.finbourne.lusid.api.AborApi;\nimport com.finbourne.lusid.extensions.ApiConfigurationException;\nimport com.finbourne.lusid.extensions.ApiFactoryBuilder;\nimport com.finbourne.lusid.extensions.auth.FinbourneTokenException;\n\nimport java.io.FileNotFoundException;\nimport java.io.PrintWriter;\nimport java.io.UnsupportedEncodingException;\n\npublic class AborApiExample {\n\n    public static void main(String[] args) throws FileNotFoundException, UnsupportedEncodingException, ApiConfigurationException, FinbourneTokenException {\n        String fileName = \"secrets.json\";\n        try(PrintWriter writer = new PrintWriter(fileName, \"UTF-8\")) {\n          writer.write(\"{\" +\n            \"\\\"api\\\": {\" +\n            \"    \\\"tokenUrl\\\": \\\"\u003cyour-token-url\u003e\\\",\" +\n            \"    \\\"lusidUrl\\\": \\\"https://\u003cyour-domain\u003e.lusid.com/api\\\",\" +\n            \"    \\\"username\\\": \\\"\u003cyour-username\u003e\\\",\" +\n            \"    \\\"password\\\": \\\"\u003cyour-password\u003e\\\",\" +\n            \"    \\\"clientId\\\": \\\"\u003cyour-client-id\u003e\\\",\" +\n            \"    \\\"clientSecret\\\": \\\"\u003cyour-client-secret\u003e\\\"\" +\n            \"  }\" +\n            \"}\");\n        }\n\n        // uncomment the below to use configuration overrides\n        // ConfigurationOptions opts = new ConfigurationOptions();\n        // opts.setTotalTimeoutMs(2000);\n        \n        // uncomment the below to use an api factory with overrides\n        // ApiFactory apiFactory = ApiFactoryBuilder.build(fileName, opts);\n        // AborApi apiInstance = apiFactory.build(AborApi.class);\n\n        AborApi apiInstance = ApiFactoryBuilder.build(fileName).build(AborApi.class);\n        String scope = \"scope_example\"; // String | The scope of the Abor.\n        String code = \"code_example\"; // String | The code of the Abor.\n        DiaryEntryRequest diaryEntryRequest = new DiaryEntryRequest(); // DiaryEntryRequest | The diary entry to add.\n        try {\n            // uncomment the below to set overrides at the request level\n            // DiaryEntry result = apiInstance.addDiaryEntry(scope, code, diaryEntryRequest).execute(opts);\n\n            DiaryEntry result = apiInstance.addDiaryEntry(scope, code, diaryEntryRequest).execute();\n            System.out.println(result.toJson());\n        } catch (ApiException e) {\n            System.err.println(\"Exception when calling AborApi#addDiaryEntry\");\n            System.err.println(\"Status code: \" + e.getCode());\n            System.err.println(\"Reason: \" + e.getResponseBody());\n            e.printStackTrace();\n        }\n    }\n}\n```\n\n\n## Endpoints and models\n\n- See [Documentation for API Endpoints](sdk/README.md#documentation-for-api-endpoints) for a description of each endpoint\n- See [Documentation for Models](sdk/README.md#documentation-for-models) for descriptions of the models used\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffinbourne%2Flusid-sdk-java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffinbourne%2Flusid-sdk-java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffinbourne%2Flusid-sdk-java/lists"}