Jentic

App · AI Agents · 11 actions

Call thousands of APIs through Jentic One, the execution layer that keeps API keys away from agents: search for an operation, read its inputs, and call it with a stored credential under permission rules you set, with every call recorded.

Actions

ActionWhat it does
Call an API operationCall an operation of any imported API through Jentic One's broker, which checks the agent's permission rules, adds the stored credential and records the call.
Check a background jobSee whether a background job has finished, such as an import still running when its step ended, and get what it produced: the imported APIs for an import, the API's answer for a call.
Get an execution recordRead Jentic One's record of a brokered call: whether it succeeded, the status the API answered with, how long it took and which credential signed it.
Get an operation's inputsRead everything an operation takes before calling it: the placeholders in its address, its query and header inputs and the body it expects, each marked required or not.
Get the agent's accessSee what this connection can reach in Jentic One: the agent's credentials (or its toolkits, on Jentic One 0.39), the APIs they serve, its scopes, and where calls are sent.
Import an API from the catalogImport an API from Jentic's public catalog so its operations can be searched and called.
List an API's operationsList every operation of one imported API: its method, path, summary and id, ready to pass to 'Call an API operation'.
List executionsList the calls made through Jentic One, newest first, with their outcome, status, duration and credential.
List imported APIsList the APIs imported into Jentic One, each with the id the other steps take, its number of operations, how it authenticates, and whether the catalog has a newer description.
Search for an API operationFind an operation by the words it is described with, such as 'create invoice', across every API imported into Jentic One.
Search the API catalogSearch Jentic's public catalog of several thousand APIs for one to import, such as 'stripe' or 'weather'.

Call an API operation

Call an operation of any imported API through Jentic One's broker, which checks the agent's permission rules, adds the stored credential and records the call. The workflow never holds the API's key.

Inputs

OperationoperationtextRequired
The operation: its id from 'Search for an API operation' (op_...), or its method and address, such as GET https://api.example.com/v1/items/{id}.
Address inputspath_parametersobject
Values for the {placeholders} in the operation's address, such as {"id": "123"}.
Query inputsquery_parametersobject
Inputs sent after the '?' in the address, such as {"limit": 10}.
Bodybodyobject
The request body. An object or a list is sent as JSON; text is sent as it is.
Headersheadersobject
Extra headers for the API. Leave out authorization: Jentic adds the stored credential itself.
Credentialcredentialtext
Which credential to use, when several cover the same API: pick it, or enter its name. On Jentic One 0.39, which groups credentials into toolkits, pick the toolkit. Leave empty to let Jentic choose.
Idempotency keyidempotency_keytext
Any unique text. Jentic answers a repeat of the same call with the same key for a day from its record, rather than calling the API twice. It keeps a repeated answer's body only up to 256 KB.
If the call failson_errortext
What to do when the API answers with an error status. Continuing lets later steps check the status themselves, which suits a 404 that just means not found.One of: fail (Stop the workflow), continue. Default: fail.

Outputs

api_vendortext
The vendor of the API called.
bodyobject
What the API sent back: JSON as data, text as text.
body_base64text
A body that is neither JSON nor text, such as an image, base64-encoded.
body_omittedtrue/false
Whether a replayed answer comes without its body, because Jentic keeps bodies only up to 256 KB for replays.
content_typetext
The type of what the API sent back.
credential_idtext
The stored credential Jentic signed the call with.
credential_nametext
That credential's name.
execution_idtext
Jentic's record of this call. 'Get an execution record' reads it.
headersobject
The API's response headers, names in lower case.
oktrue/false
Whether the status is 2xx.
operationtext
The call that was made: its method and full address.
operation_idtext
Jentic's id for the operation called.
replayedtrue/false
Whether this is the first answer again, replayed for a repeated idempotency key instead of calling the API.
statusnumber
The HTTP status the API answered with.
toolkit_idtext
On Jentic One 0.39: the toolkit the call went through.
Example output
{
  "api_vendor": "httpbin-org",
  "body": {
    "args": {
      "source": "lodol"
    },
    "url": "https://httpbin.org/get?source=lodol"
  },
  "body_base64": null,
  "body_omitted": false,
  "content_type": "application/json",
  "credential_id": "cred_6ab424f2d40a1d10673d465d",
  "credential_name": "httpbin",
  "execution_id": "exec_f85d6a6eefe04505bd78dc16",
  "headers": {
    "content-type": "application/json"
  },
  "ok": true,
  "operation": "GET https://httpbin.org/get?source=lodol",
  "operation_id": "op_cfd40be31965a3a20ec40bae1261d9569ad00673",
  "replayed": false,
  "status": 200,
  "toolkit_id": null
}

