Proompty Topics API

The Topics API from Proompty — 7 operation(s) for topics.

OpenAPI Specification

proompty-topics-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Proompty Chat Topics API
  version: 1.1.0
  description: '

    Proompty is an advanced Retrieval Augmented Generation (RAG) API designed

    to empower users in seamlessly integrating their data and harnessing the

    power of customized Large Language Model (LLM) prompts for interactive

    communication. At its core, Proompty operates through a series of

    interconnected functionalities that enable users to navigate and

    manipulate their data effectively.'
  termsOfService: https://proompty.com/terms-of-service
  contact:
    email: developers@proompty.com
servers:
- url: https://app.proompty.com/api
security:
- APIKey: []
tags:
- name: Topics
paths:
  /topics/{topicId}:
    get:
      tags:
      - Topics
      description: Get a topic by ID
      summary: Retrieve details about a specific topic in the Proompty API. By sending a GET request to this endpoint with the corresponding topicId parameter, users can access information such as the topic's title, description, and any associated documents or chats. The API responds with the topic object in JSON format, containing the relevant details. In case the requested topic is not found, appropriate error responses are returned (404 for topic not found, 500 for other errors), ensuring users receive accurate feedback regarding the status of their request.
      parameters:
      - in: path
        name: topicId
        schema:
          type: string
        required: true
      - in: query
        name: include
        schema:
          type: string
        required: false
        description: 'Include additional data in the response. Possible values: documents, chats.'
      responses:
        '200':
          description: Topic
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Topic'
        '404':
          description: Not found
    put:
      tags:
      - Topics
      description: Update a topic by ID
      summary: Update the details of a specific topic in the Proompty API. By sending a PUT request to this endpoint with the corresponding topicId parameter and the updated topic object in the request body, users can modify the topic's title, description, or other attributes. The API responds with the updated topic object in JSON format, containing the new details. In case the requested topic is not found, an appropriate error response is returned (404), ensuring users receive accurate feedback regarding the status of their request.
      parameters:
      - in: path
        name: topicId
        schema:
          type: string
        required: true
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Topic'
      responses:
        '200':
          description: Topic
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Topic'
  /topics/{topicId}/documents/{documentId}:
    get:
      tags:
      - Topics
      description: Get a document by ID
      summary: Retrieve details about a specific document within a designated topic in the Proompty API. By sending a GET request to this endpoint with the corresponding topicId and documentId parameters, users can access information such as the document's content, creation date, and any associated metadata. The API responds with the document object in JSON format, containing the relevant details. In case the requested document or topic is not found, appropriate error responses are returned (404 for document not found, 500 for other errors), ensuring users receive accurate feedback regarding the status of their request.
      parameters:
      - in: path
        name: topicId
        schema:
          type: string
        required: true
      - in: path
        name: documentId
        schema:
          type: string
        required: true
      responses:
        '200':
          description: Document
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Document'
        '404':
          description: Not found
    delete:
      tags:
      - Topics
      description: Delete a document by ID
      parameters:
      - in: path
        name: topicId
        schema:
          type: string
        required: true
      - in: path
        name: documentId
        schema:
          type: string
        required: true
      responses:
        '200':
          description: ok
        '404':
          description: Not found
      summary: Delete a specific document within a designated topic in the Proompty API. Users can send a DELETE request to this endpoint with the relevant topicId and documentId parameters to remove the specified document from the topic. The API responds with a success message in JSON format, confirming that the document has been successfully deleted. In case the requested document or topic is not found, appropriate error responses are returned (404 for document not found, 500 for other errors), ensuring users receive accurate feedback regarding the status of their request.
  /topics/{topicId}/documents/upload:
    post:
      parameters:
      - in: path
        name: topicId
        schema:
          type: string
        required: true
      tags:
      - Topics
      description: Upload a document to a topic
      summary: Upload a document to a specific topic. Users can send a POST request to this endpoint with the relevant topicId parameter and a document file to upload a new document to the specified topic. The API responds with a JSON object containing the uploaded document details and any relevant metadata. This endpoint enables users to efficiently upload and manage documents within topics, facilitating seamless access and sharing of resources across the Proompty platform. In case the document already exists within the specified topic, the endpoint returns an appropriate error response (409), indicating that the document is already present in the topic.
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary
      responses:
        '201':
          description: Document uploaded
          content:
            application/json:
              schema:
                type: object
                properties:
                  document:
                    $ref: '#/components/schemas/Document'
        '404':
          description: Topic not found
        '409':
          description: Document already exists
        '500':
          description: Error uploading document
  /topics/{topicId}/prompts/{promptId}/chat:
    post:
      parameters:
      - in: path
        name: topicId
        schema:
          type: string
        required: true
      - in: path
        name: promptId
        schema:
          type: string
        required: true
      tags:
      - Topics
      description: 'Chat with a Prompt AI with a message or a binary stream using content-type: application/octet-stream (see Request body dropdown)

        '
      summary: 'Retrieves user information within the Proompty API system. By sending a GET request to this endpoint, users can obtain detailed data pertaining to their profile and associated claims. This includes essential user attributes such as email, full name, avatar URL, subscription plan, and role. Additionally, the response includes claims regarding the user''s subscription status, role type, and other pertinent details. In the event that the requested user is not found, a 404 error response is returned, indicating the absence of the specified user within the system.

        '
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                message:
                  type: string
                  description: The message to send to the prompt AI.
                  example: What is your favorite color?
                model:
                  type: string
                  description: The model to use for the response. Default is gpt4.
                  example: gpt3 | gpt4 | gpt4o
                temperature:
                  type: string
                  description: The temperature to use for the response. Default is 0.15.
                  example: '0.15'
                maxTokens:
                  type: string
                  description: The maximum number of tokens to generate for the response. Default is 500.
                  example: '500'
          application/octet-stream:
            schema:
              type: string
              format: binary
              description: The binary stream to be uploaded.
      responses:
        '200':
          description: Prompt
          content:
            application/json:
              schema:
                properties:
                  text:
                    type: string
                    description: The response from the prompt AIt.
                    example: My favorite color is blue.
                  model:
                    type: string
                    description: The model used to generate the response.
                    example: gpt4
                  sourceDocuments:
                    type: array
                    items:
                      type: object
                      properties:
                        metadata:
                          type: object
                          properties:
                            documentId:
                              type: string
                            filename:
                              type: string
                            topicId:
                              type: string
        '404':
          description: Prompt not found
        '500':
          description: Error getting prompt
  /topics/{topicId}/prompts/{promptId}:
    get:
      parameters:
      - in: path
        name: topicId
        schema:
          type: string
        required: true
      - in: path
        name: promptId
        schema:
          type: string
        required: true
      tags:
      - Topics
      description: Retrieves a Prompt
      summary: Retrieve details about a specific prompt within a designated topic in the Proompty API. By sending a GET request to this endpoint with the corresponding topicId and promptId parameters, users can access information such as the prompt's content, creation date, and any associated metadata. The API responds with the prompt object in JSON format, containing the relevant details. In case the requested prompt or topic is not found, appropriate error responses are returned (404 for prompt not found, 500 for other errors), ensuring users receive accurate feedback regarding the status of their request.
      responses:
        '200':
          description: Prompt
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/Prompt'
        '404':
          description: Prompt not found
        '500':
          description: Error getting prompt
    put:
      parameters:
      - in: path
        name: topicId
        schema:
          type: string
        required: true
      - in: path
        name: promptId
        schema:
          type: string
        required: true
      tags:
      - Topics
      description: Update a Prompt
      summary: Proompty Update a specific prompt within a designated topic. Users can send a PUT request to this endpoint with the corresponding topicId and promptId parameters, along with a JSON payload containing the updated prompt information. This enables users to modify aspects of the prompt such as its content, metadata, or any other relevant properties. Upon successful execution, the endpoint responds with the updated prompt object in JSON format, providing confirmation of the changes made. In case the specified prompt or topic is not found, the endpoint returns an appropriate error response (404 for prompt not found, 500 for other errors), ensuring transparent communication and accurate handling of requests.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Prompt'
      responses:
        '200':
          description: Prompt
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/Prompt'
        '404':
          description: Prompt not found
        '500':
          description: Error getting prompt
    delete:
      parameters:
      - in: path
        name: topicId
        schema:
          type: string
        required: true
      - in: path
        name: promptId
        schema:
          type: string
        required: true
      tags:
      - Topics
      description: Deletes a Prompt
      summary: Remove a specific prompt associated with a particular topic. To utilize this endpoint, users send a DELETE request with the relevant topicId and promptId parameters. Upon successful execution, the specified prompt is permanently deleted from the system. The API responds with a confirmation message indicating the successful deletion of the prompt. In the event that the requested prompt or topic is not found, appropriate error responses are returned (404 for prompt not found, 500 for other errors). This endpoint provides users with the capability to manage prompts effectively within their topics, ensuring streamlined content management within the Proompty platform.
      responses:
        '200':
          description: Confirmation
          content:
            application/json:
              schema:
                properties:
                  message:
                    type: string
                    example: Prompt deleted
        '404':
          description: Prompt not found
        '500':
          description: Error getting prompt
  /topics/{topicId}/prompts:
    get:
      parameters:
      - in: path
        name: topicId
        schema:
          type: string
        required: true
      tags:
      - Topics
      description: Retrieve all prompts for a topic
      summary: Retrieve a list of all prompts associated with a specific topic. Users can send a GET request to this endpoint with the relevant topicId parameter to access comprehensive information about each prompt within the specified topic. The API responds with an array of prompt objects in JSON format, containing details such as prompt content, creation dates, and any relevant metadata. This endpoint facilitates efficient management and retrieval of prompts within topics, allowing users to access and utilize prompts effectively in their interactions with the Proompty platform. In case the requested topic is not found, the endpoint returns an appropriate error response (404), ensuring clarity and accuracy in communication between users and the API.
      responses:
        '200':
          description: Prompts
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Prompt'
        '404':
          description: Topic not found
        '500':
          description: Error getting prompts
    post:
      parameters:
      - in: path
        name: topicId
        schema:
          type: string
        required: true
      tags:
      - Topics
      description: Create a prompt for a topic
      summary: Create a new prompts within a specified topic. Users can send a POST request to this endpoint, including the topicId parameter in the URL path and a JSON payload containing the details of the prompt to be created. This payload typically includes the prompt content, along with any relevant metadata. Upon successful execution, the API responds with the newly created prompt object in JSON format, confirming its addition to the specified topic. If there are any issues with the request, such as invalid input data or the specified topic not being found, the endpoint returns an appropriate error response (400 for bad request, 404 for topic not found), ensuring users receive accurate feedback regarding the status of their request. This endpoint offers users a straightforward method for adding prompts to topics, facilitating the efficient management and organization of content within the Proompty platform.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Prompt'
      responses:
        '200':
          description: Prompt
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Prompt'
        '400':
          description: Bad request
        '404':
          description: Topic not found
        '500':
          description: Error creating prompt
  /topics:
    get:
      tags:
      - Topics
      description: Get all topics
      summary: Retrieve all topics in the Proompty API. By sending a GET request to this endpoint, users can access a list of all topics available in the system. The API responds with an array of topic objects in JSON format, containing the relevant details. In case no topics are found, an appropriate error response is returned (404), ensuring users receive accurate feedback regarding the status of their request.
      parameters:
      - in: query
        name: include
        schema:
          type: string
        required: false
        description: 'Include additional data in the response. Possible values: chats.'
      responses:
        '200':
          description: Topic[]
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Topic'
        '404':
          description: Not found
    post:
      tags:
      - Topics
      description: Create a topic
      summary: Create a new topic in the Proompty API. By sending a POST request to this endpoint with the new topic object in the request body, users can create a new topic with the specified attributes. The API responds with the newly created topic object in JSON format, containing the relevant details. In case the maximum number of topics allowed on the user's plan is reached, an appropriate error response is returned (400), ensuring users receive accurate feedback regarding the status of their request.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Topic'
      responses:
        '200':
          description: Topic
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Topic'
        '400':
          description: Maximum topics reached
        '500':
          description: Internal server error
externalDocs:
  url: /api.yaml
  description: OpenAPI Specification