Api Request
api_requestCall the API of an app the owner connected on emdly (Jira, Trello, Airtable, Pipedrive, Intercom, Stripe, their own API) — emdly adds the owner's access, you never see or need the key. Follow the service's skill (api_list names it) for paths and limits. path is relative to the service (Jira: /rest/api/3/search/jql?jql=…, Trello: /1/members/me/boards, Airtable: /v0//?pageSize=50, Pipedrive: /api/v2/deals?limit=50 or /api/v1/…, Intercom: /conversations?per_page=50, Stripe: /v1/invoices?status=open&limit=50). Reading always works (GET, Jira's POST search, Airtable's listRecords, Intercom's POST …/search); changes (other POST/PUT/PATCH/DELETE) only where the owner allowed them on emdly, and only what the owner asked for. For a custom API you sign in yourself as its docs say, writing {{secret}} where the key goes (headers, path or body). Returns the status, paging/limit headers and the body (long bodies are cut — page through).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| app | No | The app to use — its name or id from api_list; may be left out when only one is connected. | |
| body | No | The JSON body of a POST/PUT/PATCH (for Stripe a JSON object of its parameters — emdly sends it in Stripe's form encoding). | |
| path | Yes | The API path with its query string, e.g. /rest/api/3/search/jql?jql=project%3DOPS (Jira), /1/boards/<id>/cards (Trello), /v0/<baseId>/<table>?pageSize=50 (Airtable), /api/v2/deals?status=open&limit=50 (Pipedrive), /contacts/<id> (Intercom), /v1/invoices/search?query=status%3A%27open%27 (Stripe), or under a custom API's base. | |
| method | No | GET (default), POST, PUT, PATCH or DELETE. | |
| headers | No | Custom API only: a JSON object of headers the API wants, e.g. {"Authorization": "Bearer {{secret}}"} or {"Authorization": "Basic {{basic:apiuser}}"}. Write {{secret}} where the key goes (also in the path or body); emdly puts it in on the server and never shows it to you. |