Skip to Content
Technical Articles
Author's profile photo DJ Adams

SAP Developer Challenge – APIs

We have a new SAP Developer Challenge for you for the month of August. This time it is all about APIs – introducing you to the basics, revisiting some classic aspects, and having a bit of fun along the way.

Challenge close and final statistics

Update 04 Sep 2023: We’re now a few days into September already. In last week’s SAP Developer News episode we mentioned that we’d keep the challenge open for a few more days (basically until the weekend was over) for you to catch up on any tasks that were outstanding. That period is now over, and the challenge is now officially closed, as of 0900 BST (UTC+1) today. The statistics below are based on all participation up to this point.

The tasks are still available for you to work through, and will remain available for the forseeable future. We have endeavoured to supply enough background information in each of the tasks for you to complete them on your own at any time.

We’d like to congratulate each and every one of you for taking part, and working through the tasks. There was a super community vibe and some interesting discussions sparked by some great questions from you. We thank you for that.

So, here are a few statistics.

Overall participation

There were lots of you that took part! In fact, 223 unique participants. All of you that participated will receive an SAP Community badge, as mentioned towards the end of this post. Congratulations to all of you, who are:

AAncos, ALEJONO, AbapAndy728, AchimBolte, Afenna, AndrewF, ArindamSAP, Ashok_Easa, Bharathi_S, BrijeshGandhi, Chaitanyat, Cmdd, Cylia_Oulebsir, DazOwens, DenisGaland, DirkO, Ella, Eurey, FabienHenique, Flavio, FooThePolarBear, Frank_Haschick, GRABLERE, Gowtham, HJRavi, HelenaFortun, Hendrik, Henning, IngoS, IsmailFatih, JJAIMES, Jagtar, JohnPaulLiberal, Julio, K_Choudhary, KathrynKazibwe, Keekee, MadhavKumar, Mahmoud-Farag, ManojSutar, MarcelloUrbani, MeriemSouissi, Monni, Nacho_Rodriguez, Naguco, Nicolas, Nidhi, OlH, OlgenH, P41l, Petchimuthu_M, PriyankaChak, R4BB1T, RUPAM9115, Rafito, Rajshekhar2, Ramjee_korada, RaulVega, Rishi_and_SAP, Ritik, Ruthiel, SSchuck, SandipAgarwalla, SandraSolis, Sharadha, Shubasis, StKollos, SubaR, Suneeth_P, SyamisUnique, SyedAllaBakshu, TJRP, TRainer, TRuloff, TiagoAlmeida, Tomas_Buryanek, ToniOostveen, TravelTechCode, VenugopalA, VinitaSangtani, Zakir_hussain, _Konstantin_, aancos_id, abdullahgunes, adrian-ngo, ajay_soreng, ajmaradiaga, ajos, akshaychats129, alessandraarm, amine_b23, andrew_chiam, andyl, anupamduttaroy, arismuda, arunneerolil, aslan1906, barisguler, bernd_broesamle, beserk, bmsudhakaran, brahammittal, bugsanderrrors, bztoy, cd_winc, cdias, ceedee666, cguttikonda24, choujiacheng, cinemandre, d067595, dakoller, dan_wroblewski, danielpobletaes, das87, devrajsingh, dhegde, dianab, dinah, dvontress, eakucuk, ecem_yalim, eddiedu, elkhenati, emiliocampo, encarrero, erickgrilo, fabio_correa, flo_conrad, fsteurer, garyzuo, geek, govardhansahil, gphadnis2000, gustavo-alvarez, harsh_itaverma, hunamm, huseyindereli, ibibhu, imancour, induthiru, jagadish, jasshauer, jdm, jens_borau, jironoor, jitendrakansal, jkz, jmalappil, jmuiruri, johna69, kamesh-sap, kasch-code, kjyothiraditya, koehntopp, ktrkanjec, kumarniti4, kunalsahi85, lehuynhnam, lvhengel, marhol, martin_zauner, martinstenzig, mdejesus, menglert, miyasuta, msoans, mts2605_orsted, mustafabilen, mvaibhav, nagarajan, nalin_sharma, naveen1241, nex, nicoschoenteich, nilsb, njames, nmkarthikeya, ofilho, p330068, pedropeixoto, pmthien, pmwilliam, pocaFight, prachetas, prashil, pvnierop, r5luga, ramana_salapu, raulguti, rdulek, rohantiwari, sabarna17, sainithesh21, salilmehta01, sandeepmalhotra, sarahf, satya-dev, se38, se71, seVladimirs, senchi, sgatea, shotokka, shrinivasan_ns, somnath_paul, spassaro, steph_senita, stephancalmindo, stevanic, stickman_0x00, swanandl, szeteng00, thomas_jung, thomasks, tly, tobiasz_h, turanaydin, vedaradhya, vignesh_narayan, vinaychowdary, xyla, yassine.

