Okapi Core API Facade
Deploy (launch process, start a container, etc) instance of a particular service, according to the deployment descriptor.
srvcId required | string The Module ID for the instance |
instId | string Instance ID (at least unique for node) |
nodeId | string Node ID where module is deployed |
url | string URL where module is deployed (not managed by Okapi) |
descriptor | object (LaunchDescriptor) Specifies how a module is deployed and undeployed |
{- "srvcId": "string",
- "instId": "string",
- "nodeId": "string",
- "url": "string",
- "descriptor": { }
}
{- "srvcId": "string",
- "instId": "string",
- "nodeId": "string",
- "url": "string",
- "descriptor": { }
}
Register instance under a specified service id
srvcId required | string The Module ID for the instance |
instId | string Instance ID (at least unique for node) |
nodeId | string Node ID where module is deployed |
url | string URL where module is deployed (not managed by Okapi) |
descriptor | object (LaunchDescriptor) Specifies how a module is deployed and undeployed |
{- "srvcId": "string",
- "instId": "string",
- "nodeId": "string",
- "url": "string",
- "descriptor": { }
}
{- "srvcId": "string",
- "instId": "string",
- "nodeId": "string",
- "url": "string",
- "descriptor": { }
}
Update descriptor of a particular node, only the name can be changed
node_id required | string |
nodeId required | string Node ID |
url required | string Host:port for for this node |
nodeName | string Human readable node name |
{- "nodeId": "string",
- "url": "string",
- "nodeName": "string"
}
{- "nodeId": "string",
- "url": "string",
- "nodeName": "string"
}
Announce a list of new modules to the proxy. Once successful a module can be selected for a specific tenant. To announce only one module you may use /_/proxy/modules.
check | boolean Default: true Whether to check dependencies |
preRelease | string Default: "true" Enum: "true" "false" "only" Whether to use pre-release in operation. "true": use all modules; "false": releases (no pre-releases); "only": only pre-releases. |
npmSnapshot | string Default: "true" Enum: "true" "false" "only" Whether to use NPM module snapshots in operation. "true": use all modules; "false": releases (no NPM snapshots); "only": only NPM snapshots. |
id required | string Module ID with format product-semver |
name | string Short name for module (does not include version) |
replaces | Array of strings List of modules that this replaces |
tags | Array of strings Module tags |
requires | Array of objects (InterfaceReference) Required interfaces |
provides | Array of objects (InterfaceDescriptor) Provided interfaces |
optional | Array of objects (InterfaceReference) Optional interfaces |
Array of objects (RoutingEntry) Provided filters | |
permissionSets | Array of objects (Permissions Definition Schema) Module Permission Sets |
Array of objects (EnvEntryList) List of environment variables | |
metadata | object Module Metadata (any object) |
uiDescriptor | object (UiModuleDescriptor) UI Module description |
launchDescriptor | object (LaunchDescriptor) Specifies how a module is deployed and undeployed |
[- {
- "id": "string",
- "name": "string",
- "replaces": [
- "string"
], - "tags": [
- "string"
], - "requires": [
- { }
], - "provides": [
- { }
], - "optional": [
- { }
], - "filters": [
- {
- "methods": [
- "string"
], - "pathPattern": "string",
- "path": "string",
- "rewritePath": "string",
- "phase": "string",
- "level": "string",
- "type": "string",
- "redirectPath": "string",
- "unit": "string",
- "delay": "string",
- "schedule": {
- "cron": "string",
- "zone": "string"
}, - "permissionsRequired": [
- "string"
], - "permissionsDesired": [
- "string"
], - "modulePermissions": [
- "string"
], - "permissionsRequiredTenant": [
- "string"
], - "delegateCORS": true
}
], - "permissionSets": [
- { }
], - "env": [
- {
- "name": "string",
- "value": "string",
- "description": "string"
}
], - "metadata": { },
- "uiDescriptor": { },
- "launchDescriptor": { }
}
]
Remove module snapshot modules descriptors that are obsolete. A module is considered obsolete if it is part of a release that is earlier than N latest releases (saveReleases) and not part of the M latest snapshots in that release.
removeDependencies | boolean Default: false Force removal of modules that depend on obsolete snapshots |
saveReleases required | integer The number of latest releases where snapshots are never considered obsolete |
saveSnapshots required | integer The number of latest snapshots that are never considered obsolete (preserved) |
Announce new module to the proxy. Once successful a module can be selected for a specific tenant.
check | boolean Default: true Whether to check dependencies |
preRelease | string Default: "true" Enum: "true" "false" "only" Whether to use pre-release in operation. "true": use all modules; "false": releases (no pre-releases); "only": only pre-releases. |
npmSnapshot | string Default: "true" Enum: "true" "false" "only" Whether to use NPM module snapshots in operation. "true": use all modules; "false": releases (no NPM snapshots); "only": only NPM snapshots. |
id required | string Module ID with format product-semver | ||||||||||||||||||||||||||||||||
name | string Short name for module (does not include version) | ||||||||||||||||||||||||||||||||
replaces | Array of strings List of modules that this replaces | ||||||||||||||||||||||||||||||||
tags | Array of strings Module tags | ||||||||||||||||||||||||||||||||
requires | Array of objects (InterfaceReference) Required interfaces | ||||||||||||||||||||||||||||||||
provides | Array of objects (InterfaceDescriptor) Provided interfaces | ||||||||||||||||||||||||||||||||
optional | Array of objects (InterfaceReference) Optional interfaces | ||||||||||||||||||||||||||||||||
Array of objects (RoutingEntry) Provided filters | |||||||||||||||||||||||||||||||||
Array
| |||||||||||||||||||||||||||||||||
permissionSets | Array of objects (Permissions Definition Schema) Module Permission Sets | ||||||||||||||||||||||||||||||||
Array of objects (EnvEntryList) List of environment variables | |||||||||||||||||||||||||||||||||
Array
| |||||||||||||||||||||||||||||||||
metadata | object Module Metadata (any object) | ||||||||||||||||||||||||||||||||
uiDescriptor | object (UiModuleDescriptor) UI Module description | ||||||||||||||||||||||||||||||||
launchDescriptor | object (LaunchDescriptor) Specifies how a module is deployed and undeployed |
{- "id": "string",
- "name": "string",
- "replaces": [
- "string"
], - "tags": [
- "string"
], - "requires": [
- { }
], - "provides": [
- { }
], - "optional": [
- { }
], - "filters": [
- {
- "methods": [
- "string"
], - "pathPattern": "string",
- "path": "string",
- "rewritePath": "string",
- "phase": "string",
- "level": "string",
- "type": "string",
- "redirectPath": "string",
- "unit": "string",
- "delay": "string",
- "schedule": {
- "cron": "string",
- "zone": "string"
}, - "permissionsRequired": [
- "string"
], - "permissionsDesired": [
- "string"
], - "modulePermissions": [
- "string"
], - "permissionsRequiredTenant": [
- "string"
], - "delegateCORS": true
}
], - "permissionSets": [
- { }
], - "env": [
- {
- "name": "string",
- "value": "string",
- "description": "string"
}
], - "metadata": { },
- "uiDescriptor": { },
- "launchDescriptor": { }
}
{- "id": "string",
- "name": "string",
- "replaces": [
- "string"
], - "tags": [
- "string"
], - "requires": [
- { }
], - "provides": [
- { }
], - "optional": [
- { }
], - "filters": [
- {
- "methods": [
- "string"
], - "pathPattern": "string",
- "path": "string",
- "rewritePath": "string",
- "phase": "string",
- "level": "string",
- "type": "string",
- "redirectPath": "string",
- "unit": "string",
- "delay": "string",
- "schedule": {
- "cron": "string",
- "zone": "string"
}, - "permissionsRequired": [
- "string"
], - "permissionsDesired": [
- "string"
], - "modulePermissions": [
- "string"
], - "permissionsRequiredTenant": [
- "string"
], - "delegateCORS": true
}
], - "permissionSets": [
- { }
], - "env": [
- {
- "name": "string",
- "value": "string",
- "description": "string"
}
], - "metadata": { },
- "uiDescriptor": { },
- "launchDescriptor": { }
}
List all or subset of modules for proxy
dot | boolean Default: false If true, return Graphviz DOT content as plain text |
filter | string Filter by module ID |
full | boolean Default: false Whether full or compact MD should be returned |
latest | integer Limit to latest N releases (most likely 1 if given) |
order | string Enum: "desc" "asc" Order |
orderBy | string Order by field |
provide | string Limit to provided interfaces (each interface name separated by comma) |
require | string Limit to required interfaces (each interface name separated by comma) |
scope | string Limit to interface scope (only useful with provide and require) |
preRelease | string Default: "true" Enum: "true" "false" "only" Whether to use pre-release in operation. "true": use all modules; "false": releases (no pre-releases); "only": only pre-releases. |
npmSnapshot | string Default: "true" Enum: "true" "false" "only" Whether to use NPM module snapshots in operation. "true": use all modules; "false": releases (no NPM snapshots); "only": only NPM snapshots. |
[- {
- "id": "string",
- "name": "string",
- "replaces": [
- "string"
], - "tags": [
- "string"
], - "requires": [
- { }
], - "provides": [
- { }
], - "optional": [
- { }
], - "filters": [
- {
- "methods": [
- "string"
], - "pathPattern": "string",
- "path": "string",
- "rewritePath": "string",
- "phase": "string",
- "level": "string",
- "type": "string",
- "redirectPath": "string",
- "unit": "string",
- "delay": "string",
- "schedule": {
- "cron": "string",
- "zone": "string"
}, - "permissionsRequired": [
- "string"
], - "permissionsDesired": [
- "string"
], - "modulePermissions": [
- "string"
], - "permissionsRequiredTenant": [
- "string"
], - "delegateCORS": true
}
], - "permissionSets": [
- { }
], - "env": [
- {
- "name": "string",
- "value": "string",
- "description": "string"
}
], - "metadata": { },
- "uiDescriptor": { },
- "launchDescriptor": { }
}
]
Retrieve descriptor for a particular module
module_id required | string |
{- "id": "string",
- "name": "string",
- "replaces": [
- "string"
], - "tags": [
- "string"
], - "requires": [
- { }
], - "provides": [
- { }
], - "optional": [
- { }
], - "filters": [
- {
- "methods": [
- "string"
], - "pathPattern": "string",
- "path": "string",
- "rewritePath": "string",
- "phase": "string",
- "level": "string",
- "type": "string",
- "redirectPath": "string",
- "unit": "string",
- "delay": "string",
- "schedule": {
- "cron": "string",
- "zone": "string"
}, - "permissionsRequired": [
- "string"
], - "permissionsDesired": [
- "string"
], - "modulePermissions": [
- "string"
], - "permissionsRequiredTenant": [
- "string"
], - "delegateCORS": true
}
], - "permissionSets": [
- { }
], - "env": [
- {
- "name": "string",
- "value": "string",
- "description": "string"
}
], - "metadata": { },
- "uiDescriptor": { },
- "launchDescriptor": { }
}
Create a new tenant
id | string Tenant ID. A new tenant ID created via the POST //proxy/tenants API must match the ^[a-z][a-z0-9]{0,30}$ regexp as required by https://folio-org.atlassian.net/wiki/spaces/TC/pages/5053983/DR-000002+-+Tenant+Id+and+Module+Name+Restrictions Technical Council decision. All other APIs also accept a legacy tenant ID that matches ^[a-z0-9-]+$ regexp and may pose security issues as explained on https://folio-org.atlassian.net/wiki/spaces/DD/pages/1779867/Tenant+Id+and+Module+Name+Restrictions |
name | string Tenant name |
description | string Tenant description |
{- "id": "string",
- "name": "string",
- "description": "string"
}
{- "id": "string",
- "name": "string",
- "description": "string"
}
Update a tenant
tenant_id required | string |
id | string Tenant ID. A new tenant ID created via the POST //proxy/tenants API must match the ^[a-z][a-z0-9]{0,30}$ regexp as required by https://folio-org.atlassian.net/wiki/spaces/TC/pages/5053983/DR-000002+-+Tenant+Id+and+Module+Name+Restrictions Technical Council decision. All other APIs also accept a legacy tenant ID that matches ^[a-z0-9-]+$ regexp and may pose security issues as explained on https://folio-org.atlassian.net/wiki/spaces/DD/pages/1779867/Tenant+Id+and+Module+Name+Restrictions |
name | string Tenant name |
description | string Tenant description |
{- "id": "string",
- "name": "string",
- "description": "string"
}
{- "id": "string",
- "name": "string",
- "description": "string"
}
Enable a module for tenant. Only the member 'id' from TenantModuleDescriptor is used in this operation. This call will eventually be replaced by the 'install' service.
tenant_id required | string |
id required | string Module ID (or just product part) |
from | string Original Module ID when transitioning from one module to another |
action | string Enum: "enable" "disable" "uptodate" "suggest" "conflict" Module action |
stage | string Enum: "pending" "deploy" "invoke" "undeploy" "done" Stage for the module |
message | string Diagnostic Message |
{- "id": "string",
- "from": "string",
- "action": "enable",
- "stage": "pending",
- "message": "string"
}
{- "id": "string",
- "from": "string",
- "action": "enable",
- "stage": "pending",
- "message": "string"
}
Get enabled modules for tenant
tenant_id required | string |
dot | boolean Default: false If true, return Graphviz DOT content as plain text |
filter | string Filter by module ID |
full | boolean Default: false Whether full or compact MD should be returned |
latest | integer Limit to latest N releases (most likely 1 if given) |
order | string Enum: "desc" "asc" Order |
orderBy | string Order by field |
provide | string Limit to provided interfaces (each interface name separated by comma) |
require | string Limit to required interfaces (each interface name separted by comma) |
scope | string Limit to interface scope (only useful with provide and require) |
preRelease | string Default: "true" Enum: "true" "false" "only" Whether to use pre-release in operation. "true": use all modules; "false": releases (no pre-releases); "only": only pre-releases. |
npmSnapshot | string Default: "true" Enum: "true" "false" "only" Whether to use NPM module snapshots in operation. "true": use all modules; "false": releases (no NPM snapshots); "only": only NPM snapshots. |
[- {
- "id": "string",
- "name": "string",
- "replaces": [
- "string"
], - "tags": [
- "string"
], - "requires": [
- { }
], - "provides": [
- { }
], - "optional": [
- { }
], - "filters": [
- {
- "methods": [
- "string"
], - "pathPattern": "string",
- "path": "string",
- "rewritePath": "string",
- "phase": "string",
- "level": "string",
- "type": "string",
- "redirectPath": "string",
- "unit": "string",
- "delay": "string",
- "schedule": {
- "cron": "string",
- "zone": "string"
}, - "permissionsRequired": [
- "string"
], - "permissionsDesired": [
- "string"
], - "modulePermissions": [
- "string"
], - "permissionsRequiredTenant": [
- "string"
], - "delegateCORS": true
}
], - "permissionSets": [
- { }
], - "env": [
- {
- "name": "string",
- "value": "string",
- "description": "string"
}
], - "metadata": { },
- "uiDescriptor": { },
- "launchDescriptor": { }
}
]
Disable modules for tenant
tenant_id required | string |
invoke | string Default: "true" Whether to invoke for tenant init/permissions/purge. Use "true" to invoke, "false" to not invoke. Any other value is a regular expression that is matched against the module ID. If that pattern matches, invoke is performed (same as "true)". |
purge | boolean Default: false Disabled modules will also be purged. |
tenantParameters | string Parameters for Tenant init |
Upgrade a module for a tenant. Enable new module and disable current module with new module ID in body and existing ID in path. This call will eventually be replaced by the 'install' service.
module_id required | string |
tenant_id required | string |
invoke | string Default: "true" Whether to invoke for tenant init/permissions/purge. Use "true" to invoke, "false" to not invoke. Any other value is a regular expression that is matched against the module ID. If that pattern matches, invoke is performed (same as "true)". |
purge | boolean Default: false Disabled modules will also be purged. |
tenantParameters | string Parameters for Tenant init |
id required | string Module ID (or just product part) |
from | string Original Module ID when transitioning from one module to another |
action | string Enum: "enable" "disable" "uptodate" "suggest" "conflict" Module action |
stage | string Enum: "pending" "deploy" "invoke" "undeploy" "done" Stage for the module |
message | string Diagnostic Message |
{- "id": "string",
- "from": "string",
- "action": "enable",
- "stage": "pending",
- "message": "string"
}
{- "id": "string",
- "from": "string",
- "action": "enable",
- "stage": "pending",
- "message": "string"
}
Disable a module for a tenant. This call will eventually be replaced by the 'install' service.
module_id required | string |
tenant_id required | string |
invoke | string Default: "true" Whether to invoke for tenant init/permissions/purge. Use "true" to invoke, "false" to not invoke. Any other value is a regular expression that is matched against the module ID. If that pattern matches, invoke is performed (same as "true)". |
purge | boolean Default: false Disabled modules will also be purged. |
tenantParameters | string Parameters for Tenant init |
Retrieve information about all install/upgrade jobs - including those that are ongoing.
tenant_id required | string |
[- {
- "id": "string",
- "complete": true,
- "startDate": "string",
- "endDate": "string",
- "modules": [
- {
- "id": "string",
- "from": "string",
- "action": "enable",
- "stage": "pending",
- "message": "string"
}
]
}
]
Enable, disable or upgrade one or more modules for tenant. The request body and response body is of the same type TenantModuleDescriptorList. This list includes one or more modules to be enabled, disabled or upgraded. The request is the initial desired changes and the response is the list of changes that must be fulfilled to satisfy dependencies. This service will eventually partially replace /_/proxy/tenants/{tenant}/modules . It also allows enabling multiple modules in one transaction. For simulate=true, the response, can be viewed as a recipe for what must be deployed (optionally) and enabled/disabled by the existing tenants-modules CRUD service.
tenant_id required | string |
preRelease | string Default: "true" Enum: "true" "false" "only" Whether to use pre-release in operation. "true": use all modules; "false": releases (no pre-releases); "only": only pre-releases. |
npmSnapshot | string Default: "true" Enum: "true" "false" "only" Whether to use NPM module snapshots in operation. "true": use all modules; "false": releases (no NPM snapshots); "only": only NPM snapshots. |
async | boolean Default: false Whether to install in the background. |
deploy | boolean Default: false Whether to deploy (or undeploy if disabling). |
ignoreErrors | boolean Default: false Okapi 4.2.0 and later, it is possible to ignore errors during the
install operation. This is done by supplying parameter |
invoke | string Default: "true" Whether to invoke for tenant init/permissions/purge. Use "true" to invoke, "false" to not invoke. Any other value is a regular expression that is matched against the module ID. If that pattern matches, invoke is performed (same as "true"). |
parallel | integer >= 1 Default: 1 Number of parallel calls to tenant interfaces of modules. A value of 1 means calls are happening in sequence. If depCheck=false and parallel>1, the invocation will be rejected. |
purge | boolean Default: false Disabled modules will also be purged. |
reinstall | boolean Default: false Whether to install modules even if up-to-update. |
simulate | boolean Default: false Whether the installation is simulated |
tenantParameters | string Parameters for tenant init |
depCheck | boolean Default: true Whether to check dependencies of modules before being installed. Modules are installed exactly in the order supplied by the client. If depCheck=false and parallel>1, the invocation will be rejected. |
id required | string Module ID (or just product part) |
from | string Original Module ID when transitioning from one module to another |
action | string Enum: "enable" "disable" "uptodate" "suggest" "conflict" Module action |
stage | string Enum: "pending" "deploy" "invoke" "undeploy" "done" Stage for the module |
message | string Diagnostic Message |
[- {
- "id": "string",
- "from": "string",
- "action": "enable",
- "stage": "pending",
- "message": "string"
}
]
[- {
- "id": "string",
- "from": "string",
- "action": "enable",
- "stage": "pending",
- "message": "string"
}
]
Get install job status
install_id required | string |
tenant_id required | string |
{- "id": "string",
- "complete": true,
- "startDate": "string",
- "endDate": "string",
- "modules": [
- {
- "id": "string",
- "from": "string",
- "action": "enable",
- "stage": "pending",
- "message": "string"
}
]
}
Upgrade each module to the latest version. The upgrade is rejected if it would violate the interface dependencies of the modules. The response is a list of modules that have been enabled, disabled or upgraded to perform the upgrade.
tenant_id required | string |
preRelease | string Default: "true" Enum: "true" "false" "only" Whether to use pre-release in operation. "true": use all modules; "false": releases (no pre-releases); "only": only pre-releases. |
npmSnapshot | string Default: "true" Enum: "true" "false" "only" Whether to use NPM module snapshots in operation. "true": use all modules; "false": releases (no NPM snapshots); "only": only NPM snapshots. |
async | boolean Default: false Whether to install in the background. |
deploy | boolean Default: false Whether to deploy (or undeploy if disabling). |
ignoreErrors | boolean Default: false Okapi 4.2.0 and later, it is possible to ignore errors during the
install operation. This is done by supplying parameter |
invoke | string Default: "true" Whether to invoke for tenant init/permissions/purge. Use "true" to invoke, "false" to not invoke. Any other value is a regular expression that is matched against the module ID. If that pattern matches, invoke is performed (same as "true"). |
parallel | integer >= 1 Default: 1 Number of parallel calls to tenant interfaces of modules. A value of 1 means calls are happening in sequence. If depCheck=false and parallel>1, the invocation will be rejected. |
purge | boolean Default: false Disabled modules will also be purged. |
reinstall | boolean Default: false Whether to install modules even if up-to-update. |
simulate | boolean Default: false Whether the installation is simulated |
tenantParameters | string Parameters for tenant init |
depCheck | boolean Default: true Whether to check dependencies of modules before being installed. Modules are installed exactly in the order supplied by the client. If depCheck=false and parallel>1, the invocation will be rejected. |
[- {
- "id": "string",
- "from": "string",
- "action": "enable",
- "stage": "pending",
- "message": "string"
}
]
Get all modules that provide the specified interface ID. DEPRECATED Use /_/proxy/tenants/{tenant_id}/modules?provide={interface_id} instead.
interface_id required | string |
tenant_id required | string |
type | string Limit by interfaceType |
[- {
- "id": "string",
- "from": "string",
- "action": "enable",
- "stage": "pending",
- "message": "string"
}
]
[- {
- "id": "string",
- "modified": true,
- "routingEntry": {
- "methods": [
- "string"
], - "pathPattern": "string",
- "path": "string",
- "rewritePath": "string",
- "phase": "string",
- "level": "string",
- "type": "string",
- "redirectPath": "string",
- "unit": "string",
- "delay": "string",
- "schedule": {
- "cron": "string",
- "zone": "string"
}, - "permissionsRequired": [
- "string"
], - "permissionsDesired": [
- "string"
], - "modulePermissions": [
- "string"
], - "permissionsRequiredTenant": [
- "string"
], - "delegateCORS": true
}
}
]
patch timer. Both routingEntry and id must be given. The routingEntry.unit, routingEntry.delay and routingEntry.schedule determines the new schedule for the timer. Using delay=0 disables a timer. Omitting delay, unit and schedule reverts timer back to initial values from module.
tenant_id required | string |
id required | string Timer identifier | ||||||||||||||||||||||||||||||||
modified | boolean Whether modified | ||||||||||||||||||||||||||||||||
object (RoutingEntry) Okapi proxy routing entry | |||||||||||||||||||||||||||||||||
|
{- "id": "string",
- "modified": true,
- "routingEntry": {
- "methods": [
- "string"
], - "pathPattern": "string",
- "path": "string",
- "rewritePath": "string",
- "phase": "string",
- "level": "string",
- "type": "string",
- "redirectPath": "string",
- "unit": "string",
- "delay": "string",
- "schedule": {
- "cron": "string",
- "zone": "string"
}, - "permissionsRequired": [
- "string"
], - "permissionsDesired": [
- "string"
], - "modulePermissions": [
- "string"
], - "permissionsRequiredTenant": [
- "string"
], - "delegateCORS": true
}
}
get timer with id given.
timer_id required | string |
tenant_id required | string |
{- "id": "string",
- "modified": true,
- "routingEntry": {
- "methods": [
- "string"
], - "pathPattern": "string",
- "path": "string",
- "rewritePath": "string",
- "phase": "string",
- "level": "string",
- "type": "string",
- "redirectPath": "string",
- "unit": "string",
- "delay": "string",
- "schedule": {
- "cron": "string",
- "zone": "string"
}, - "permissionsRequired": [
- "string"
], - "permissionsDesired": [
- "string"
], - "modulePermissions": [
- "string"
], - "permissionsRequiredTenant": [
- "string"
], - "delegateCORS": true
}
}
patch timer with routing entry as body. The unit, delay and schedule determines the new schedule for the timer. Using delay=0 disables a timer. Omitting delay, unit and schedule reverts timer back to initial values from module.
timer_id required | string |
tenant_id required | string |
methods | Array of strings List of methods GET, POST,.. * (for all) | ||||
pathPattern | string Path pattern match. * matches any path. {x} matches one or more characters but not slash | ||||
path | string Path prefix match | ||||
rewritePath | string Rewrite path. e.g. have filter rewrite '/' to '/events/' | ||||
phase | string If given, may be auth, pre or post | ||||
level | string Processing level. Default is 50 (handlers) | ||||
type | string Proxy handling. One of: request-response, request-only, headers, redirect, system, internal, request-response-1.0. The default is request-response | ||||
redirectPath | string If given, path that we internally redirect to | ||||
unit | string Delay unit | ||||
delay | string Delay between calls; a value of zero disables timer | ||||
object (RoutingEntrySchedule) Timer schedule using cron-utils | |||||
| |||||
permissionsRequired | Array of strings Required permissions for this entry | ||||
permissionsDesired | Array of strings Desired permissions for this entry | ||||
modulePermissions | Array of strings Module permissions for this entry | ||||
permissionsRequiredTenant | Array of strings Required permissions that replace permissionsRequired when the user is authenticated and either the tenant matches each {tenantId} in pathPattern or pathPattern doesn't contain {tenantId} | ||||
delegateCORS | boolean Okapi handles CORS by default. Set to true to delegate CORS handling to the module. This only applies to calls made via /_/invoke/tenant/ |
{- "methods": [
- "string"
], - "pathPattern": "string",
- "path": "string",
- "rewritePath": "string",
- "phase": "string",
- "level": "string",
- "type": "string",
- "redirectPath": "string",
- "unit": "string",
- "delay": "string",
- "schedule": {
- "cron": "string",
- "zone": "string"
}, - "permissionsRequired": [
- "string"
], - "permissionsDesired": [
- "string"
], - "modulePermissions": [
- "string"
], - "permissionsRequiredTenant": [
- "string"
], - "delegateCORS": true
}
Pull modules (i.e. Module Descriptors) from a remote repository. The PullDescriptor includes one or more URLs. And the operation will try all URLs in order until one succeeds. Hence, the URLs should be pointing to identical remote repositories.
urls | Array of strings List of URLs from which Okapi attempts pulling |
{- "urls": [
- "string"
]
}
[- {
- "id": "string",
- "name": "string",
- "replaces": [
- "string"
], - "tags": [
- "string"
], - "requires": [
- { }
], - "provides": [
- { }
], - "optional": [
- { }
], - "filters": [
- {
- "methods": [
- "string"
], - "pathPattern": "string",
- "path": "string",
- "rewritePath": "string",
- "phase": "string",
- "level": "string",
- "type": "string",
- "redirectPath": "string",
- "unit": "string",
- "delay": "string",
- "schedule": {
- "cron": "string",
- "zone": "string"
}, - "permissionsRequired": [
- "string"
], - "permissionsDesired": [
- "string"
], - "modulePermissions": [
- "string"
], - "permissionsRequiredTenant": [
- "string"
], - "delegateCORS": true
}
], - "permissionSets": [
- { }
], - "env": [
- {
- "name": "string",
- "value": "string",
- "description": "string"
}
], - "metadata": { },
- "uiDescriptor": { },
- "launchDescriptor": { }
}
]
Add environment entry
name required | string Key |
value | string Value |
description | string Description |
{- "name": "string",
- "value": "string",
- "description": "string"
}
{- "name": "string",
- "value": "string",
- "description": "string"
}