• Projects -
  • Rating -
  • Rating 446

Budget: 1000 UAH Deadline: 2 days

Good day! I have encountered exactly this — 429 appears because Power Query pulls the entire history again each time. I will rewrite the M-query for incremental loading using timestampModifiedAfter and add a retry with backoff, so it doesn't fail on 429 but waits and continues. One question: will you provide access to your Tovuti (key + test report) here so I can check the fix with real data? I will do it quickly.

  • Projects 44
  • Rating 5.0
  • Rating 6 283

Budget: 2000 UAH Deadline: 1 day

Hello!
I am ready to take on your project and will complete it urgently.
I have extensive experience with similar tasks, and there will be no difficulties.
If I have piqued your interest, feel free to write; I am happy to collaborate!

  • Projects 3
  • Rating 5.0
  • Rating 1 130

Budget: 2500 UAH Deadline: 3 days

Good day! We do exactly these types of integrations with REST API — your 429 is classic: the request pulls the entire history of courseProgresses each time, and it has exceeded the Tovuti limit.

What I will do:
1) I will rewrite Power Query (M) for incremental loading — we will only pull new/modified records through timestampModifiedAfter, not the entire history. The model with 4 tables (Teams, Courses, Users, AssignmentsProgress) and the relationships teamId/courseId/userId will remain unchanged.
2) I will add retry/backoff for 429 (try...otherwise + Function.InvokeAfter with increasing pause), so that the updates do not fail but gently wait for the limit and continue.
3) I will check on your real Tovuti API that the refresh passes, and briefly document what and why I changed — so you can maintain it further.

I have experience with M/incremental refresh, REST API (pagination, date filters, limits, backoff), and reading OpenAPI schema. I communicate fluently in English, so communication is not a problem.

One clarification regarding the essence: does courseProgresses return data with cursor pagination or only with date filter + offset? And will you be able to provide access to the .pbix and a key to Tovuti (a test one is fine) so I can test the fix on live data, not blindly — this is the fastest way to a working result.

  • Projects 30
  • Rating 5.0
  • Rating 5 747

Budget: 18000 UAH Deadline: 4 days

We can take this as a fixed task - a benchmark of 4 working days and 18,000 UAH. Essentially, it's not just about resolving 429, but reworking the loading of AssigmentsProgress so that Power BI doesn't loop through the entire history. Yes, API limits like to remind you of themselves at the least poetic moment =)

I would do it this way - separately extract the function for querying courseProgresses with pagination, add timestampModifiedAfter, a proper retry/backoff for 429, control for empty pages, and a brief description of the logic in M code. After that, I would check the updates on the real Tovuti API and go through the links teamId, courseId, userId, to avoid breaking the model of Teams, Courses, Users, and AssigmentsProgress.

Clarification, so as not to shoot sparrows with a cannon - do you have Power BI Pro or Premium, and is the standard incremental refresh used through RangeStart/RangeEnd, or is everything currently done only within Power Query? Secondly, in Tovuti, does timestampModifiedAfter return all modified records consistently in UTC, or is it the local time of the account?

> https://business.ingello.com/platforma - close in logic to a corporate platform where a stable data structure and process support are important
> https://business.ingello.com/forma-bpm - similar in approach to business processes, relationships between entities, and controlled automation
> https://business.ingello.com/vorfahr - an example with integrations and automation, where the reliability of data exchange is crucial

Similar project: Рефаткоринг приложения
  • Projects 20
  • Rating -
  • Rating 2 116

Budget: 1500 UAH Deadline: 2 days

Got the task: the Power Query call for AssigmentsProgress is currently pulling the full history on every refresh and hitting Tovuti's 429 limit, and it needs to switch to incremental refresh using timestampModifiedAfter, plus retry and backoff on 429.

Honest note upfront: I haven't worked with Power Query M specifically before. My background is Python backend with heavy REST API experience, pagination, rate limits, retry and backoff patterns are exactly what I deal with daily, so the logic here is very familiar even if the M syntax itself is new to me. M is a small, well-documented language and the pattern you need, a parameterized incremental pull plus a backoff wrapper, is straightforward once I look at your current query.

What I'd do: add a stored parameter for the last successful refresh timestamp that feeds timestampModifiedAfter into the courseProgresses call, wrap the API call in a retry function that catches 429, waits, and retries instead of failing the whole refresh, and test it against your live Tovuti data before handing it back with a short writeup of what changed and why.

If you're open to it, I'd also suggest storing the last-refresh timestamp outside Power BI so it survives even if a refresh partially fails, rather than deriving it purely from existing data — happy to discuss once I see the current query.

Given it's one query with a defined pattern, this is realistically a 2-3 day task including testing against your real API.

  • Projects 11
  • Rating 5.0
  • Rating 1 773

Budget: 8000 UAH Deadline: 3 days

We have experience optimizing API requests in Power Query to bypass limits. We implement this through the introduction of caching mechanisms and batch processing logic to avoid error 429. This will ensure the stable operation of your reports without exceeding Tovuti LMS limits. We are ready to start setting up the integration soon.

  • Projects -
  • Rating -
  • Rating 427

Budget: 5000 UAH Deadline: 4 days

Hello, Olga!

The task is clear: the report is constantly overloading the entire history of courseProgresses, the volume has exceeded the Tovuti limit — hence the 429. We need to convert the fact table AssignmentsProgress to incremental loading and teach the query to handle the limit instead of failing.

How I will do it:
• I will rewrite the query in Power Query (M) so that courseProgresses pulls from timestampModifiedAfter — only new/modified records since the last update instead of a full backfill.
• I will add a retry/backoff wrapper: on 429 the request pauses with increasing intervals and retries (with a limit on attempts), plus correct pagination.
• I will test on your real Tovuti API to ensure the refresh completes and the links between Teams/Courses/Users remain intact.
• I will briefly document what and why has been changed so you can maintain it yourself.

  • Projects 77
  • Rating 4.8
  • Rating 2 900

Budget: 1000 UAH Deadline: 1 day

Good day! I am ready to fix this error!! I can do it tomorrow!!!

  • Projects 104
  • Rating 5.0
  • Rating 4 461

Budget: 1111 UAH Deadline: 1 day

Good day!

I have experience working with Power BI, Power Query (M), and REST API integrations. I understand the problem: due to the full loading of the API history, it hits the request limit, so the optimal solution is to switch to incremental refresh.

After reviewing the current Power Query and API, I will be able to assess the timelines and propose a fixed cost.

  • Projects -
  • Rating -
  • Rating 196

Budget: 27000 UAH Deadline: 5 days

We already have a practically ready similar solution for incremental data updates via API, which can be quickly adapted for Tovuti LMS and Power BI.

Regarding the estimate - 28,000 UAH and approximately 5 working days after access to the report, test API, and current Power Query logic.

I will work not just with error 429, but with the cause - a complete reload of the history in AssignmentsProgress.

> I will move the loading of courseProgresses to an incremental model via timestampModifiedAfter.
> I will add pagination control, API limits, and retry/backoff for 429.
> I will check the connections with Teams, Courses, Users, and AssignmentsProgress to ensure the model does not break after the query changes.
> I will briefly describe what has changed and how to support it further.

Proposals concealed

The list does not show proposals concealed by the client or freelancer with a Plus profile, as well as proposals violating rules

Current freelance projects in the category Data Processing

10 July
10 July
8 July