Overall task completion

There were 13 tasks altogether. Each of these were successfully completed by many of you. Here’s the breakdown, task by task, of how many of you completed each task.

176 Task 0  ++++++++++++++++++++++++++++++++++++++++++++++++
 70 Task 1  ++++++++++++++++++++
104 Task 2  +++++++++++++++++++++++++++++
 90 Task 3  +++++++++++++++++++++++++
 53 Task 4  +++++++++++++++
 56 Task 5  ++++++++++++++++
 38 Task 6  +++++++++++
 49 Task 7  ++++++++++++++
 44 Task 8  ++++++++++++
 35 Task 9  ++++++++++
 37 Task 10 +++++++++++
 30 Task 11 +++++++++
 27 Task 12 ++++++++

Individual task streaks

There was a lot of work for you to do across all 13 tasks in this challenge. Some of you did incredibly well, successfully completing multiple tasks in the challenge period.

Here’s a breakdown of how many of you successfully completed how many tasks in total:

188 1 tasks  +++++++++++++++++++++++++++++++++++++++++++++++
127 2 tasks  ++++++++++++++++++++++++++++++++
 96 3 tasks  ++++++++++++++++++++++++
 79 4 tasks  ++++++++++++++++++++
 65 5 tasks  +++++++++++++++++
 54 6 tasks  ++++++++++++++
 50 7 tasks  +++++++++++++
 40 8 tasks  ++++++++++
 31 9 tasks  ++++++++
 28 10 tasks +++++++
 23 11 tasks ++++++
 19 12 tasks +++++
  9 13 tasks +++

As you can see, a handful of you, 9 in total, worked through and successfully completed every single task. While we can’t give a special extra badge for this, we’d like to call you out as participants with stamina!

  • PriyankaChak
  • ajmaradiaga
  • geek
  • kasch-code
  • sabarna17
  • se38
  • seVladimirs
  • thomas_jung
  • tobiasz_h

Great work! 💪

Thanks once more to each and every participant for taking part in this challenge. Look out for your badge which should be coming your way in the next few weeks!

We’d love to hear from you on how you found this challenge, what you liked, what you disliked. So please, please, take a minute or two to leave a comment to this blog post, below, letting us know how we can do better next time.


Task list

If you’re just here for the list of tasks in this challenge so far, here they are:

Task 0 – Learn to share your task results

Task 1 – List the Northwind entity sets

Task 2 – Calculate Northbreeze product stock

Task 3 – Have a Northbreeze product selected for you

Task 4 – Discover the Date and Time API Package

Task 5 – Call the country date format API endpoint

Task 6 – Create a new Northbreeze category

Task 7 – Create a new directory in an SAP BTP account

Task 8 – Create an instance of the SAP Cloud Management Service

Task 9 – Create a service key for API endpoints and auth info

Task 10 – Request an OAuth access token

Task 11 – Examine the access token for scopes

Task 12 – Use the access token to call the API endpoint


OK, let’s dive in!

APIs are an essential component in any system, large or small. In enterprise software, you can think of APIs as providing the lifeblood, the flow, in between and around systems that work together.

Aspects of APIs

