Max 100

For requests or help with our API
Post Reply
PBECKER
Posts: 125
Joined: Mon Jan 03, 2022 11:54 am

Max 100

Post by PBECKER » Wed Jul 13, 2022 6:17 am

Jordan or API Team,

is the max record to pull 100? we have tried to pull more by setting a value of 1000 but it still only returns 100 records

https://api.opendental.com/api/v1/repor ... 2022-07-13

We're using the below new API reports Aging but need to pull the entire results and not just 100 records
https://api.opendental.com/api/v1/reports/Aging

SLeon
Posts: 553
Joined: Mon Mar 01, 2021 10:00 am

Re: Max 100

Post by SLeon » Wed Jul 13, 2022 7:59 am

The number of elements returned for an API request is determined by the Limit parameter. The default and maximum value for the Remote API is 100 elements and is 1000 elements for the Local and Service API modes.

The API supports paging and you can use the Offset parameter to specify where in the result set to apply the Limit. Consider the following scenario:
  • I request ".../reports/Aging?DateAsOf=2020-07-30" and receive 100 elements. I assume that there are more results than that.
  • I request ".../reports/Aging?DateAsOf=2020-07-30&Offset=100" and receive the next 100 elements.
  • I request ".../reports/Aging?DateAsOf=2020-07-30&Offset=200" and receive the next 37 elements. I now have the full list.
Pagination is supported for all API methods that return a list of elements. Please see the Pagination section of our API Implementation page for more information.

PBECKER
Posts: 125
Joined: Mon Jan 03, 2022 11:54 am

Re: Max 100

Post by PBECKER » Wed Jul 13, 2022 8:05 am

Thank you Sarah!

PBECKER
Posts: 125
Joined: Mon Jan 03, 2022 11:54 am

Re: Max 100

Post by PBECKER » Thu Jul 14, 2022 7:21 am

Hello Sarah, Happy Thursday,

Here is our latest feedback on this item:

1) we would like to request an increase for the limit to 1000-1500 for this specific endpoint call > https://api.opendental.com/api/v1/reports/Aging

2) where can we get results according to clinics? with below API link, returns for the entire database. How can we pull by Clinic?

https://api.opendental.com/api/v1/reports/Aging
https://api.opendental.com/api/v1/repor ... 2022-07-13
we need the ability to send the clinic number if any in this url.

Thank you Sarah

SLeon
Posts: 553
Joined: Mon Mar 01, 2021 10:00 am

Re: Max 100

Post by SLeon » Thu Jul 14, 2022 8:14 am

1) I am sorry, let me clarify. You can already use the /reports/Aging endpoint to get 1000 results at a time when you use the Local or Service API (which runs on customers machines).

2) We will happily add the ability to filter the Aging report by ClinicNum. I have added this to our development list.

PBECKER
Posts: 125
Joined: Mon Jan 03, 2022 11:54 am

Re: Max 100

Post by PBECKER » Thu Jul 14, 2022 8:17 am

Sarah

Thank you friend, any timeline on when we can expect the ability to do a GET by clinics?

#Thank4Rockin!

SLeon
Posts: 553
Joined: Mon Mar 01, 2021 10:00 am

Re: Max 100

Post by SLeon » Thu Jul 14, 2022 8:21 am

There are a couple items on our development list in front of your request, however I would estimate that this will be completed in the next week or so.

PBECKER
Posts: 125
Joined: Mon Jan 03, 2022 11:54 am

Re: Max 100

Post by PBECKER » Thu Jul 14, 2022 8:25 am

Yall are crushin it Thank you Sarah!

SLeon
Posts: 553
Joined: Mon Mar 01, 2021 10:00 am

Re: Max 100

Post by SLeon » Thu Jul 21, 2022 8:12 am

This feature request is complete. The Reports GET Aging method can now optionally filter results by ClinicNum (if clinics are enabled for the dental office).

This feature is available now in our latest beta version, 22.2.21. For more information please see https://www.opendental.com/site/apireports.html.

PBECKER
Posts: 125
Joined: Mon Jan 03, 2022 11:54 am

Re: Max 100

Post by PBECKER » Thu Jul 21, 2022 8:41 am

Love it!

As always, Thank you!

PBECKER
Posts: 125
Joined: Mon Jan 03, 2022 11:54 am

Re: Max 100

Post by PBECKER » Mon Aug 01, 2022 7:57 am

API Team,

We're still unable to do a get with 1000. Everythign we have tried it continues to return 100 records.

When we use the End URL (example): https://api.opendental.com/api/v1/repor ... linicNum=5 on the local machine

we get only 100 records even if the offset is 1000.

Question ? To do a get and get 1000 instead of 100 should we be using a different End URL for the local or service API?

Using Postman
End URL: https://api.opendental.com/api/v1/repor ... linicNum=5
but still, we were getting max 100 records. instead of 1000

help us, thank you

justine
Posts: 226
Joined: Tue Dec 28, 2021 7:59 am

Re: Max 100

Post by justine » Mon Aug 01, 2022 8:24 am

PBECKER wrote:
Mon Aug 01, 2022 7:57 am
API Team,

We're still unable to do a get with 1000. Everythign we have tried it continues to return 100 records.

