{"id":18255254,"url":"https://github.com/arklab/artesian.sdk-matlab","last_synced_at":"2026-02-12T16:30:58.337Z","repository":{"id":95346082,"uuid":"178812367","full_name":"ARKlab/Artesian.SDK-Matlab","owner":"ARKlab","description":"Matlab SDK for Artesian https://www.artesian.cloud/","archived":false,"fork":false,"pushed_at":"2024-11-11T09:01:21.000Z","size":80,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":14,"default_branch":"master","last_synced_at":"2024-12-22T12:29:06.587Z","etag":null,"topics":["ark","artesian","energy-data","market-assessment","market-data","timeseries"],"latest_commit_sha":null,"homepage":null,"language":"MATLAB","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ARKlab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"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}},"created_at":"2019-04-01T07:49:45.000Z","updated_at":"2024-11-11T09:00:47.000Z","dependencies_parsed_at":"2024-04-12T13:51:44.459Z","dependency_job_id":null,"html_url":"https://github.com/ARKlab/Artesian.SDK-Matlab","commit_stats":{"total_commits":34,"total_committers":6,"mean_commits":5.666666666666667,"dds":0.6764705882352942,"last_synced_commit":"a73ff2d9c3d99b694fb3cb46b36e3b9483e73b8b"},"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARKlab%2FArtesian.SDK-Matlab","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARKlab%2FArtesian.SDK-Matlab/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARKlab%2FArtesian.SDK-Matlab/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARKlab%2FArtesian.SDK-Matlab/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ARKlab","download_url":"https://codeload.github.com/ARKlab/Artesian.SDK-Matlab/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238878898,"owners_count":19545855,"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","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":["ark","artesian","energy-data","market-assessment","market-data","timeseries"],"created_at":"2024-11-05T10:15:17.062Z","updated_at":"2025-10-29T19:31:14.387Z","avatar_url":"https://github.com/ARKlab.png","language":"MATLAB","funding_links":[],"categories":[],"sub_categories":[],"readme":"![image](http://www.ark-energy.eu/wp-content/uploads/ark-dark.png)\n\n# Artesian.SDK\n\nThis Library provides read access to the Artesian API\n\n## Getting Started\n\n### Installation\n\nYou can install the toolbox directly from the [![Matlab File Exchange](https://www.mathworks.com/matlabcentral/images/matlab-file-exchange.svg)](https://www.mathworks.com/matlabcentral/fileexchange/71098-artesian-sdk).\n\nAlternatively, to install this package go to the [release page](https://github.com/ARKlab/Artesian.SDK-Matlab/releases) and download the **Artesian.SDK.mltbx** file and double click on it to\ninstall in Matlab.\n\n## How to use\n\nThe Artesian.SDK instance can be configured using API-Key authentication\n\n```MATLAB\ncfg = ArtesianServiceConfig(\"https://fake-artesian-env/\", \"{api-key}\");\n```\n\n## QueryService\n\nUsing the ArtesianServiceConfig we create an instance of the QueryService which is used to create Actual, Versioned and Market Assessment time series queries\n\n### Actual Time Series\n\n```MATLAB\nqs = QueryService(cfg);\ndata = qs.CreateActual() ...\n       .ForMarketData([100000001,100000002,100000003]) ...\n       .InAbsoluteDateRange(\"2018-01-01\",\"2018-01-02\") ...\n       .InTimeZone(\"UTC\") ...\n       .InGranularity(GranularityEnum.Hour) ...\n       .Execute()\n\n```\n\nTo construct an Actual Time Series the following must be provided.\n\n\u003ctable\u003e\n  \u003ctr\u003e\u003cth\u003eActual Query\u003c/th\u003e\u003cth\u003eDescription\u003c/th\u003e\u003c/tr\u003e\n  \u003ctr\u003e\u003ctd\u003eMarket Data ID\u003c/td\u003e\u003ctd\u003eProvide a market data id or set of market data id's to query\u003c/td\u003e\u003c/tr\u003e\n  \u003ctr\u003e\u003ctd\u003eTime Granularity\u003c/td\u003e\u003ctd\u003eSpecify the granularity type\u003c/td\u003e\u003c/tr\u003e\n  \u003ctr\u003e\u003ctd\u003eTime Extraction Window\u003c/td\u003e\u003ctd\u003eAn extraction time window for data to be queried\u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\n[Go to Time Extraction window section](#artesian-sdk-extraction-windows)\n\n### Versioned Time Series\n\n```MATLAB\n\nqs = QueryService(cfg);\nq = qs.CreateVersioned() ...\n       .ForMarketData([100000004,100000005,100000006]) ...\n       .InAbsoluteDateRange(\"2018-01-01\",\"2018-01-02\") ...\n       .InTimeZone(\"UTC\") ...\n       .InGranularity(GranularityEnum.Hour);\n\n\nq.ForMUV().Execute()\nq.ForLastNVersions(2).Execute()\nq.ForLastOfDays(\"2019-03-12\",\"2019-03-16\").Execute()\nq.ForLastOfDays(\"P0Y0M-2D\",\"P0Y0M2D\").Execute()\nq.ForLastOfDays(\"P0Y0M-2D\").Execute()\nq.ForLastOfMonths(\"2019-03-12\",\"2019-03-16\").Execute()\nq.ForLastOfMonths(\"P0Y-1M0D\",\"P0Y1M0D\").Execute()\nq.ForLastOfMonths(\"P0Y-1M0D\").Execute()\nq.ForVersion(\"2019-03-12T14:30:00\").Execute()\n```\n\nTo construct a Versioned Time Series the following must be provided.\n\n\u003ctable\u003e\n  \u003ctr\u003e\u003cth\u003eVersioned Query\u003c/th\u003e\u003cth\u003eDescription\u003c/th\u003e\u003c/tr\u003e\n  \u003ctr\u003e\u003ctd\u003eMarket Data ID\u003c/td\u003e\u003ctd\u003eProvide a market data id or set of market data id's to query\u003c/td\u003e\u003c/tr\u003e\n  \u003ctr\u003e\u003ctd\u003eTime Granularity\u003c/td\u003e\u003ctd\u003eSpecify the granularity type\u003c/td\u003e\u003c/tr\u003e\n  \u003ctr\u003e\u003ctd\u003eVersioned Time Extraction Window\u003c/td\u003e\u003ctd\u003eVersioned extraction time window\u003c/td\u003e\u003c/tr\u003e\n  \u003ctr\u003e\u003ctd\u003eTime Extraction Window\u003c/td\u003e\u003ctd\u003eAn extraction time window for data to be queried\u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\n[Go to Time Extraction window section](#artesian-sdk-extraction-windows)\n\n### Market Assessment Time Series\n\n```MATLAB\nqs = QueryService(cfg);\ndata = qs.CreateMarketAssessment() ...\n       .ForMarketData([100000007,100000008]) ...\n       .ForProducts([\"D+1\",\"Feb-18\"]) ...\n       .InAbsoluteDateRange(\"2018-01-01\",\"2018-01-02\") ...\n       .Execute()\n```\n\nTo construct a Market Assessment Time Series the following must be provided.\n\n\u003ctable\u003e\n  \u003ctr\u003e\u003cth\u003eMas Query\u003c/th\u003e\u003cth\u003eDescription\u003c/th\u003e\u003c/tr\u003e\n  \u003ctr\u003e\u003ctd\u003eMarket Data ID\u003c/td\u003e\u003ctd\u003eProvide a market data id or set of market data id's to query\u003c/td\u003e\u003c/tr\u003e\n  \u003ctr\u003e\u003ctd\u003eProduct\u003c/td\u003e\u003ctd\u003eProvide a product or set of products\u003c/td\u003e\u003c/tr\u003e\n  \u003ctr\u003e\u003ctd\u003eTime Extraction Window\u003c/td\u003e\u003ctd\u003eAn extraction time window for data to be queried \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\n[Go to Time Extraction window section](#artesian-sdk-extraction-windows)\n\n## Auction Time Series\n\n```matlab\nqs = QueryService(cfg);\n\ndata = qs.CreateAuction() ...\n  .ForMarketData([100000001]) ...\n  .InAbsoluteDateRange(\"2020-03-01\", \"2020-04-01\") ...\n  .Execute();\n```\n\nTo construct an Auction Time Series the following must be provided.\n\n| Auction Query          | Description                                                  |\n| ---------------------- | ------------------------------------------------------------ |\n| Market Data ID         | Provide a market data id or set of market data id's to query |\n| Time Extraction Window | An extraction time window for data to be queried             |\n\n### Artesian SDK Extraction Windows\n\nExtraction window types for queries.\n\nDate Range\n\n```MATLAB\n .InAbsoluteDateRange(\"2018-08-01\", \"2018-08-10\")\n```\n\nRelative Interval\n\n```MATLAB\n .InRelativeInterval(RelativeIntervalEnum.RollingMonth)\n```\n\nPeriod\n\n```MATLAB\n .InRelativePeriod(\"P5D\")\n```\n\nPeriod Range\n\n```MATLAB\n .InRelativePeriodRange(\"P-3D\", \"P10D\")\n```\n\n## MarketData Service\n\nUsing the ArtesianServiceConfig `cfg` we create an instance of the MarketDataService which is used to retrieve MarketData infos.\n\n```MATLAB\n\nmds = MarketDataService(cfg);\n\n```\n\n### MarketData Acl\n\n#### AddRoles\n\n```MATLAB\nuser = AclPrincipal(PrincipalTypeEnum.User, \"test@ark-energy.eu\");\nmds.Acl.AddRoles(Acl(\"/system/marketdata/\", {AclRoles(\"Reader\", user)}))\n```\n\n#### RemoveRoles\n\n```MATLAB\nuser = AclPrincipal(PrincipalTypeEnum.User, \"test@ark-energy.eu\");\nmds.Acl.RemoveRoles(Acl(\"/system/marketdata/\", {AclRoles(\"Reader\", user)}))\n```\n\n#### Get\n\n```MATLAB\nmds.Acl.GetRoles(\n  1, % page\n  10, % pageSize\n  {\"test@ark-energy.eu\"} % principalIds\n);\n\nmds.Acl.ReadRolesByPath(\n  \"/system/marketdata/\", % path\n);\n```\n\n### MarketData Admin\n\n#### Create\n\n```MATLAB\nmds.Admin.Create(\n  AuthGroup(\"Test group\", {\"test@ark-energy.eu\", \"test2@ark-energy.eu\"})\n);\n```\n\n#### Update\n\n```MATLAB\nmds.Admin.Update(\n  1000, % groupId\n  AuthGroup(\"Test group\", {\"test@ark-energy.eu\", \"test2@ark-energy.eu\"})\n);\n```\n\n#### Remove\n\n```MATLAB\nmds.Admin.Remove(\n  1000 % groupId\n);\n```\n\n#### Get\n\n```MATLAB\nmds.Admin.GetById(\n  1000 % groupId\n);\n\nmds.Admin.Get(\n  1, % page\n  10 % pageSize\n);\n\nmds.Admin.ReadUserPrincipals(\n  \"test@ark-energy.eu\"\n);\n```\n\n### MarketData ApiKey\n\n#### Create\n\n```MATLAB\nmds.ApiKey.Create(\n  ApiKey(\"2020-02-10T00:00:00Z\", \"Api key Description\")\n);\n```\n\n#### Delete\n\n```MATLAB\nmds.ApiKey.Delete(\n  1000 % apiKeyId\n);\n```\n\n#### Get\n\n```MATLAB\nmds.ApiKey.GetById(\n  1000 % apiKeyId\n);\n\nmds.ApiKey.GetByUserId(\n  1, % page\n  10, % pageSize\n  \"test@ark-energy.eu\"\n);\n\n```\n\n### MarketData CustomFilter\n\n#### Create\n\n```MATLAB\n\nfilter = {};\nfilter.test = {\"1\"};\nfilter.test2 = {\"2\"};\nmds.CustomFilter.Create(CustomFilter(\"test filter2\",\"search test\", filter))\n```\n\n#### Update\n\n```MATLAB\nfilter = {};\nfilter.type = {\"VersionedTimeSerie\"};\nfilter.providerName = {\"JAO\"};\n\nmds.CustomFilter.Update(\n  1000, % filterId\n  CustomFilter(\"filter name\", \"search text\", filter)\n);\n```\n\n#### Delete\n\n```MATLAB\nmds.CustomFilter.Delete(\n  1000 % filterId\n);\n```\n\n#### Get\n\n```MATLAB\nmds.CustomFilter.GetById(\n  1000 % filterId\n);\n\nmds.CustomFilter.Get(\n  1, % page\n  10 % pageSize\n);\n```\n\n### MarketData SearchFacet\n\n```MATLAB\nfilter = {};\nfilter.page = 1;\nfilter.pageSize = 10;\nfilter.searchText = \"Search\";\nfilter.sorts = \"MarketDataName asc\";\ninnerFilter = {}\ninnerFilter.ProviderName = \"JAO\"\nfilter.filters = innerFilter;\n\nmds.SearchFacet.Search(\n  filter\n);\n```\n\n### MarketData TimeTransform\n\n#### Create\n\n```MATLAB\nmds.TimeTransform.Create(TimeTransform(\"MatTest\", TransformTypeEnum.SimpleShift, \"1D\", \"1D\",\"3D\"))\n```\n\n#### Update\n\n```MATLAB\nmds.TimeTransform.Update(\n  1000, % timeTransformId\n  TimeTransform(\"MatTest\", TransformTypeEnum.SimpleShift, \"1D\", \"1D\",\"3D\")\n);\n```\n\n#### Delete\n\n```MATLAB\nmds.TimeTransform.Delete(\n  1000 % timeTransformId\n);\n```\n\n#### Get\n\n```MATLAB\nmds.TimeTransform.GetById(\n  1000 % timeTransformId\n);\n\nmds.TimeTransform.Get(\n  1, % page\n  10, % pageSize\n  true % userDefined\n);\n```\n\n### MarketData MarketDataRegistry\n\n#### Create\n\n```MATLAB\ndata = MarketDataEntityInput(\"testMatlab\", ...\n    \"testmatlabcurveVer\", ...\n    \"Day\", ...\n    \"CET\", ...\n    AggregationRuleEnum.Undefined, ...\n    MarketDataTypeEnum.ActualTimeSerie ...\n);\n\nmds.MarketData.Create(data);\n```\n\n#### Update\n\n```MATLAB\ndata = MarketDataEntityInput(\"testMatlab\", ...\n    \"testmatlabcurveVer\", ...\n    \"Day\", ...\n    \"CET\", ...\n    AggregationRuleEnum.Undefined, ...\n    MarketDataTypeEnum.ActualTimeSerie ...\n);\ndata.MarketDataId = \"100000001\";\n\nmds.MarketData.Update(data);\n```\n\n#### Delete\n\n```MATLAB\nmds.MarketData.Delete(\n  100000001 % marketDataId\n);\n```\n\n#### Get\n\n```MATLAB\nmds.MarketData.GetById(\n  100000001 % marketDataId\n);\n\nmds.MarketData.GetByProviderName(\n  MarketDataIdentifier(\"Provider\",\"CurveName\")\n);\n\npage = 1;\npageSize = 100;\nres = mds.MarketData.ReadCurveRange(100000004, page, pageSize);\n```\n\n### MarketData UpsertCurve\n\n#### Upsert Actual\n\n```MATLAB\nrows = [];\nrows = [rows {{\"2022-01-01T00:00:00\", 1}}];\nrows = [rows {{\"2022-01-02T00:00:00\", 2}}];\n\nid = MarketDataIdentifier(\"ArkLab\",\"ActualCurve\");\ndata = UpsertCurveDataActual(id, \"CET\", \"2022-01-01T00:00:00Z\", rows);\nmds.UpsertCurve.Upsert(data);\n```\n\n#### Upsert Versioned\n\n```MATLAB\nrows = [];\nrows = [rows {{\"2022-01-01T00:00:00\", 1}}];\nrows = [rows {{\"2022-01-02T00:00:00\", 2}}];\n\nid = MarketDataIdentifier(\"ArkLab\",\"VersionedCurve\");\ndata = UpsertCurveDataVersioned(id, \"2022-01-01T00:00:00\",\"CET\", \"2022-01-01T00:00:00Z\", rows);\nmds.UpsertCurve.Upsert(data);\n```\n\n#### Upsert MarketAssessment\n\nMarket assessment product fields:\n\n- settlement\n- open\n- close\n- high\n- low\n- volumePaid\n- volumeGiven\n- volume\n\n```MATLAB\nrows = [];\nrows = [rows {{\"2022-01-01T00:00:00\" {{\"Jan-22\" {{\"open\" 6}, {\"close\" 7}}}}}}];\n\nid = MarketDataIdentifier(\"ArkLab\",\"MarketAssessmentCurve\");\ndata = UpsertCurveDataMarketAssessment(id, \"CET\", \"2022-01-01T00:00:00Z\", rows);\nmds.UpsertCurve.Upsert(data);\n```\n\n#### Upsert BidAsk\n\nBidAsk product fields:\n\n- bestBidPrice\n- bestAskPrice\n- bestBidQuantity\n- bestAskQuantity\n- lastPrice\n- lastQuantity\n\n```MATLAB\nrows = [];\nrows = [rows {{\"2022-01-01T00:00:00\" {{\"Jan-22\" {{\"bestBidPrice\" 6}, {\"bestBidQuantity\" 7}}}}}}];\n\nid = MarketDataIdentifier(\"ArkLab\",\"BidAskCurve\");\ndata = UpsertCurveDataBidAsk(id, \"CET\", \"2022-01-01T00:00:00Z\", rows);\nmds.UpsertCurve.Upsert(data);\n```\n\n#### Upsert Auction\n\n```MATLAB\nrows = [];\nrows = [rows {{\"2022-01-01T00:00:00\", AuctionBid(\"2022-01-01T00:00:00\", {{1 1}}, {{2 2}})}}];\n\nid = MarketDataIdentifier(\"ArkLab\", \"AuctionCurve\");\ndata = UpsertCurveDataAuction(id, \"CET\", \"2022-01-01T00:00:00Z\", rows);\n```\n\n### MarketData DeleteCurve\n\n#### Delete Actual\n\n```MATLAB\nid = MarketDataIdentifier(\"ArkLab\",\"ActualCurve\");\ndata = DeleteCurveDataActual(id, \"CET\", \"2022-01-01T00:00:00\", \"2022-01-02T00:00:00\");\nmds.DeleteCurve.Delete(data);\n```\nTo delete the whole range, just call the `DeleteCurveDataActual`, without date range\n\n```MATLAB\nid = MarketDataIdentifier(\"ArkLab\",\"ActualCurve\");\ndata = DeleteCurveDataActual(id, \"CET\");\nmds.DeleteCurve.Delete(data);\n```\n\n#### Delete Versioned\n\n```MATLAB\nid = MarketDataIdentifier(\"ArkLab\",\"VersionedCurve\");\ndata = DeleteCurveDataVersioned(id, \"2022-01-01T00:00:00\", \"CET\", \"2022-01-01T00:00:00\", \"2022-01-02T00:00:00\");\nmds.DeleteCurve.Delete(data);\n```\nTo delete the whole range, just call the `DeleteCurveDataVersioned`, without date range\n\n```MATLAB\nid = MarketDataIdentifier(\"ArkLab\",\"VersionedCurve\");\ndata = DeleteCurveDataVersioned(id, \"2022-01-01T00:00:00\", \"CET\");\nmds.DeleteCurve.Delete(data);\n```\n\n#### Delete MarketAssessment\n\n```MATLAB\nid = MarketDataIdentifier(\"ArkLab\",\"MarketAssessmentCurve\");\nproduct = {\"Jan-22\"};\n\ndata = DeleteCurveDataMarketAssessment(id, \"CET\", product, \"2022-01-01T00:00:00\", \"2022-01-02T00:00:00\");\nmds.DeleteCurve.Delete(data);\n```\nTo delete the whole range, just call the `DeleteCurveDataMarketAssessment`, without date range\n\n```MATLAB\nid = MarketDataIdentifier(\"ArkLab\",\"MarketAssessmentCurve\");\ndata = DeleteCurveDataMarketAssessment(id, \"CET\", product);\nmds.DeleteCurve.Delete(data);\n```\n\n#### Delete BidAsk\n\n```MATLAB\nid = MarketDataIdentifier(\"ArkLab\",\"BidAskCurve\");\nproduct = {\"Jan-22\"};\n\ndata = DeleteCurveDataBidAsk(id, \"CET\", product, \"2022-01-01T00:00:00\", \"2022-01-02T00:00:00\");\nmds.DeleteCurve.Delete(data);\n```\nTo delete the whole range, just call the `DeleteCurveDataBidAsk`, without date range\n\n```MATLAB\nid = MarketDataIdentifier(\"ArkLab\",\"BidAskCurve\");\ndata = DeleteCurveDataBidAsk(id, \"CET\", product);\nmds.DeleteCurve.Delete(data);\n```\n\n#### Delete Auction\n\n```MATLAB\nid = MarketDataIdentifier(\"ArkLab\", \"AuctionCurve\");\ndata = DeleteCurveDataAuction(id, \"CET\", \"2022-01-01T00:00:00\", \"2022-01-02T00:00:00\");\n```\nTo delete the whole range, just call the `DeleteCurveDataAuction`, without date range\n\n```MATLAB\nid = MarketDataIdentifier(\"ArkLab\",\"AuctionCurve\");\ndata = DeleteCurveDataAuction(id, \"CET\");\nmds.DeleteCurve.Delete(data);\n```\n\n## GMEPublicOffer Service\n\nUsing the ArtesianServiceConfig `cfg` we create an instance of the GMEPublicOfferService which is used to retrieve MarketData infos.\n\n```MATLAB\n\ngme = GMEPublicOfferService(cfg);\n\n```\n\n### GMEPublicOfferQuery\n\nCreate a GMEPublicOfferQuery using the GMEPublicOfferService.\n\n```matlab\ngme.CreateGMEPublicOfferQuery() ...\n   .ForDate(\"2020-04-01\") ...\n   .ForPurpose(Purpose.BID) ...\n   .ForStatus(Status.ACC) ...\n   .Execute()\n```\n\n#### GME Public Offer Required Filters\n\n| GME Public Offer Query | Description                                   |\n| ---------------------- | --------------------------------------------- |\n| ForDate                | Provide a date for extraction                 |\n| ForPurpose             | Provide a purpose (BID or OFF) for extraction |\n| ForStatus              | Provide a status for extraction               |\n\n#### GME Public Offer Optional Filters\n\n| GME Public Offer Query | Description                                          |\n| ---------------------- | ---------------------------------------------------- |\n| ForOperator            | Provide a list of Operators (string[])               |\n| ForUnit                | Provide a list of Units (string[])                   |\n| ForMarket              | Provide a list of Markets (Market[])                 |\n| ForScope               | Provide a list of Scopes (Scope[])                   |\n| ForBAType              | Provide a list of BATypes (BAType[])                 |\n| ForZone                | Provide a list of Zones (Zone[])                     |\n| ForUnitType            | Provide a list of UnitTypes (UnitType[])             |\n| ForGenerationType      | Provide a list of GenerationTypes (GenerationType[]) |\n| WithPagination         | Provide paging info (uint32 page, uint32 pageSize)   |\n\n## Links\n\n- [Github](https://github.com/ARKlab/Artesian.SDK-Matlab)\n- [Ark Energy](http://www.ark-energy.eu/)\n- [Artesian Portal](https://portal.artesian.cloud)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farklab%2Fartesian.sdk-matlab","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farklab%2Fartesian.sdk-matlab","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farklab%2Fartesian.sdk-matlab/lists"}