There are many aspects of APIs, not least whether any given API is synchronous or asynchronous. But beyond that, there are styles. From simple HTTP based APIs that use HTTP as what it is, i.e. an application level protocol, through to those that conform partially or fully to RESTful constraints, such as OData, to styles which are quite orthogonal, such as gRPC, GraphQL and SOAP.

So while there are many API styles and aspects, this month we’ll focus on what is arguably the style that covers a large majority of integration interactions – HTTP and OData. Not least because to understand HTTP and OData is to understand the protocol that is used as a transport layer* for other styles (such as SOAP, XML-RPC, GraphQL and more).

*I’m deliberately going to avoid talking about whether that is a good thing or not 🙂

The challenge

As a slight departure from previous SAP Developer Challenges where there have been around four weekly tasks, we’re trying something a little different this month, with a series of more smaller, shorter tasks. Each task is something you can probably do in a coffee or lunch break (there are some that may take a little longer), and introduces you to some aspect of HTTP and OData APIs.

Some tasks will be based on simple services that are ideal for light touch activities. Others will be based on, and thereby introduce you to, or allow you to revisit, facilities on the SAP Business Accelerator Hub (previously known as the SAP API Business Hub).

The tasks

So any given SAP Developer Challenge like this consists of one or more tasks.

Each task in this challenge will be presented as a new discussion thread in the Application Development area of the SAP Community and the content of each of these discussion topics will have sections as follows:

  • Background: some content that covers details of the API aspect or feature at hand
  • Your task: a description of what you actually have to do
  • Hints and tips: information designed to help you complete the task
  • For discussion: questions for you to consider, and to share your thoughts on

For each task, you are encouraged to do two things:

  1. Complete the task as described, and share your result in a reply to the task’s discussion thread – this should be in the form of a SHA256 hash made from that result value and your SAP Community ID.
  2. Share your thoughts, by starting a separate reply to the task’s discussion thread, on the questions raised in the “For discussion” section.

So the question on your mind now is: “How should I create and share my task result hash?”

Well, you can find out exactly how you should do that, in our very first task for you in this challenge:

SAP Developer Challenge – APIs – Task 0 – Learn to share your task results

The task schedule

As mentioned earlier, there are more than just four weekly tasks in this challenge. We’ll create a new discussion thread in the Application Development area of the SAP Community for each task as and when they are ready for you to complete.

Expect each new task to be publicized like this every few days. It’s probably worth bookmarking the discussion group, or adding the discussion group’s RSS feed to your favorite RSS reader. For example, I use Miniflux and am subscribed to this feed here:

What to do now

Bookmark or otherwise subscribe to updates to this blog post and / or the Application Development discussion threads.

Then head on over to the first discussion thread, for Task 0:

SAP Developer Challenge – APIs – Task 0 – Learn to share your task results

and complete the task as described. Add your result hash, plus add further replies to the discussion thread with any thoughts you have.

Then check back in a couple of days time to look for the next task in its own new discussion thread!

What you’ll need

To complete the tasks, you’ll need to use various bits of software; often you’ll have a choice (for example, of language to use, or tool to employ). For some of the tasks you’ll need an account on SAP Business Technology Platform. A trial account will be fine, and is free for anyone.


Upon successful completion of the challenge’s tasks, you will earn a badge for your SAP Community profile.


We’ll leave the tasks open to complete for a period of time after August ends, to give you a chance to catch up and complete them all if you need to.

