Admin API
Manage your Fusion instance, including objects, configurations, connections, and your license.
Apps Manager API
Get information about your Fusion capabilities, entitlements, and consumption.
Async Parsing API
View, modify, and delete parsers in Fusion. This API replaces the Parsers API in Fusion 5.9.11 and up.
Connectors API
Configure datasources, list the installed connectors, and install or update connectors.
Indexing API
Create and manage index pipelines, index profiles, and index stages.
Job Config API
Manage configurations, schedules, and histories for task type jobs. Available in Fusion Fusion 5.9.11 and up.
Job Launcher API
Launch and control pre-configured jobs with runtime parameters.
Job REST Server API
Run and monitor Spark jobs across Fusion’s distributed runtime.
Machine Learning Model API
Train, deploy, and manage machine learning models in Fusion.
Proxy API
Manage users,
roles,
realms,
access tokens,
and API keys.
Query API
Manage query pipelines,
query profiles,
query stages,
experiments,
signals,
and query rewrites.
Templating API
Create and manage Predictive Merchandiser templates.
API authentication
There are two ways to authenticate when making API calls to Fusion:- Basic authentication with a username and password
- API key authentication
Authenticate with basic auth
You can use a Fusion username and password to authenticate with Fusion’s REST API. The user’s role and permissions must include access to the endpoints and methods you want to use.Authenticate with an API key
You can use an API key instead of a username and password combination to power your search application or operations. Pass your API key to Fusion using eitherapiKey or x-api-key, as in these examples:
Access API endpoints
API endpoints follow this pattern:https://FUSION_HOST/api/query/query-pipelines
Get API specs directly from Fusion
There are a couple of ways to get Fusion’s REST API specifications directly from your Fusion instance.Access the Swagger UI
To enable Swagger, use--set swagger.enabled=true in the Helm chart install command.
Authentication and authorization rules do not include the Swagger user interface; anyone with network access to your Fusion instance can see it.
Before enabling Swagger, determine your organization’s security requirements.
/SERVICE_NAME/swagger-ui/index.html in the URL.
For example, change the path to /indexing/swagger-ui/index.html to see the Indexing API.
Get the API specs in JSON
You can view or download the JSON-formatted API specs for each service by appending/v2/api-docs or /v3/api-docs
to the service’s base URL:
API how-tos and examples
Send data to an index profile in an app
Send data to an index profile in an app
Accessing an index profile through an app lets a Fusion admin secure and manage all objects on a per-app basis. Security is then determined by whether a user can access an app. This is the recommended way to manage permissions in Fusion.The syntax for sending documents to an index profile that is part of an app is as follows:To prevent the terminal from displaying all the data and metadata it indexes—useful if you are indexing a large file—you can optionally append
Spaces in an app name become underscores. Spaces in an index profile name become hyphens.
?echo=false to the URL.Be sure to set the content type header properly for the content being sent. Some frequently used content types are:- Text:
application/json,application/xml - PDF documents:
application/pdf - MS Office:
- DOCX:
application/vnd.openxmlformats-officedocument.wordprocessingml.document - XLSX:
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet - PPTX:
application/vnd.vnd.openxmlformats-officedocument.presentationml.presentation - More types: http://filext.com/faq/office_mime_types.php
Send JSON data to an index profile in an app
Send JSON data to an index profile in an app
In
$FUSION_HOME/apps/solr-dist/example/exampledocs you can find a few sample documents. This example uses one of these, books.json.To push JSON data to an index profile under an app:- Create an index profile. In the Fusion UI, click Indexing > Index Profiles and follow the prompts.
- From the directory containing
books.json, enter the following, substituting your values for username, password, and index profile name: - Test that your data has made it into Fusion:
- Log into the Fusion UI.
- Navigate to the app where you sent your data.
- Navigate to the Query Workbench.
- Search for
*:*. - Select relevant Display Fields, for example
authorandname.
Send JSON data without specifying an app
Send JSON data without specifying an app
In most cases it is best to delegate permissions on a per-app basis. But if your use case requires it, you can push data to Fusion without defining an app.To send JSON data without app security, issue the following curl command:
Send XML data to an index profile in an app
Send XML data to an index profile in an app
To send XML data to an app, use the following:In Fusion 5, documents can be created on the fly using the PipelineDocument JSON notation.
Remove specific documents from the index
Remove specific documents from the index
This example uses the Indexing API to remove content defined in a JSON file:The JSON file specifies two documents to delete:
You can use
?echo=false to turn off the response to the terminal.Send documents to an index pipeline
Send documents to an index pipeline
Although sending documents to an index profile is recommended, if your use case requires it, you can send documents directly to an index pipeline.For more information about index pipeline REST API reference documentation, see Fusion 5.x Index Pipelines API.When you push data to a pipeline, you can specify the name of the parser by adding a parserId querystring parameter to the URL.
For example:
https://FUSION_HOST:FUSION_PORT/api/index-pipelines/INDEX_PIPELINE/collections/COLLECTION_NAME/index?parserId=PARSER.If you do not specify a parser, and you are indexing outside of an app (https://FUSION_HOST:FUSION_PORT/api/index-pipelines/...), then the _system parser is used.If you do not specify a parser, and you are indexing in an app context (https://FUSION_HOST:FUSION_PORT/api/apps/APP_NAME/index-pipelines/...), then the parser with the same name as the app is used.Clear a collection
Clear a collection
To clear all content from a collection without deleting the collection, send a Include this JSON body in your request:
POST request to this endpoint:This operation is irreversible. Use it with caution.
LucidAcademyLucidworks offers free training to help you get started.The Quick Learning for Apps Manager API focuses on the purpose and functions of the Apps Manager API:Visit the LucidAcademy to see the full training catalog.
