Skip to content

Create knowledge base

POST
/knowledge
curl --request POST \
--url https://api.amitysolutions.com/api/v1/knowledge \
--header 'Content-Type: application/json' \
--header 'x-api-key: <x-api-key>' \
--data '{ "name": "example", "source": "internal", "target": "", "supportedLanguages": [ "en" ], "createFulfillment": true }'
Media typeapplication/json
object
name
required

The name of the knowledge
Max file name length: 255 characters

string
source
required

Type of knowledge base

string
Allowed values: internal external
target

Search endpoint for external knowledge bases. Required only for external knowledge base.

string
""
supportedLanguages
required

List of supported languages for the knowledge. Files uploaded to this knowledge will have a copy of the document with each supported language translated.

Array<string>
Allowed values: en th
createFulfillment

Option to create a new fulfillment. If set to true, a new fulfillment will automatically be created and attached to the new knowledge base.

boolean
default: true

New knowledge base

Media typeapplication/json
object
id

Numeric ID of the knowledge

number
name

The name of the knowledge

string
source

Type of knowledge base. internal will search the content from uploaded files and external will send a request to target endpoint for search.

string
Allowed values: internal external
supportedLanguages

List of supported languages for the knowledge. Files uploaded to this knowledge will have a copy of the document with each supported language translated.

Array<string>
Allowed values: en th
target

Search endpoint for external knowledge bases

string
enableSemanticSearch

If set to true, search will use semantic search on top of full-text search.

boolean
createdAt

Timestamp of creation for knowledge

string format: ISOString
updatedAt

Last updated timestamp for knowledge

string format: ISOString
Example
{
"source": "internal",
"supportedLanguages": [
"en"
],
"createdAt": "2023-11-09T00:00:00.000Z",
"updatedAt": "2023-11-09T00:00:00.000Z"
}

Unauthorized Error. ASAP will return this error when there is either no api key, invalid api key or the client`s IP address is not whitelisted.

Media typeapplication/json
object
name
string
code
number
status
number
message
string
errors
Array<object>
object
Example
{
"name": "UnauthorizedException",
"code": 401001,
"status": 401,
"message": "Unauthorized",
"errors": []
}

Validation Error

Media typeapplication/json
object
name

Name of the error

string
code

ASAP platform specific error code

number
status

HTTP status code

number
message

Error message details

string
errors
Array<object>
object
type
required

Type of error

string
field
required

Name of the field having the error

string
value

Input value

string
message
required

Error message

string
Example
{
"name": "UnprocessableEntityException",
"code": 422001,
"status": 422,
"message": "request payload validation failed",
"errors": [
{
"type": "isNotEmpty",
"field": "name",
"message": "name must not be empty"
},
{
"type": "min",
"field": "limit",
"value": -1,
"message": "limit must not be less than 1"
}
]
}

Too Many Requests

Media typeapplication/json
object
name

Name of the error

string
code

ASAP platform specific error code

number
status

HTTP status code

number
message

Error message details

string
errors
Array<object>
object
Example
{
"name": "RateLimitExceededException",
"code": 429001,
"status": 429,
"message": "Rate limit exceeded",
"errors": []
}