And don’t forget to have fun, learn stuff along the way, and share your thoughts with you fellow SAP Community members!


Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Nigel James
      Nigel James

      Great reminder to use RSS  - Thanks DJ

      Author's profile photo Witalij Rudnicki
      Witalij Rudnicki

      I never got used to RSS  😕

      Author's profile photo Vladimirs Semikins
      Vladimirs Semikins

      Same for me, but for this challenge only, I've downloaded the RSS app 😅

      Author's profile photo Wises Keshom
      Wises Keshom

      Let's install Miniflux 😁


      Thanks DJ, looking forward to learn and have fun with this challenge.

      Author's profile photo Wises Keshom
      Wises Keshom

      I am glad that I was one who participated in every tasks of this great challenge but what a shame that I submitted some wrong answer that make my account is missing from those super 9. 😅😅

      Author's profile photo Sabarna Chatterjee
      Sabarna Chatterjee

      Surely it is. @qmacro - You have created a awesome, interactive, learning experience with lots of easter eggs...
      Kudos to SAP Community . The Community is brilliant with lots of ideations and explorations. Here is a thread from to all of you.

      Feel free to have a look and comment in the solutions using Node-RED for these Tasks in this Git-Repo.

      Author's profile photo DJ Adams
      DJ Adams
      Blog Post Author

      Thanks Sabarna!

      Author's profile photo Vladimirs Semikins
      Vladimirs Semikins

      thanks, DJ Adams, and as already mentioned in groups - this was a lot of fun! The time you posted new challenges was just perfect for me! Learned a lot of new stuff, but not yet converted to terminal user only 😉 next time probably.

      and those who know will understand 🐣



      Author's profile photo DJ Adams
      DJ Adams
      Blog Post Author

      Nicely found 😉 And thanks!

      Author's profile photo Sandip Agarwalla
      Sandip Agarwalla

      Thanks a lot DJ Adams, for this API challenge. The content was nicely organized, had lot of fun completing each task and lot of learnings as well.



      Author's profile photo DJ Adams
      DJ Adams
      Blog Post Author

      You're welcome!

      Author's profile photo Sami Hotokka
      Sami Hotokka

      Thanks DJ Adams, for this fun API challenge. Personally I think the tasks were well prepared and challenging enough. It was nice that they were not too long and I was able to tackle them between / after work.
      Had the challenge been open one more day, you would have had 10 completions of the final task 🙂

      Br, Sami

      Author's profile photo DJ Adams
      DJ Adams
      Blog Post Author

      Thanks Sami! Shame about the last task for you, but kudos anyway! 💪

      Author's profile photo Tomas Buryanek
      Tomas Buryanek

      Amazing Challenge! Thank you very much DJ Adams, and everyone who was behind it + all participants. It was fun, sometimes very challenging for me (which is good thing), well separated to topics and introduction tasks. I explored, learned and tried many new things for me (and I thought that I know APIs quite well). Thanks again 🙂

      Author's profile photo DJ Adams
      DJ Adams
      Blog Post Author

      Thanks Tomas Buryanek that is very kind! Glad you enjoyed it.

      Author's profile photo Raf Boudewijns
      Raf Boudewijns

      Hey DJ,

      first of all a very big thank you for taking the time and effort to set this up!

      I accidentally stumbled upon this post while looking for something else (can't recall at the moment what I was looking for back then) and since I was basically "stuck" with my assignments at the time (I was mainly waiting on others), I thought to myself "hmm, let's give this a shot".

      In one of the comments I already wrote that I'm not a "real" developer, meaning I'm not one of those die hard technical guys, but I do occasionally have to program a bit here and there. However, I did enjoy these (little) tasks a lot. It did give me a better understanding of how APIs work (I do get in touch with them from time to time - we basically receive data in our data warehouse through APIs) and what you can actually do with them even though from time to time it was quite a struggle.

      So far I worked up until task 8 and I hopefully have some time next month to finish the other ones. As I'm leaving on vacation this coming weekend, I "suddenly" have quite the workload on my plate.

      The only downside maybe is that I have no clue whether my answers were correct or not 🤔 that would have been a "nice to have" I guess. Other than that, again, very well done and thanks a lot!



      Author's profile photo Karsten Scheibe
      Karsten Scheibe

      Hi Raf,

      In order to verify your answers, you can send it to the hash service and change the CommunityID to one of the other users who already posted a comment below the task. Then the returned hash value should match the one in the user's comment. If this works for 2 or 3 users, chances are good that your answer is correct.

      Author's profile photo Raf Boudewijns
      Raf Boudewijns

      Thanks! I'll try that.

      Author's profile photo Clemens Link
      Clemens Link

      Hey DJ,

      awesome content, is there an overview of all the challenges till now.