# Recommended videos > **Source**: [Coherent](https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ) ## Browse Collection 1. [What is Coherent Spark?](https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/H5WYl7ZaNvgXCTrR0PTkJg.md) (Video) 2. [Crafting front end using Coherent Validation API](https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ.md) (Video) 3. [Traffic Director: Rating and Rules](https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/I0g3sx3MrYnr3VdJIpQ2XA.md) (Video) 4. [Employee Benefits - Spark Shell ](https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/wwkXuHO5AjyjQ9fTIawTyw.md) (Video) 5. [Tech 205: Integrating with LLM](https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/FeEnXeDvUcHvqoXP5ITiCQ.md) (Video) 6. [Batch API using Python SDK (Clone)](https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/8AYIt0ikqUJ4dhFayUnlfg.md) (Video) --- # VIDEO: Crafting front end using Coherent Validation API ## METADATA - id: 1DMjKEJmLUV6qPqTdFKIsQ - type: video - source: Coherent - content_url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ - collection_url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ ## TRANSCRIPT - time: 00:00 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=0 text: Hey, how's it going? It's Donald from Coherent. - time: 00:03 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=3 text: Today we want to talk about how we can use the Coherent APIs - time: 00:07 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=7 text: to craft out a front end for us to use. - time: 00:10 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=10 text: From our previous video, we created a Home Rater, - time: 00:15 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=15 text: which is an existing service on the Coherent platform. - time: 00:18 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=18 text: Now, if I want to go ahead and basically just utilize API, - time: 00:22 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=22 text: we can just go ahead and input various types of input, - time: 00:25 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=25 text: and hit submit. - time: 00:26 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=26 text: And if I want to call the API, - time: 00:28 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=28 text: I just simply go ahead and go to this endpoint, - time: 00:31 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=31 text: and provide the required information. - time: 00:33 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=33 text: Now, what if we want to craft out a front end for Coherent Spark? - time: 00:39 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=39 text: And what kind of options do we have? - time: 00:41 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=41 text: What kind of APIs do we call? - time: 00:43 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=43 text: Today we're going to go ahead and introduce a tool - time: 00:45 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=45 text: that we internally use. - time: 00:48 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=48 text: It's a platform called Retool. - time: 00:50 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=50 text: Now, what we have here is a front end - time: 00:53 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=53 text: that is built on Retool. - time: 00:55 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=55 text: However, the back end, - time: 00:57 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=57 text: it's simply calling various type of inputs from Coherent Spark. - time: 01:02 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=62 text: Now, let's take a look at this. - time: 01:05 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=65 text: You might see there's a lot of very similar inputs - time: 01:07 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=67 text: that we have from the API inputs that we have on the API itself. - time: 01:13 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=73 text: We have year built, territory, and it's all fairly filled in. - time: 01:18 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=78 text: And if I want to go ahead and let's say, - time: 01:20 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=80 text: you know, complete every single field on the screen, - time: 01:23 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=83 text: and hit rate on Coherent, - time: 01:25 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=85 text: what we'll see is it'll execute APIs - time: 01:29 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=89 text: and basically return as a result for us. - time: 01:31 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=91 text: Now, what's more interesting about this is, - time: 01:35 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=95 text: how is this page being built? - time: 01:37 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=97 text: And the question often becomes, - time: 01:39 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=99 text: do I have to manually input every single field? - time: 01:42 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=102 text: For example, if I were to go ahead and say, - time: 01:44 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=104 text: click to territory, - time: 01:46 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=106 text: you see that there are various type of territory selections right here. - time: 01:52 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=112 text: Now, natively speaking, - time: 01:55 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=115 text: from the uploading of the Excel file into the Coherent platform, - time: 02:00 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=120 text: we inherited these dropdown from the Excel file. - time: 02:05 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=125 text: So namely speaking, - time: 02:06 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=126 text: if these fields are already created in the Excel, - time: 02:10 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=130 text: Coherent Spark would also go ahead and inherit that. - time: 02:13 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=133 text: Now, in order to achieve something like this, - time: 02:16 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=136 text: where I want this particular dropdown value - time: 02:19 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=139 text: to be dictated by Coherent Spark, - time: 02:23 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=143 text: all we have to do is within the applications, - time: 02:27 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=147 text: we just call something, - time: 02:29 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=149 text: we just call the validation API on our platform. - time: 02:32 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=152 text: Now, let's take a look at this. - time: 02:34 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=154 text: This is the backend of Retool. - time: 02:39 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=159 text: So this is where you would go ahead - time: 02:41 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=161 text: and basically create the applications. - time: 02:43 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=163 text: I'm not going to go into the details - time: 02:45 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=165 text: about create each individual text boxes. - time: 02:48 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=168 text: That's just simply a mechanism on that, - time: 02:51 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=171 text: Retool that supports. - time: 02:53 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=173 text: But what we will focus here is, - time: 02:56 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=176 text: I want to bring your attention to this territory field right here. - time: 02:59 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=179 text: You see that when I click on this, - time: 03:01 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=181 text: there are various type of dropdown that shows up. - time: 03:05 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=185 text: Now, this is made possible - time: 03:08 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=188 text: because we are using something called a validations API. - time: 03:13 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=193 text: Now, this validation API exists in our documentation. - time: 03:17 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=197 text: So let's take a look at this. - time: 03:19 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=199 text: Essentially, what the validation API does is, - time: 03:22 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=202 text: you can use this to extract static - time: 03:24 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=204 text: and dynamic validations from the Spark service. - time: 03:27 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=207 text: So when you go ahead and basically call this particular API, - time: 03:31 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=211 text: it will go ahead and return a list of fields - time: 03:35 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=215 text: that is validated for the input. - time: 03:37 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=217 text: So you can actually see that if I go back to my home radar - time: 03:41 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=221 text: and just hit the preview button on the bottom right here, - time: 03:44 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=224 text: on the top, sorry, - time: 03:46 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=226 text: we can actually see that for this particular service, - time: 03:49 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=229 text: ca-home-radar-validations, - time: 03:51 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=231 text: it would go ahead and basically return - time: 03:54 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=234 text: what are the valid values that we have for each individual input. - time: 03:58 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=238 text: Whole number, min-max value. - time: 04:01 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=241 text: And particularly speaking, in this case, - time: 04:03 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=243 text: if I'm looking at territory, - time: 04:04 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=244 text: it actually provides me the entire option list that I can include. - time: 04:11 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=251 text: So what I have done here is essentially within Retool itself, - time: 04:14 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=254 text: I was able to go ahead and basically map these two values together. - time: 04:18 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=258 text: we can actually see that I am calling the home cat default value - time: 04:24 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=264 text: and I am basically returning this entire dropdown list - time: 04:28 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=268 text: from the API call that I have done over here. - time: 04:31 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=271 text: Now, of course, I have another API call, - time: 04:33 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=273 text: which actually handled the execute, - time: 04:35 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=275 text: which is just mapping the value we have - time: 04:37 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=277 text: to what Coherent Spark is expecting. - time: 04:40 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=280 text: Hence, when I go ahead and click the execute button on page two, - time: 04:44 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=284 text: it will go ahead and basically send the rating on Coherent. - time: 04:48 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=288 text: That's essentially how this entire application is created. - time: 04:53 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=293 text: So the validation API is a very nifty way for us - time: 04:57 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=297 text: to bring in value from the Coherent Spark API. - time: 05:02 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=302 text: And once you have these set validations and these set fields, - time: 05:07 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=307 text: you can go ahead and basically set up your entire front end based off that. - time: 05:10 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=310 text: One very nifty thing about this as well is - time: 05:13 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=313 text: since the entire front end is dictated by the Excel file, - time: 05:18 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=318 text: the field here will also get updated as well, - time: 05:21 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=321 text: given that you have changed it from your Excel file. - time: 05:23 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=323 text: So in the future, if I also have a territory number one and two, - time: 05:27 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=327 text: and I want to get an update on this field, - time: 05:29 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=329 text: all I have to do is update my Excel file, - time: 05:31 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=331 text: and this field would programmatically change as well, - time: 05:35 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=335 text: given that we are only calling the APIs - time: 05:37 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=337 text: from the default value inside of Coherent Spark. - time: 05:40 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=340 text: Using our Validation API and the execute APIs, - time: 05:43 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=343 text: it really provides an easy way to take a look at what values are available, - time: 05:47 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=347 text: and you do not have to build those values from scratch. - time: 05:50 url: https://coherent.portal.trainn.co/oGECFYpUljYdG0l0CZ6dMQ/1DMjKEJmLUV6qPqTdFKIsQ?start_time=350 text: Hope this helps, and see you next time. ## SUMMARY # Creating a Front End with Coherent APIs Hey, how's it going? It's Donald from Coherent. Today, we want to talk about how we can use the Coherent APIs to craft a front end for us to use. From our previous video, we have created a Home Raider, which is an existing service on the Coherent platform. ## Utilizing Coherent APIs If you want to utilize the API, you can input various types of input and hit submit. To call the API, simply go to the endpoint and provide the required information. ## Crafting a Front End for Coherent Spark To craft a front end for Coherent Spark, we introduce a tool we internally use called Retool. Retool allows us to build a front end while the back end calls various types of inputs from Coherent Spark. ### Understanding the Front End - The front end is built on Retool. - It includes inputs similar to those on the API itself, such as year built and territory. - Completing every field and hitting rate on Coherent will execute APIs and return results. ### Building the Page Often, the question arises whether you have to manually input every field. For example, when selecting a territory, various options appear. These dropdowns are inherited from the Excel file uploaded to the Coherent platform. ## Using the Validation API To achieve dropdown values dictated by Coherent Spark, call the validation API on our platform. This API extracts static and dynamic validations from the Spark service. ### Backend of Retool - Create applications without going into details about individual text boxes. - Focus on fields like territory, where dropdowns show up due to the validation API. ### Validation API Functionality The validation API returns a list of validated fields for input. For example, in the Home Raider service, it returns valid values for each input, such as whole number and min-max value. For territory, it provides the entire option list. ## Mapping Values in Retool Within Retool, map values together by calling the home cat default value and returning the dropdown list from the API call. Another API call handles the execute function, mapping values to what Coherent Spark expects. ### Executing the Application - Clicking the execute button sends the rating on Coherent. - The validation API helps set up the front end based on set validations and fields. ## Dynamic Updates with Excel The front end is dictated by the Excel file, allowing fields to update programmatically when the Excel file changes. For example, adding territory numbers in the Excel file updates the field automatically. ## Conclusion Using the Validation API and execute APIs provides an easy way to view available values without building them from scratch. Hope this helps, and see you next time.