429
status code with the following response body:
X-RateLimit-Limit
:The maximum number of requests you’re permitted to make per minute for the requested API.X-RateLimit-Remaining
: The number of requests remaining in the current rate limit window.X-RateLimit-Reset
: The time at which the current rate limit window resets in UTC epoch seconds.Retry-After
: The number of seconds to wait until you can send another request. This will be 0 in all cases except when you get a 429
status code.source_id
for any api with a source_id
query parameter, such as:
We support creation of resources with a source_id
for any api with a source_id
field in the request body, such as:
When searching by source ids, you can search for resources without a source_id by passing in null
for the source_id
query parameter.
Idempotency-Key
header.
source_id
in the request body. If you create another resource with the same source_id
, we will update the existing resource with the new data.
If the resource does not exist, we will create a new resource. These APIs are useful if you don’t want to worry about storing
Silna resource ids in your system.
If you want to use these APIs and you already have patient data in Silna (say you onboarded to the web app first),
then we will need to backfill all source_ids
/ehr ids
for your providers, provider service locations, patients, and patient plans (basically every resource that you want to use the PUT APIs for).
source_id
, provider_name/service_location_name
source_id
, first_name
, last_name
, dob
source_id
, patient_source_id
, plan_order_number
, member_id
.
Here, the plan_order_number will be 1 if the primary plan, 2 if the secondary plan, etc.Idempotency-Key
header, you can pass a unique key for each request (up to 255 characters).
If you make the same request with the same Idempotency-Key
, we will return the same response as the first request.
This is useful for scenarios where you want to ensure that a request is only processed once. It’s important to note the following caveats with idempotency keys:
400
: Bad Request401
: Unauthorized404
: Not Found413
: Request Entity Too Large429
: Rate Limit Exceededending_before
, starting_after
and limit
to iterate through the data. The valid values for limit
are between 1 and 100.
ending_before
is an object ID that defines your place in the list. For instance, if you make a request to a paginated api and receive 100 objects, starting with obj_bar
, your subsequent call can include ending_before=obj_bar.id
in order to fetch the previous page of the list.
starting_after
is an object ID that defines your place in the list. For instance, if you make a request to a paginated api and receive 100 objects, ending with obj_foo
, your subsequent call can include starting_after=obj_foo.id
in order to fetch the next page of the list.
has_more
field which will be true
if there are more objects to fetch. There are also last_id
and first_id
fields which will be the object ID of the last and first object in the list respectively.
All the objects will be in the records
field.
source_ids
(if using PUT APIs)