Check a background job

See whether a background job has finished, such as an import still running when its step ended, and get what it produced: the imported APIs for an import, the API's answer for a call.

Inputs

Jobjob_idtextRequired
The job's id, as 'Import an API from the catalog' gave it back.

Outputs

apislist
For a finished import: the APIs it added.
bodyobject
For a finished call: what the API sent back.
body_base64text
A body that is neither JSON nor text, base64-encoded.
content_typetext
The type of what the API sent back.
created_attext
When it was queued.
errortext
What went wrong, including why a call never reached the API. A job still running can carry one while it retries.
execution_idtext
For a call: Jentic's record of it.
is_finishedtrue/false
Whether nothing more will happen to it.
job_idtext
The job's id.
kindtext
import for an import, execution for a queued call.
oktrue/false
For a finished call: whether that status is 2xx, false when the call never reached the API.
statustext
queued, running, completed, failed, cancelled or dead_letter, or unchanged for an import that found the API already up to date.
status_codenumber
For a finished call: the HTTP status the API answered with.
updated_attext
When it last changed.
Example output
{
  "apis": [
    {
      "api_id": "httpbin-org/httpbin-org/0.9.2",
      "host": null,
      "name": "httpbin-org",
      "revision_id": "20308cb1-ed0a-4a30-9c9f-719a70850435",
      "state": "imported",
      "vendor": "httpbin-org",
      "version": "0.9.2"
    }
  ],
  "body": null,
  "body_base64": null,
  "content_type": null,
  "created_at": "2026-09-23T19:15:40Z",
  "error": null,
  "execution_id": null,
  "is_finished": true,
  "job_id": "job_6ab4255c5d13c357f978469b",
  "kind": "import",
  "ok": null,
  "status": "completed",
  "status_code": null,
  "updated_at": "2026-09-23T19:15:52Z"
}

Get an execution record

Read Jentic One's record of a brokered call: whether it succeeded, the status the API answered with, how long it took and which credential signed it. Bodies are not kept.

Inputs

Executionexecution_idtextRequired
The record's id, as 'Call an API operation' gave it back.

Outputs

actor_idtext
The agent or person who made it.
apiobject
credential_idtext
The stored credential used.
credential_nametext
That credential's name.
duration_msnumber
How long the call took, in milliseconds.
errortext
What went wrong, when the call failed.
execution_idtext
The record's id.
http_statusnumber
The HTTP status the API answered with.
oktrue/false
Whether that status is 2xx.
operation_idtext
The operation called.
origintext
How it was made: api, mcp, cli, dashboard, agent or system.
started_attext
When the call started.
statustext
completed or failed.
trace_idtext
The trace id, for matching against logs.
Example output
{
  "actor_id": "agnt_6ab424eb2c3970e5efec4327",
  "api": {
    "api_id": "httpbin-org/httpbin-org/0.9.2",
    "host": null,
    "name": "httpbin-org",
    "vendor": "httpbin-org",
    "version": "0.9.2"
  },
  "credential_id": "cred_6ab424f2d40a1d10673d465d",
  "credential_name": "httpbin",
  "duration_ms": 184,
  "error": null,
  "execution_id": "exec_f85d6a6eefe04505bd78dc16",
  "http_status": 200,
  "ok": true,
  "operation_id": "op_cfd40be31965a3a20ec40bae1261d9569ad00673",
  "origin": "api",
  "started_at": "2026-09-23T19:15:29Z",
  "status": "completed",
  "trace_id": "e0214e3d280ab5ba4132f01e592d36fe"
}

Get an operation's inputs

Read everything an operation takes before calling it: the placeholders in its address, its query and header inputs and the body it expects, each marked required or not.

