Quartz Scheduler Rest Api

To create, manage, and schedule jobs, you can use the Azure portal, code, Scheduler REST API, or Azure Scheduler PowerShell cmdlets reference. The option is a org. instanceId = AUTO. The managing part would be some nice web interface where jobs could be submitted either on-demand, or -- now it get's back to "cron" or your favorite implementation of it the java quartz scheduler has a granularity on seconds AFAIK -- for the time based part just use good old cron :). I will share how to use clustered Quartz scheduler in my next post. Safest would be to turn them all off, update them and start them up, but if you can't do that you'll have to think through what might happen if, for. x (there are some major changes in the API) and on dealing with class version differences since Weblogic already has 1. we should consider both coding standard as well as API designing best practices. QuartzDesk exposes a REST API to monitor individual managed schedulers, jobs and triggers. In this tutorial, we show you how to integrate Spring Batch Boot with Quartz scheduler to run batch job periodically. Quartz Africa. The monitoring REST API is available at the following URLs. The JmsTemplate class is the main class which we will be using often to work with the JMS API. We have seen how to write Job Scheduling applications with JDK Timer and Quartz scheduler in this article. NET is a little bit tricky, as transferring IoC container needs some extra implementation. In this example, the Quartz scheduler with Spring job scheduler to run every 10 seconds. We can use simple trigger with millisecond and repeat jobs and set repeat intervals. NET is a full-featured, open source job scheduling system written in C# for. Check out this application on GitHub to download the code and read instructions on how to run it yourself. Finally to test it we use cxf client API to call the REST. Quartz provides a fluent API for creating jobs and scheduling them. Job Scheduling Checklist Request. By default, Quartz only provides support for the traditional relational databases. Quartz contains all of the core Quartz functionality and it is distributed as a small java library (quartz. - Google Project Hosting: This is a place for exploring aspects of implementing applications using the REST architectural style. Liferay 7 REST Webservices Tutorial. This tutorial shows how to use Quartz to schedule Apache CXF SOAP calls at recurring intervals, for example, to provide ongoing reports or to refresh cached data in a. Click on it and you will be taken to a page containing all of the RESTful APIs that the Nexus Repository Manager supports, enabling us to manipulate artifacts through the RESTful API in the command line or code snippets easily. sleep method but if you need to synchronize the start of the job based on clock cycles , using a Quartz scheduler is way simpler. quartz-scheduler free download. 2 Scheduling Basics Scheduling Jobs. - Tags: Interesting!. 1 ships with upgraded third party libraries that may require changes. Liferay 7 REST Web services Tutorial for creating Jersey REST web services using OSGI. All Cron schedules will be assigned a random seconds field by the SmartThings platform. So we have to disable the auto run feature in application. SchedulerSignalerImpl. Does Azure Function support OAuth so that I can use it as a service for a specific account of VSTS?. One common way is to use Thread. xml: First:. As a continuation of my previous article, I thought it would be nice to create a RESTful API into the information being maintained by the Quartz scheduler. 7 and removed in future releases. Spring 4 + Quartz Scheduler integration full example , scheduling simple and complex jobs with Quartz in Spring application, using Quartz support classes. NET and changed it to a simple console app that we set up in task scheduler to run every 5 minutes that uses NCrontab + a per-job cron expression + the timestamp of when the job last ran to calculate whether a particular job needs to be run this time. For using in the context of a fabric-enabled Red Hat Jboss Fuse container. See the complete profile on LinkedIn and discover Vamshi K’S. jar, dan seterusnya. Interactive execution statistics and charts. アプリケーションとして形成して実行するためにSpringBootを使用しています。 サンプルジョブの主処理としてログ出力を行っていますが、ログ出力の方式は主旨とは関係ないので割愛させていただきます。 WEBサーバの形式で. instanceID. I used the quartz here and now I try to use the jersey client to make a REST request. As a matter of fact Java language supports several key frameworks that assist software developers in dynamic job scheduling. In that case, some of. GitHub Gist: star and fork rtrcolin's gists by creating an account on GitHub. Queries are managed and executed via Jersey-based REST API that has a Quartz scheduler instance running in the background. xml - The configuration of quartz_jobs. Support your customers before and after the sale with a collection of digital experience software that works together to grow the customer relationship. CronMaker is a utility which helps you to build cron expressions. You can schedule the scheduler by using Rest API or azure PowerShell. The heart of the framework is the Scheduler. Cron is a unix based job scheduler tool. a hosted scheduler where i can send a rest API request. First is the schedular where you can change the frequency, the second is the job type. Quartz is a library. Why You Shouldn't Use Quartz Scheduler If you need to schedule jobs in Java, it is fairly common in the industry to use Quartz directly or via Spring integration, but you might want to think twice. I am proud to announce the release of JWatch v0. I prefer it over the standard Quartz. NET Core Scheduler loads data on demand by default to reduce the transfer and load times. This page including description and links for a tool with the name QuartzDesk-Lite-Edition: Quartz Scheduler Manager and Monitoring UI / Tool. NET Scheduler (BatchRunner) - performs several automated tasks on a schedule. 1 post published by Mallik during October 2019. Liferay 7 REST Webservices Tutorial. Job Scheduling in Java the standard Java Timer API, and then we will focus on Quartz, an open source library for those who need some extra features in their. Project Structure: Create a simple Maven Project and import it to eclipse, now add required dependencies. Create, update, and delete objects within your scheduling environment directly from your applications. Integrate Quartz with ADF In this blog entry, I will explain how to use Quartz to execute Background Jobs, where Jobs will eventually execute ADF Application Module methods. We will schedule this batch job using the scheduler. In this post we develop a simple Spring Boot Batch application where batch job gets triggered using a scheduler. NET Core logging infrastructure. Net Writing your first Hello World Job Thank you for this guide I found it very useful. scheduler. Currently I am developing a web service with the Jersey API. Why You Still Shouldn't Use Quartz Scheduler. It uses a java Scheduler called Quartz to manage the different jobs (doing HTTP requests) and SpringBoot to build a Rest service used by the frontend app build using Angular for CRUD operations. Java - Job Scheduling in web application with quartz API Scheduling job in web application is important part of application. Technologies: Java 1. But the service does not run the scheduler at that time. Quartz 2 JobListener example. It’s very basic, it’s merely exposing a limited REST API and simple UI over Quartz Scheduler. In previous Apache Camel Java DSL + Spring Example we had written Spring configuration to call a Java DSL route to transfer from one folder to another. that is fired at any time, but Quartz. Conclusion: In this article we saw the scheduling of Spring application using Quartz scheduler. Establishes a data connection with the FTP server, returning a Socket for the connection if successful. Execute Raw Elasticsearch Query using Transport Client – Java API Leave a reply The following sample program details on how to execute raw Elasticsearch query using Transport Client (Java API). You can schedule the scheduler by using Rest API or azure PowerShell. 2 Scheduling Basics Scheduling Jobs. Quartz, is a open source job scheduling framework, that let you scheduler a task to run on a predefine date and time. This page provides Java source code for JobsRestful. Spring Boot + Quartz Scheduler in Cluster mode database and credentials and port that will be used for REST api. For example, a Scheduler might trigger an event to start a flow every 5 seconds. Here’s the Quartz. Web Services Tutorial for beginners and professionals with examples on soap, restful, rest, uddi, jax ws, jax rs, rpc, document, xml, java, jersey, resteasy,. This value represents a string that uniquely identifies an Oracle Identity Manager scheduler instance. 12 onwards there is a Quartz2 component you should use. Vamshi K has 3 jobs listed on their profile. And, you get end-to-end coverage backed by the most knowledgeable support team in the industry. In this post we develop a simple Spring Boot Batch application where batch job gets triggered using a scheduler. md, add Swagger for API documentation, leverage application. Obsidian provides both a UI and a REST API to make these changes and they can be effective at the very next minute. I have managed to setup an executable to run my job via quartz. service management REST API’s. Alan has 9 jobs listed on their profile. There is also a REST API you can use for troubleshooting. It is responsible for managing the runtime environment for our application. Howdy, Stranger! It looks like you're new here. js Read More; Deploy to AWS ElasticBeanstalk Oct 29, 2018 - Grails + DevOps Read More. That is to say K-means doesn’t ‘find clusters’ it partitions your dataset into as many (assumed to be globular – this depends on the metric/distance used) chunks as you ask for by attempting to minimize intra-partition distances. Liferay 7 REST Web services Tutorial for creating Jersey REST web services using OSGI. If I remove the servicediscovery bundle the REST api does not even attempt to start. Here's the URI address for these operations:. Quartz, is a open source job scheduling framework, that let you scheduler a task to run on a predefine date and time. It is fault tolerant and fault recoverable. Let’s say you have a quartz-scheduler based application and you want to periodically submit applications to perform some Below is the Spark’s hidden REST API. You can add new jobs or remove old ones on the fly as you please. It's very basic, it's merely exposing a limited REST API and simple UI over Quartz Scheduler. You can configure it to be triggered at a regular interval or give it a more flexible cron expression. REST Jersey Maven JSON Tutorial. Spring Boot 1. I really like the idea of a RESTful Scheduler on the Scheduler side, but from the schedulee (or whoever is making the jobs/triggers/etc) side I wasn’t too happy with it. [quartznet:3836] Quartz. Nice to know; if you want to use the above mentioned example, don't use a 2. Although this can be done using a plain Java Application, we will assume that a real world use case requires a web application to call the services. x version of Quartz unless you don't mind spending time to migrate the example Quartz 1. Here this Spring boot quartz scheduler library can be integrated with all types of Java applications, also it's available to can convert your simple java components into a job that you can schedule and run as per your need. I really like the idea of a RESTful Scheduler on the Scheduler side, but from the schedulee (or whoever is making the jobs/triggers/etc) side I wasn't too happy with it. If you plan to use it instead of Common. Fixed a REST API bug where if enableInheritPermissions was set on FolderModel and UpdateFolder objects, updating secrets through the API in those folders did not respect the inherited permissions. Using the Quartz Scheduler to make recurring SOAP calls. Other than activating scheduler jobs, it can be also be used to turn on events, timer, alerts. HelloJobを実行するためのサンプルアプリ(RESTコントローラ). Quartz Scheduler is one of the API in java provides scheduling a job. They're still not 100% decoupled from my app, but they both provide a way to have the Scheduler running jobs outside of the web-ui. NBI Notifications API will be deprecated in Prime 3. Queries are managed and executed via Jersey-based REST API that has a Quartz scheduler instance running in the background. The Quartz scheduling component allows nodes to coordinate scheduled tasks between themselves - a single task will be routed to a single node for execution on that one node. We have implemented Quartz Scheduler 2. The application starts up fine in a single node , however whenever we try to deploy it to a 2 node cluster , it just hangs while trying to connect to the DB and then the server rolls back the deployment to both of the nodes. This can be a far better alternative to externally run cron scripts for long-running applications (e. NET is a full-featured, open source job scheduling system that can be used from smallest apps to large scale enterprise systems. xml - The configuration of quartz_jobs. instanceName" value="MuleScheduler1"/> What is REST API design?. こちらの記事と同様です。 Quartz Schedulerでワンタイムジョブ発行 - スケジューラの定義・生成. RestProducerFactory is registered in the registry. Net as a windows service. Net Cluster Admin UI. i have put the the jar at required place also make change scheduler-config. CronMaker is a utility which helps you to build cron expressions. View Anurag Kumar's profile on LinkedIn, the world's largest professional community. It implements many functions behind the scene that you have to do by yourself if you directly use quartz API: Overrides default quartz properties e. We will provide two examples using Trigger and CronTrigger. Calendars in ReportJobsScheduler service are implementations of the Quartz Calendar interface. implementing-rest - Exploring the implementation aspects of the REST architectural style. In this example, we show you how to declare multiple Quartz jobs via Quartz APIs, Quartz XML and Spring. Does Azure Function support OAuth so that I can use it as a service for a specific account of VSTS?. Submission Details. Update README. Quartz is a library. There is also a REST API you can use for troubleshooting. Configuring the Quartz address The bus has an internal context that is used to make it so that consumers that need to schedule messages do not have to be aware of the specific scheduler type being used. proxy false WOA is simply a way of implementing SOA by creating services that are RESTful resources, allowing any service or data to be. How to schedule a java program to run Every day? you can use Quartz API to Schedule your daily/On-Time Jobs. Technologies: Java 1. Obsidian provides both a UI and a REST API to make these changes and they can be effective at the very next minute. Spring Boot + Quartz Scheduler in Cluster mode database and credentials and port that will be used for REST api. I had debugged it but not able to get the exact solution. CRUD Operation with Model dialog using UI-Grid in AngularJS and Web API Oct 27, 2017. Background. The List API is similar to a log file in that it contains information such as number of errors, percentage of errors, exception messages, and time to execute for jobs that are currently executing. It's fairly simple to create quartz jobs and trigger them manually on the fly. I really like the idea of a RESTful Scheduler on the Scheduler side, but from the schedulee (or whoever is making the jobs/triggers/etc) side I wasn’t too happy with it. Quartz and cron4j are able to make these changes, but they are done via an API or via configuration, so it's up to you as the developer to find a way to expose this functionality in real-time. For more information, see Scheduler REST API - Jobs. Execution Context. Discover Sling in 15 minutes Table of Contents The Sling Launchpad is a ready-to-run Sling configuration, providing an embedded content repository, a web server, a selection of Sling modules, documentation and examples. Update README. CronMaker is a utility which helps you to build cron expressions. Click on it and you will be taken to a page containing all of the RESTful APIs that the Nexus Repository Manager supports, enabling us to manipulate artifacts through the RESTful API in the command line or code snippets easily. Then through the Azure Function I want to call a REST API of VSTS to do some changes to work item. NET keep in mind to create your scheduled jobs after the logging is configured. A little knowledge is required about the Paypal REST API and the pre-requisites from the 1 st article. If i deploy the app to local iis and check, it runs fine with the scheduler. Untuk memakai Quartz, tambahkan lokasi file quartz-1. instanceID. Each endpoint represents a different timer (in Quartz terms, a Trigger and JobDetail). Welcome to eXo Platform documentation!¶ The main guides in eXo Platform documentation: What’s new in eXo Platform 5. enabled=false. Using this function in the top-level namespace code is a bad idea: it will cause Leiningen tasks like lein jar to hang forever because Quartz threads will prevent JVM from exiting. This page will walk through Spring Boot REST + Angular + JPA + Hibernate + MySQL CRUD example. Preparing for Confluence 5. In this tutorial, we show you how to integrate Spring Batch Boot with Quartz scheduler to run batch job periodically. - Tags: Interesting!. Enter a unique string value in this element. For every annotated method without arguments, the appropriate executor thread pool will be created. > Dynamic Job Scheduling Using Quartz Scheduler and RRule Schedulers play a key role of running batch processes in software applications. The complete source code for the example is available in this github. Configuring the Quartz address The bus has an internal context that is used to make it so that consumers that need to schedule messages do not have to be aware of the specific scheduler type being used, or the message scheduler address. Here this Spring boot quartz scheduler library can be integrated with all types of Java applications, also it's available to can convert your simple java components into a job that you can schedule and run as per your need. Configuring the Quartz address The bus has an internal context that is used to make it so that consumers that need to schedule messages do not have to be aware of the specific scheduler type being used. As a continuation of my previous article, I thought it would be nice to create a RESTful API into the information being maintained by the Quartz scheduler. Properties type. implementing-rest - Exploring the implementation aspects of the REST architectural style. A little knowledge is required about the Paypal REST API and the pre-requisites from the 1 st article. It is linked as a receiver of service hook for an event of work item created. Currently Mule ships quartz-all-1. It does not contain all history like an actual log file would. You can easily view the information of each API by expanding them. i have put the the jar at required place also make change scheduler-config. Constructor Detail. If you are a new customer, register now for access to product evaluations and purchasing capabilities. NET library written in C# and is a port of very popular open source Java job scheduling framework, Quartz. The web service is running in apache tomcat 9. Quartz Jobs can be persisted into a database, or a cache, or in-memory. An agent is a piece of software that is installed on every host, and is usually continuously connected to the central job scheduler. What is need of AutoSys? As you know, AutoSys is job scheduling software, which helps in managing workload, the job scheduling task is done in Windows-AT or UNIX Corn, the jobs gets activated at certain scheduled times. Discover Sling in 15 minutes Table of Contents The Sling Launchpad is a ready-to-run Sling configuration, providing an embedded content repository, a web server, a selection of Sling modules, documentation and examples. The documentation wasn't great and was mostly out of date. You can schedule the scheduler by using Rest API or azure PowerShell. Scheduled misfires are handled according to a set of predefined rules. Getting Started. We will use Spring Boot to authenticate (get access_token and instance_url from Salesforce). This way, a client can make standard REST. See the complete profile on LinkedIn and discover Adrian's. Spring boot quartz scheduler: Quartz scheduler in spring boot purpose is to scheduling job as per your convenient. I want to make periodical REST request with a Dropwizard Backend. For more information on the ForgeRock REST API, see "REST API Reference". Following spring boot rest tutorial shows you how to create a spring boot restful web services example using rest controller. The complete source code for the example is available in this github. There are not many differences between creating Rest API using Spring Rest JSON which we have already seen earlier. We have just built our first basic scheduler using the Quartz API as well as Spring's convenience classes. External API - another RESTful service with endpoints for other systems to interact with the loan origination system. The option is a org. The option is a java. md, add Swagger for API documentation, leverage application. Spring's SchedulerFactorBean is a quartz Scheduler factory bean and wires jobs and triggers together. properties file (as an example). Latest Guides. Given a Quartz Scheduler CronTrigger expression like "0 0/15 11-15 ? * MON-FRI", how is that parsed? I am correct in assuming the 11-15 does not mean "between 11 and 15" but. Qzui is an open source project based on RESTX and Quartz scheduler. Following spring boot rest tutorial shows you how to create a spring boot restful web services example using rest controller. Using this, you can convert your simple java components in to a job that you can schedule and run as per your need. The browser-based user-interface allows developers to monitor multiple Quartz instances in real-time. Candidjava Jersey Jar dependency Webservices Restful JAX-RS tutorial Spring MVC Jersey JAX-RS tutorial Design Pattern Quartz Scheduler MongoDB api-3. If you are really impatient, you could also jump ahead and read about Spring Boot features. Norton has 8 jobs listed on their profile. Net to listen on port 555. I really like the idea of a RESTful Scheduler on the Scheduler side, but from the schedulee (or whoever is making the jobs/triggers/etc) side I wasn't too happy with it. Introduction to Quartz and implementation of it Skip navigation Java Scheduler Using Spring REST API concepts and examples - Duration:. It is focused on real-time operation, but supports scheduling as well. NET Documentation. security package. Quartz Africa. REST Jersey Maven JSON Tutorial. addJob(jd, true); but nothing changes. getReferenceNode(ReferenceNodes. What is need of AutoSys? As you know, AutoSys is job scheduling software, which helps in managing workload, the job scheduling task is done in Windows-AT or UNIX Corn, the jobs gets activated at certain scheduled times. Celery: Distributed Task Queue. Create, update, and delete objects within your scheduling environment directly from your applications. Job execution log message capturing. Quartz Scheduler มันคืออะไร การใช้งานเบื้องต้น SpringBoot2 สร้าง CRUD RESTful API. Firstly, it tells us a Quartz scheduler with instanceId 'NON_CLUSTER' running locally with 10 threads. Job Scheduling in Java the standard Java Timer API, and then we will focus on Quartz, an open source library for those who need some extra features in their. The Spring Boot application…. Currently I am developing a web service with the Jersey API. Check out this application on GitHub to download the code and read instructions on how to run it yourself. NET Scheduler, to get the control available in your Visual Studio Toolbox. It's also ideal for cleaning up logs, kicking off routine backups, and other application maintenance tasks. Content tagged with obiee 12 Also you can try using REST API or try using as web service. Halo, i am using spring (with quartz) scheduler and calling my rest resource using Jersey Client like this Jersey. Quartz is a full-featured, open source job scheduling service that can be integrated with, or used along side virtually any Java EE or Java SE application - from the smallest stand-alone application to the largest e-commerce system. We have seen how to write Job Scheduling applications with JDK Timer and Quartz scheduler in this article. At a high-level, the Scheduler REST API exposes these operations for managing entities. Net Web Api project One thing we should always keep in mind when developing REST APIs is that response time should always be as low as possible, an API. Truelancer is the best platform for Freelancer and Employer to work on Quartz scheduler. QuartzSchedulerImpl. enabled=false. All actions in the Web interface can be performed through the vCenter Chargeback Manager REST API. Umumnya aplikasi Java menggunakan Quartz untuk mengatasi penjadwalan tugas pada aplikasi, seperti : Tugas yang berjalan setiap 1 jam. Quartz, is a open source job scheduling framework, that let you scheduler a task to run on a predefine date and time. properties-file. Software AG's Apache-licensed Quartz Job Scheduler can be used to run a wide range of tasks at predefined intervals. • Experience developing frameworks and libraries to speed up delivery and improve quality. Scheduled misfires are handled according to a set of predefined rules. CodesJava - Step by step learing of core java, servlet, jsp, struts, spring, JSF, hibernate, junit, javamail api, quartz schedular, jdbc, generics, sql, log4j, iText. Good domain knowledge in Consumer and Community Banking segment. Net as a windows service. An agentless job scheduler makes use of RSH, or more secure, of SSH. 2 Scheduling Basics Scheduling Jobs. Add your Quartz. Update README. 2 Scheduling Basics Scheduling Jobs. In that case, some of. NET forums concerns how to schedule regular tasks as part of a web application. quartz scheduler crontrigger with minutes "0/15" and hours "11-15" - when does this end? stackoverflow. Quartz Scheduler มันคืออะไร การใช้งานเบื้องต้น SpringBoot2 สร้าง CRUD RESTful API. The Quartz Scheduler includes many enterprise-class features, such as JTA transactions and clustering. For convenience purposes, Spring offers a couple of classes that simplify the usage of Quartz within Spring-based applications. JS, Jira, GIT and Maven * Working on a Java/Spring projects developed for large companies. HI, I'm trying to integrate camel quartz scheduler to REST web service and able to integrate. Use API Version. Take a careful look at your native schedulers, proprietary automation tools, and homegrown scheduling scripts. It is responsible for managing the runtime environment for our application. If you plan to use it instead of Common. ) the use of restful APIs has become fundamental and the API First Design can be a winning strategy. In my previous posts I have explained about writing simple quartz scheduler and how to list jobs. asmx) is hosted on a Web Server. In this example, we show you how to declare multiple Quartz jobs via Quartz APIs, Quartz XML and Spring. The specialty of Quartz is that it also supports enterprise-level features, such as. But what if you just want to trigger a service component on a set interval? What if its method doesn’t require any incoming. The @Scheduled annotation is added to a method along with some information about when to execute it, and Spring Boot takes care of the rest. 6 scheduler example To integrate Spring with Quartz scheduler framework. Content tagged with quartz_scheduler, obiee 12. Software AG's Apache-licensed Quartz Job Scheduler can be used to run a wide range of tasks at predefined intervals. Advanced Python Scheduler (APScheduler) is a Python library that lets you schedule your Python code to be executed later, either just once or periodically. Office365 REST API. The collection of libraries and resources is based on the Awesome Scala List and direct contributions here. The JmsTemplate class is the main class which we will be using often to work with the JMS API. Integration of Quartz scheduler with Spring boot. You can schedule and run the actions automatically. The names of these app servers are 'Alpha', 'Beta' and 'Gamma'. Provided a job and created the scheduler to execute the job at regular intervals. Properties to configure the Quartz scheduler. Good domain knowledge in Consumer and Community Banking segment. In Quartz scheduler framework, each job will be attached to an unique trigger, and run it by scheduler. x then from Camel 2. You can decide number of dates by supplying "count" parameter. As a matter of fact Java language supports several key frameworks that assist software developers in dynamic job scheduling. NET - Best Practices is also making frequent calls to the scheduler API. Log4j2 is the updated version of the popular and influential log4j library, used extensively throughout the Java ecosystem for so many years. In this tutorial, let's find out how to create a RESTful API document using Springfox for Swagger in Spring Boot. Apache Camel - Table of Contents. Scheduler is great for recurring actions, such as periodically gathering data from Twitter into a feed. 0 API Documentation An exception that is thrown to indicate that there has been a failure in the scheduler's underlying persistence mechanism. Fixed a REST API bug where if enableInheritPermissions was set on FolderModel and UpdateFolder objects, updating secrets through the API in those folders did not respect the inherited permissions. properties-file. Adrian has 5 jobs listed on their profile. Minutes panel The call to get a cron expression for events occurring every 2 minutes; Example;. It is fault tolerant and fault recoverable. Generated expressions are based on Quartz cron format. In that the Batch Job got triggered by a REST API call. Warning: This page uses Cron with the XML cron configuration file using the toolset that was delivered with the standalone App Engine SDK. that provide URL monitoring capabilities.

Quartz Scheduler Rest Api