API Documentation

Introduction

The MyDentist.AI API is powered by Logy.AI, it lets you get AI powered dental screening results within a few seconds. A simple HTTP request allows you to interact with the system. This API can easily be integrated into your application with just about any programming language.

We use RESTful API for all communication between your application and our servers. Most of the requests are served in the form of a JSON response with a status code and a human-readable response.


Status Code:

Serial Number Status Code Meaning
1 0 Success
2 1,2,3,4,5 Request Aborted

Prerequisites

API endpoint: api_endpoint

The API endpoint is the location where you send your requests for availing services provided by MyDentist.AI.

Secret Key: secret_key

Secret Key is a unique and confidential key generated for you to enable us to identify the source of the request. Please keep this secret key in a safe place and in trusted hands. This is one of the primary pieces of information used to keep track of the number of requests your make.

General knowledge pertaining to making HTTP requests is essential to effectively communicate with the API endpoint provided here.

Get started

We will be showcasing the use of a simple curl command to interact with our services. For generating a secret key and getting to know the API endpoint for your business, please contact humans@logy.ai. Always send only one image at a time. There should be a minimum gap of 60 seconds in between consecutive request made by one user to the server. POST request method should be used while making all the requests. A simple curl command is provided here to get you started, "test.jpg" is an example image to be analysed for dental abnormalities.

Example Report:
PDF Response

To get a PDF response, use the curl command provided here. More number of parameters need to be provided to get the consolidated report. The call to this API endpoint if successful will return a PDF document with no status code. In case of abortion of request, the behaviour stated in the previous section will prevail with JSON response containing a status code and a human-readable response.

Description of the parameters and ideal responses suggested by us.

  • name: Name of the individual being screened. (Idea option: Alphabets+space)
  • age: Age of the individual being screened. (Idea option: Only Number)
  • gender: gender of teh individual being screened. (Idea options: Female/Male/Prefer not to say)
  • tobacco_habits: tobacco habits of the individual being screened. (Idea options: Yes/No)
  • brushing_habits: brushing habits of the individual being screened. (Idea options: Once daily/Twice daily/ More than twice daily)
  • dental_visit: Number of visits the individual being screened makes to a dental clinic. (Idea options: Every 3 months/ Every 6 months/ Once a year/As per need)
Our service doesn't perform sanity check for the validity of the parameter values, the developers are requested to perform these checks before engendering a request.

Command:
curl -F image=@test.jpg -F secret_key=" secret_key" -F name="test" "api_endpoint" -F age=22 -F gender="Male" -F tobacco_habits="No" -F "brushing_habits"="Once Daily" -F dental_visit="As per need" --output "Logy.AI-report.pdf"
                                              
curl -F image=@test.jpg -F secret_key=" secret_key" -F name="test" "api_endpoint" -F age=22 -F gender="Male" -F tobacco_habits="No" -F "brushing_habits"="Once Daily" -F dental_visit="As per need" --output "test.pdf"
                      
import requests

payload = {
    'image' : open('test.jpg','rb'),
    
    }
data = {
    'name':'test',
    'secret_key':' secret_key',
    'age': 22,
    "gender": "Male",
    "tobacco_habits" : "No",
    "brushing_habits": "Once_daily",
    "dental_visit" : "As per need"
}

response = requests.post('api_endpoint',files=payload, data=data)
open("Logy.AI-report.pdf",'wb').write(response.content)
                        
                        
Request Aborted:

If the status is non-zero, then the request was not successful. The response contains a human-readable comment that specifies the reason for the abortion of request.


For any queries, feel free to reach out to us at humans@logy.ai.

Response for Aborted Request:
{
    "status": 2, 
    "response": "Request aborted. 
    API Key doesn't exist in our database, contact 
    humans@logy.ai to know more."
}