Inputs

OperationoperationtextRequired
The operation: its id from 'Search for an API operation' (op_...), or its method and address, such as GET https://api.example.com/v1/items/{id}.

Outputs

apiobject
bodyobject
The request body it takes, if any.
descriptiontext
What the operation does.
header_parameterslist
Inputs sent as headers.
methodtext
The HTTP method.
nametext
The operation's summary.
operationtext
The method and address together.
operation_idtext
Jentic's id for the operation.
path_parameterslist
Inputs that fill the {placeholders} in the address.
query_parameterslist
Inputs sent after the '?'.
servertext
The base address the API is served from.
urltext
The upstream address, with {placeholders} for path inputs.
Example output
{
  "api": {
    "description": null,
    "name": "httpbin-org",
    "vendor": "httpbin-org",
    "version": "0.9.2"
  },
  "body": null,
  "description": null,
  "header_parameters": [],
  "method": "GET",
  "name": "The request's query parameters.",
  "operation": "GET https://httpbin.org/get",
  "operation_id": "op_cfd40be31965a3a20ec40bae1261d9569ad00673",
  "path_parameters": [],
  "query_parameters": [],
  "server": "https://httpbin.org",
  "url": "https://httpbin.org/get"
}

Get the agent's access

See what this connection can reach in Jentic One: the agent's credentials (or its toolkits, on Jentic One 0.39), the APIs they serve, its scopes, and where calls are sent. Changes nothing, so it also makes a good first step for checking the connection.

Inputs

None.

Outputs

actor_typetext
agent, for an agent key.
agent_idtext
The agent this connection acts as.
agent_nametext
Its name in the console.
api_countnumber
How many APIs that is.
apis_servedlist
Every API the agent can call, as ids for 'Search for an API operation'.
can_call_apistrue/false
Whether it may call APIs through the broker.
credential_countnumber
How many there are.
credentialslist
The stored credentials bound to the agent. Empty on Jentic One 0.39, which binds toolkits instead.
instanceobject
scopeslist
What the agent may do.
statustext
active, or disabled if it has been switched off.
toolkit_countnumber
How many there are.
toolkitslist
On Jentic One 0.39: the toolkits bound to the agent.
warningtext
Why the instance's own details are missing, if they are.
Example output
{
  "actor_type": "agent",
  "agent_id": "agnt_6ab424eb2c3970e5efec4327",
  "agent_name": "Lodol",
  "api_count": 1,
  "apis_served": [
    "httpbin-org/httpbin-org/0.9.2"
  ],
  "can_call_apis": true,
  "credential_count": 1,
  "credentials": [
    {
      "bound_at": "2026-09-23T19:14:10",
      "credential_id": "cred_6ab424f2d40a1d10673d465d",
      "name": "httpbin",
      "serves": [
        {
          "api_id": "httpbin-org/httpbin-org/0.9.2",
          "name": "httpbin-org",
          "vendor": "httpbin-org",
          "version": "0.9.2"
        }
      ],
      "suspended": false
    }
  ],
  "instance": {
    "backend": "local",
    "base_url": "https://jentic.example.com",
    "broker_url": "https://broker.jentic.example.com"
  },
  "scopes": [
    "apis:read",
    "capabilities:execute",
    "executions:read",
    "jobs:read"
  ],
  "status": "active",
  "toolkit_count": 0,
  "toolkits": [],
  "warning": null
}

Import an API from the catalog

Import an API from Jentic's public catalog so its operations can be searched and called. An API already imported, with nothing newer in the catalog, is left as it is. Calling it still needs a credential for it bound to the agent in the console, through a toolkit on Jentic One 0.39.

Inputs

Catalog APIapi_idtextRequired
The API's catalog id, such as httpbin.org or googleapis.com/gmail. 'Search the API catalog' gives it.
Wait up towait_secondsnumber
Seconds to wait for the import to finish. A longer import hands back its job to check later.From 0 to 120. Default: 60.

Outputs

