Project Documents API Documentation
GET: Retrieve Documents
Description
This route is used to retrieve a list of documents for a specific project.
Method
GET
URL Parameters
projectId
(string): The ID of the project to retrieve documents for.
Query Parameters
sort
(string): The field by which to sort the documents.page
(number): The page number of the results.limit
(number): The number of items per page.
Response
- Returns a JSON response with the list of documents or an error message.
Status Codes
200 OK
: Documents retrieved successfully.500 Internal Server Error
: Error listing documents.
Throws
- An error if request validation or document retrieval fails.
Example cURL
curl --location 'https://app.ai12z.net/api/projects/{projectId}/documents' \
--header 'Authorization: Bearer <YOUR_KEY>' \
--data-urlencode 'sort=name' \
--data-urlencode 'page=1' \
--data-urlencode 'limit=10'
GET: Retrieve Document By Id
Description
This route is used to retrieve a document for a specific id.
Method
GET
URL Parameters
projectId
(string): The ID of the project to retrieve documents for.id
(string): The ID of the document to retrieve.
Response
- Returns a JSON response with the document or an error message.
Status Codes
200 OK
: Document retrieved successfully.500 Internal Server Error
: Error listing documents.
Throws
- An error if request validation or document retrieval fails.
Example cURL
curl --location 'https://app.ai12z.net/api/projects/{projectId}/documents/{id}' \
--header 'Authorization: Bearer <YOUR_KEY>'
DELETE: Delete a Document
Description
This route is used to delete a specific document.
Method
DELETE
Request Body
Example request body:
{
"id": "document ID"
}
Response
- Returns the result of the document deletion.
Status Codes
200 OK
: Document deleted successfully.500 Internal Server Error
: Error during deletion.
Throws
- An error if request validation, body parsing, or document deletion fails.
Example cURL
curl --location --request DELETE 'https://app.ai12z.net/api/projects/{projectId}/documents' \
--header 'Authorization: Bearer <YOUR_KEY>' \
--header 'Content-Type: application/json' \
--data-raw '{
"id": "document ID"
}'
POST: Ingest a website
Description
This route allows ingesting of a website. It is a two steps process.
1. Create histogram / sitemap
Method
POST
URL Parameters
projectId
(string): The ID of the project to which the document will be attached.
Request Body
- Example request body:
{
"name": "Smple Website Demo",
"url": "https://ai12z.com/",
"description": "This is a description",
"type": "sitemap"
}
Response
- Returns the document metadata.
Status Codes
200 OK
: Document added successfully.500 Internal Server Error
: Error processing the request.
Throws
- An error if the request validation or add document fails.
Example cURL
curl --location 'https://app.ai12z.net/api/projects/{projectId}/documents' \
--header 'Authorization: Bearer <YOUR_KEY>' \
--header 'Content-Type: application/json' \
--data '{
"name": "Smple Website Demo",
"url": "https://ai12z.com/",
"description": "This is a description",
"type": "sitemap"
}'
2. Ingest histogram / sitemap
Before continue with this step check to see if document previous step is sucess. You can use the get document by id to get the ingest status.
Method
PUT
URL Parameters
projectId
(string): The ID of the project to which the document will be attached.
Request Body
- Example request body:
{
"type": "application/website"
}
Response
- Returns the document metadata.
Status Codes
200 OK
: Document added successfully.500 Internal Server Error
: Error processing the request.
Throws
- An error if the request validation or add document fails.
Example cURL
curl --location --request PUT 'https://app.ai12z.net/api/projects/{projectId}/documents' \
--header 'Authorization: Bearer <YOUR_KEY>' \
--header 'Content-Type: application/json' \
--data '{
"type": "application/website"
}'
POST: Ingest a file / html by URL
Description
This route allows adding a new document type url to a project.
Method
POST
URL Parameters
projectId
(string): The ID of the project to which the document will be attached.
Request Body
- Example request body:
{
"name": "Sample Url",
"url": "https://gdlp01.c-wss.com/gds/5/0300003415/02/ef85f18usm-im3-eng.pdf",
"description": "A sample url",
"type": "application/link"
}
Response
- Returns the uploaded document metadata.
Status Codes
200 OK
: Document uploaded successfully.400 Bad Request
: No file received.500 Internal Server Error
: Error processing the request.
Throws
- An error if the request validation or file upload fails.
Example cURL
curl --location 'https://app.ai12z.net/api/projects/{projectId}/documents' \
--header 'Authorization: Bearer <YOUR_KEY>' \
--header 'Content-Type: application/json' \
--data '{
"name": "Sample Url",
"url": "https://gdlp01.c-wss.com/gds/5/0300003415/02/ef85f18usm-im3-eng.pdf",
"description": "A sample url",
"type": "application/link"
}'
POST: Ingest an uploaded file
Description
This route allows uploading a new document to a project.
Method
POST
URL Parameters
projectId
(string): The ID of the project to which the document will be attached.
Request Body
-
When adding a file:
- Form-data:
file
(File): The document to upload (e.g.,.pdf
,.docx
).description
(Text): A description of the document.
- Form-data:
-
Example request body:
{
"file": "example.pdf",
"description": "This is a file document"
}
Response
- Returns the uploaded document metadata.
Status Codes
200 OK
: Document uploaded successfully.400 Bad Request
: No file received.500 Internal Server Error
: Error processing the request.
Throws
- An error if the request validation or file upload fails.
Example cURL
curl --location 'https://app.ai12z.net/api/projects/{projectId}/documents' \
--header 'Authorization: Bearer <YOUR_KEY>' \
--header 'Content-Type: multipart/form-data' \
--form 'file=@"/path/to/document.pdf"' \
--form 'description="This is a file document"'
PUT: Update a Document
Description
This route is used to update an existing document.
Method
PUT
Request Body
Example request body:
{
"id": "Document ID",
"description": "Updated description of the document"
}
Response
- Returns the updated document metadata.
Status Codes
200 OK
: Document updated successfully.500 Internal Server Error
: Error updating the document.
Throws
- An error if request validation or document update fails.
Example cURL
curl --location --request PUT 'https://app.ai12z.net/api/projects/{projectId}/documents' \
--header 'Authorization: Bearer <YOUR_KEY>' \
--header 'Content-Type: application/json' \
--data-raw '{
"id": "Document ID",
"description": "Updated description"
}'