// This assembly is included in the following assemblies:
// upstream: integrating-applications/master.adoc
// downstream: integrating-applications-with-fuse-online/master.adoc

:context: ug
[id='trigger-integrations-with-api-calls_{context}']
= Creating an integration that is triggered by a REST API call

:context: api-provider

To trigger execution of an integration on demand, start the integration
with a REST API description document that you provide.
Integrations that start this way are referred to as _API provider integrations_.
An API provider integration allows REST API clients to invoke
commands that trigger execution of the integration.

When {prodname} publishes an API provider integration, any client with
network access to the integration endpoints can trigger execution of
the integration.

ifeval::["{location}" == "downstream"]
[NOTE]
====
If you are using {prodname} on OpenShift Container Platform on-site,
an administrator can configure the {prodname} server to enable Red Hat 3scale discovery of
API provider integration APIs. By default, {prodname} annotates an API
provider integration's API service definition for use with 3scale
but does not expose those APIs for automatic 3scale discovery.
Without 3scale discovery, there is no access control. With 3scale
discovery, you can set access policies, centralize
control, and provide high availability for your API provider integration APIs.
For more information, see the API Gateway
documentation that is available from
https://access.redhat.com/documentation/en-us/red_hat_3scale/2.3/[the Red Hat 3scale documentation page.]

See also:
link:{LinkFuseOnlineOnOCP}#exposing-apis-in-3scale_manage[Configuring {prodname} to enable 3scale discovery of APIs].
====
endif::[]

The following topics provide information and
instructions for creating API provider integrations:

* xref:overview-benefit-api-provider-integrations_{context}[]
* xref:requirements-for-api-provider-integrations_{context}[]
* xref:create-api-provider-integration_{context}[]
* xref:define-integration-operation-flows_{context}[]
* xref:configure-publish-api-provider-quickstart_{context}[]
* xref:try-api-provider-quickstart_{context}[]

For a video that shows how to create, publish and test an API provider integration, see
link:https://youtu.be/sox8SSqJ0zQ[].


include::../../modules/integrating-applications/con-overview-benefit-api-provider-integrations.adoc[leveloffset=+1]

include::../../modules/integrating-applications/ref-requirements-for-api-provider-integrations.adoc[leveloffset=+1]

include::../../modules/integrating-applications/proc-create-api-provider-integration.adoc[leveloffset=+1]

include::../../modules/integrating-applications/proc-create-integration-operation-flows.adoc[leveloffset=+1]

include::../../modules/integrating-applications/proc-configure-publish-api-provider-quickstart.adoc[leveloffset=+1]

include::../../modules/integrating-applications/proc-try-api-provider-quickstart.adoc[leveloffset=+1]

:context: ug