already_importedtrue/false
Whether the catalog had nothing newer to import.
api_idtext
The catalog id imported.
apislist
The imported APIs; pass an api_id to the other steps.
is_finishedtrue/false
Whether the import has finished.
job_idtext
The import job, when one ran. 'Check a background job' follows it.
statustext
completed, unchanged when it was already imported, or the job's status if it is still running.
Example output
{
  "already_imported": false,
  "api_id": "httpbin.org",
  "apis": [
    {
      "api_id": "httpbin-org/httpbin-org/0.9.2",
      "host": null,
      "name": "httpbin-org",
      "revision_id": "20308cb1-ed0a-4a30-9c9f-719a70850435",
      "state": "imported",
      "vendor": "httpbin-org",
      "version": "0.9.2"
    }
  ],
  "is_finished": true,
  "job_id": "job_6ab425f18372e6d551f54e44",
  "status": "completed"
}

List an API's operations

List every operation of one imported API: its method, path, summary and id, ready to pass to 'Call an API operation'.

Inputs

APIapitextRequired
The imported API, as vendor/name/version. 'List imported APIs' gives each one's id.
At mostlimitnumber
The most operations to return.From 1 to 200. Default: 50.
Continue fromcursortext
The previous step's 'next_cursor', to get the next page.

Outputs

api_idtext
The API listed.
has_moretrue/false
Whether more results follow this page.
next_cursortext
Pass this as 'Continue from' in the same step to get the next page.
operation_countnumber
How many came back.
operationslist
The API's operations.
Example output
{
  "api_id": "httpbin-org/httpbin-org/0.9.2",
  "has_more": false,
  "next_cursor": null,
  "operation_count": 1,
  "operations": [
    {
      "deprecated": false,
      "description": null,
      "method": "GET",
      "name": "The request's query parameters.",
      "operation_id": "op_cfd40be31965a3a20ec40bae1261d9569ad00673",
      "path": "/get",
      "tags": [
        "HTTP Methods"
      ]
    }
  ]
}

List executions

List the calls made through Jentic One, newest first, with their outcome, status, duration and credential. Filter by outcome, API or time to find the failures to follow up.

Inputs

Onlystatuslist
Only calls that ended this way. Both if unset.One or more of: completed, failed.
APIapitext
Only calls to this imported API.
Started on or afterstarted_afterdate and time
Only calls from this moment on.
Started on or beforestarted_beforedate and time
Only calls up to this moment.
At mostlimitnumber
The most calls to return.From 1 to 100. Default: 25.
Continue fromcursortext
The previous step's 'next_cursor', to get the next page.

Outputs

execution_countnumber
How many came back.
executionslist
The calls, newest first.
failed_countnumber
How many of those failed.
has_moretrue/false
Whether more results follow this page.
next_cursortext
Pass this as 'Continue from' in the same step to get the next page.
Example output
{
  "execution_count": 1,
  "executions": [
    {
      "actor_id": "agnt_6ab424eb2c3970e5efec4327",
      "api": {
        "api_id": "httpbin-org/httpbin-org/0.9.2",
        "host": null,
        "name": "httpbin-org",
        "vendor": "httpbin-org",
        "version": "0.9.2"
      },
      "credential_id": "cred_6ab424f2d40a1d10673d465d",
      "credential_name": "httpbin",
      "duration_ms": 184,
      "error": null,
      "execution_id": "exec_f85d6a6eefe04505bd78dc16",
      "http_status": 200,
      "ok": true,
      "operation_id": "op_cfd40be31965a3a20ec40bae1261d9569ad00673",
      "origin": "api",
      "started_at": "2026-09-23T19:15:29Z",
      "status": "completed",
      "trace_id": "e0214e3d280ab5ba4132f01e592d36fe"
    }
  ],
  "failed_count": 0,
  "has_more": false,
  "next_cursor": null
}

List imported APIs

List the APIs imported into Jentic One, each with the id the other steps take, its number of operations, how it authenticates, and whether the catalog has a newer description.

Inputs

Vendorvendortext
Only this vendor's APIs, such as stripe.com.
At mostlimitnumber
The most APIs to return.From 1 to 200. Default: 50.
Continue fromcursortext
The previous step's 'next_cursor', to get the next page.

Outputs