When we use the End URL (example): https://api.opendental.com/api/v1/repor ... linicNum=5 on the local machine

we get only 100 records even if the offset is 1000.

Question ? To do a get and get 1000 instead of 100 should we be using a different End URL for the local or service API?

Using Postman
End URL: https://api.opendental.com/api/v1/repor ... linicNum=5
but still, we were getting max 100 records. instead of 1000

help us, thank you
Good morning PBECKER,

To return 1000 records, using the local API, you are going to want to use port 30222. Please see our local API documentation:
https://www.opendental.com/site/apilocal.html

Your end URL would look something like:

Code: Select all

http://localhost:30222/api/v1/reports/Aging?Offset=1000&DateAsOf=2022-07-13&ClinicNum=5

PBECKER
Posts: 125
Joined: Mon Jan 03, 2022 11:54 am

Re: Max 100

Post by PBECKER » Mon Aug 01, 2022 8:34 am

oK this is now making more sense.

Is there any reason why this has to be run with a different port and as localhost? Instead of the same Open Dental public API endpoints?

We've been a big adopted of the OD API and this is the first we have seen this new method using a port # and localhost.
Last edited by PBECKER on Tue Aug 02, 2022 5:34 pm, edited 2 times in total.

justine
Posts: 226
Joined: Tue Dec 28, 2021 7:59 am

Re: Max 100

Post by justine » Mon Aug 01, 2022 9:05 am

PBECKER wrote:
Mon Aug 01, 2022 8:34 am
oK this is now making more sense.

Is there any reason why this has to be run with a different port and as localhost? Instead of the same Open Dental public API endpoints?

We've been a big adopted of the OD API and this is the first we have seen this new method using a port # and localhost.
Local (and Service) API operate solely on the customer's network, which greatly increases overall speed. Local API calls do not have to travel through Open Dental servers and as a result, will not be throttled.

Using the customer's localhost and port 30222 (30223 for Service) authenticates the above feature set.

For reference, here's the post where Jordan announced the development of the local API:
http://opendentalsoft.com/forum/viewtop ... f=9&t=7688

PBECKER
Posts: 125
Joined: Mon Jan 03, 2022 11:54 am

Re: Max 100

Post by PBECKER » Tue Aug 02, 2022 5:33 pm

Hello API Team,

We have attempted to run this locally on the actual open dental server and we're receiving the following error message.

Error Message: Error: Connect ECONNREFUSED 127.0.0.1:30222

Please note we also turned off the firewall on the server to ensure no ports are being blocked.

Do you have any ideas on why were receiving the above/attached screenshot error message?
Attachments
connrefused.png
connrefused.png (248.05 KiB) Viewed 7867 times

SLeon
Posts: 553
Joined: Mon Mar 01, 2021 10:00 am

Re: Max 100

Post by SLeon » Wed Aug 03, 2022 8:11 am

To use the Local API, please follow the steps listed on https://www.opendental.com/site/apilocal.html.

I suspect that an instance of Open Dental is not running on the machine. I was able to replicate your exact error message when I closed my instance of Open Dental. Try launching Open Dental and send your API request again.

I noticed that you mentioned that you are trying to make API calls on "the Open Dental server". The Local API and the API Service are two different modes of our API that can suit different needs. If you are designing an application that is meant to run on a single workstation, you will want to use the Local API as it can only listen for localhost requests. If you are instead designing software that is meant to be centrally located and hit by many workstations you will want to use the API Service, as it listens for localhost and in-network API requests.

The above page goes into more detail of these two API modes, and how the different from the original Remote API endpoints (api.opendental.com/api/v1).

PBECKER
Posts: 125
Joined: Mon Jan 03, 2022 11:54 am

Re: Max 100

Post by PBECKER » Thu Aug 04, 2022 7:25 am

API

We got this to work on the open dental server and did receive the results.

As we're looking to continue to build out our APIs calls with open dental, using of local host instead of the public open dental end points we would like to request that this functionality please be added to reports uri. Architecturally this is a really big deal for us as then we would be reliant on having to make firewall polices on possibly thousands of servers.

Please let us know. In summary, we would prefer to not have to use localhost as its not scalable.

SLeon
Posts: 553
Joined: Mon Mar 01, 2021 10:00 am

Re: Max 100

Post by SLeon » Thu Aug 04, 2022 8:19 am

I am glad you got the Local API up and running. One of the benefits of the Local API is that you do not need to open a firewall because it is a localhost request. This is in addition to the greatly increased speed, not requiring continuous internet connection, and absolutely zero set up besides launching Open Dental.

Only the API Service requires changes to firewall settings, as it can accept non-localhost requests (like http://10.10.xx.xxx:30223/api/v1/...). It is installed on the same server that the eConnector lives on and shares the benefits of greatly increased speed and not requiring a continuous internet connection. Installation is easy and is done automatically when updating Open Dental versions 22.2.16 and later. We expect most developers to prefer using the API Service Mode.

Because requests in these two modes of the API do not constantly travel to Open Dental servers and back, we increased the Limit from the 100 used in the Remote API to 1000. Increasing the Limit for the remote API has been brought up before, but we will discuss the pros and cons of it again.

Post Reply