# Zeebe - HTTP Worker
## Purpose
This is amorphie specific http worker developed specifically for Zeebe.
It is a complementary component of the Amorphie Workflow Engine.
As a complementary component of the Amorphie Workflow Engine, it performs three basic functions.
* Making HTTP calls within Zeebe.
* Transferring the Header Context coming to Workflow in HTTP calls to the calls.
* Use a secret vault(Hashicorp ?) to obtain the required authorization token(Api Key) when making a call.
## Specification
### Worker Name
The worker is registered for the type **amoprhie-http**
### Service & URL
Only one of these is the mandatory **Header** parameter;
* **url**: The url to invoke
* **service**: The registered service to invoke.
:::warning
Registered Services are resources registered to Amophie. Registered services are also the base service list for the HTTP Client component of Flutter SDK. **[Remember](https://hackmd.io/rxKuOoCKQnuFt0Hgeej8LQ)**!
It can also be the APISIX gateway's configuration store.
:::
### Optional Header Parameters:
* **method**: The HTTP method to use (default: get, allowed: post | get | put | delete | patch)
* **failureCodes**: Status codes that lead to the job failing (default: 5xx, allowed: comma separated list of http response codes with support of x joker digit. For example: 5xx,466,465,467). If not suplied, always job returns success.
* **apikey**: ApiKey code in secret vault.
* **headerContext**: Transfers transtion action header context to call. Header context source is Amoprhie Workflow Transaction Request (default: true, allowed: true | false)
### Optional Input Variables:
* **body**: The request body as JSON
* **authorization**: If apikey is not supplied, the value of the authorization header (e.g. token 6bac4..)
### Output Variables:
* **statusCode**: The response status code
* **body**: The response body, if present