api_countnumber
How many came back.
apislist
The imported APIs.
has_moretrue/false
Whether more results follow this page.
next_cursortext
Pass this as 'Continue from' in the same step to get the next page.
Example output
{
  "api_count": 1,
  "apis": [
    {
      "api_id": "httpbin-org/httpbin-org/0.9.2",
      "catalog_api_id": "httpbin.org",
      "created_at": "2026-09-23T19:18:10Z",
      "current_revision_id": "20308cb1-ed0a-4a30-9c9f-719a70850435",
      "description": null,
      "display_name": null,
      "host": "httpbin.org",
      "name": "httpbin-org",
      "operation_count": 78,
      "origin": "catalog",
      "security_schemes": [],
      "source_url": "https://raw.githubusercontent.com/jentic/jentic-public-apis/refs/heads/main/apis/openapi/httpbin.org/main/0.9.2/openapi.json",
      "update_available": false,
      "updated_at": "2026-09-23T19:18:10Z",
      "vendor": "httpbin-org",
      "version": "0.9.2"
    }
  ],
  "has_more": false,
  "next_cursor": null
}

Search for an API operation

Find an operation by the words it is described with, such as 'create invoice', across every API imported into Jentic One. Each result names its method and address and is ready to pass to 'Call an API operation'.

Inputs

Search forquerytextRequired
A few words the operation's name or description contains, such as 'send message' or 'list customers'. Jentic can require every word to match, so fewer words find more.
Only these APIsapislist
Search only these imported APIs. Leave empty to search all of them.
At mostlimitnumber
The most operations to return.From 1 to 100. Default: 10.
Continue fromcursortext
The previous step's 'next_cursor', to get the next page.

Outputs

has_moretrue/false
Whether more results follow this page.
next_cursortext
Pass this as 'Continue from' in the same step to get the next page.
operation_countnumber
How many came back.
operationslist
The matching operations, best first.
querytext
What was searched for.
Example output
{
  "has_more": false,
  "next_cursor": null,
  "operation_count": 1,
  "operations": [
    {
      "api": {
        "api_id": "httpbin-org/httpbin-org/0.9.2",
        "host": "httpbin.org",
        "name": "httpbin-org",
        "vendor": "httpbin-org",
        "version": "0.9.2"
      },
      "description": null,
      "method": "GET",
      "name": "The request's query parameters.",
      "operation": "GET https://httpbin.org/get",
      "operation_id": "op_cfd40be31965a3a20ec40bae1261d9569ad00673",
      "relevance_score": 2.1e-06,
      "url": "https://httpbin.org/get"
    }
  ],
  "query": "query parameters"
}

Search the API catalog

Search Jentic's public catalog of several thousand APIs for one to import, such as 'stripe' or 'weather'. Shows whether each is imported already and whether a newer description is available.

Inputs

Search forquerytext
An API's name or domain, such as stripe or googleapis.com. Leave empty to browse.
Showshowtext
Which APIs to show. Every API if unset.One of: all (Every API), not_imported (Only APIs not imported yet), imported (Only APIs already imported). Default: all.
At mostlimitnumber
The most APIs to return.From 1 to 200. Default: 20.
Continue fromcursortext
The previous step's 'next_cursor', to get the next page.

Outputs

api_countnumber
How many came back.
apislist
The matching catalog entries.
catalog_totalnumber
How many APIs the whole catalog holds.
has_moretrue/false
Whether more results follow this page.
imported_totalnumber
How many of those are imported into this instance.
next_cursortext
Pass this as 'Continue from' in the same step to get the next page.
querytext
What was searched for.
Example output
{
  "api_count": 1,
  "apis": [
    {
      "api_id": "httpbin.org",
      "github_url": "https://github.com/jentic/jentic-public-apis/tree/main/apis/openapi/httpbin.org/main",
      "imported": true,
      "spec_url": "https://raw.githubusercontent.com/jentic/jentic-public-apis/refs/heads/main/apis/openapi/httpbin.org/main/0.9.2/openapi.json",
      "update_available": false,
      "vendor": "httpbin.org"
    }
  ],
  "catalog_total": 6147,
  "has_more": false,
  "imported_total": 1,
  "next_cursor": null,
  "query": "httpbin"
}

On this page