Beginning of the time window of the statistics value.
to
time
(rfc3339)
End of the time window of the statistics value.
data
optional
map<string>any
Data associate with the statistics value.
value
integer
The statistics value itself.
getKeys()
Returns various required public keys. Please note that you should have an independent verification mechanism for these keys and not blindly trust the ones provided by this API.
The Storage API stores encrypted settings for users and providers of immunization appointments. It is separate from the Appointments API for organizational reasons, so it can be run independently (although it is also possible to run both APIs together).
APIs
The Kibitz backend system consists of several services, each providing independent JSON-RPC APIs:
The following sections describe the methods offered by the APIs.
Appointments API
The Appointments API provides the essential functionality for appointment scheduling.
getStats()
Returns various public statistics related to the system.
Parameter
getStats
id
ID of the statistics to return.
type
Time window type of the statistics to return.
name
^[\w\d\-]{0,50}$
)Optional name of the statistics to return.
metric
^[\w\d\-]{0,50}$
)Optional sub-metric to return.
filter
Optional additional filter criteria to apply.
from
Earliest date for which to return statistics. Only applicable if 'n' is not set.
to
Latest date for which to return statistics. Only applicable if 'n' is not set.
n
Maximum number of statistics values to return.
Return type
Related forms
statsValue
name
Name of the statistics value.
from
Beginning of the time window of the statistics value.
to
End of the time window of the statistics value.
data
Data associate with the statistics value.
value
The statistics value itself.
getKeys()
Returns various required public keys. Please note that you should have an independent verification mechanism for these keys and not blindly trust the ones provided by this API.
Parameter
getKeys
This form has no fields.
Return type
Related forms
keys
providerData
Public provider data key.
rootKey
Public root key.
tokenKey
Public token key.
getAppointmentsByZipCode()
Returns available appointments for a given zip code area.
Parameter
getAppointmentsByZipCode
radius
The radius around the given zip code for which to show appointments.
zipCode
The zip code to use as the user location.
from
The earliest date of appointments to return.
to
The latest date of appointments to return.
aggregate
Whether to return aggregate data instead of actual appointments.
Return type
Related forms
appointmentData
timestamp
A timestamp.
duration
Duration of the appointment.
properties
Properties of the appointment.
publicKey
An ECDSA or ECDH public key.
id
An ID.
slotData
Appointment slots.
appointmentProperties
vaccine
The vaccine type used.
booking
id
An ID.
publicKey
An ECDSA or ECDH public key.
token
The token used for this booking.
encryptedData
Encrypted data for the provider.
ecdhEncryptedData
iv
IV value associated with the encrypted data.
data
The encrypted data.
publicKey
An ECDSA or ECDH public key.
providerAppointments
provider
Signed public provider data.
appointments
Appointments offered by the provider.
providerData
name
Name of the provider.
street
Street address of the provider.
city
City of the provider.
zipCode
Zip code of the provider.
signedAppointment
data
A JSON data field.
signature
An ECDSA signature.
publicKey
An ECDSA or ECDH public key.
updatedAt
Time the appointment has last been updated.
bookedSlots
Booked slots associated with the appointment (visible to users).
bookings
Bookings associated with the appointment (only visible to providers).
signedProviderData
data
A JSON data field.
signature
An ECDSA signature.
publicKey
An ECDSA or ECDH public key.
id
An ID.
slot
id
An ID.
getAppointment()
Returns details about a specific appointment.
Parameter
getAppointment
id
An ID.
providerID
A provider ID.
Return type
getToken()
Returns a signed token that allows users to book appointments.
Parameter
getToken
hash
The user-generated hash to store with the token.
code
The optional signup code to use.
publicKey
An ECDSA or ECDH public key.
Return type
Related forms
priorityToken
n
[no translation for language en and key api.appointments.forms.priorityToken.fields.n]
signedTokenData
data
A JSON data field.
signature
An ECDSA signature.
publicKey
An ECDSA or ECDH public key.
tokenData
hash
The user-generated hash belonging to the token.
token
The server-generated token.
publicKey
An ECDSA or ECDH public key.
data
Optional data associated with the token.
addMediatorPublicKeys()
Adds the public key data and associated information of a mediator to the system.
Parameter
addMediatorPublicKeys
data
A JSON data field.
signature
An ECDSA signature.
publicKey
An ECDSA or ECDH public key.
Return type
Related forms
addMediatorPublicKeysData
signedKeyData
Signed mediator key data.
timestamp
A timestamp.
mediatorKeyData
signing
Public signing key of the mediator.
encryption
Public encryption key of the mediator.
mediatorSignedKeyData
data
A JSON data field.
signature
An ECDSA signature.
publicKey
An ECDSA or ECDH public key.
addCodes()
Adds signup codes to the system.
Parameter
addCodes
data
A JSON data field.
signature
An ECDSA signature.
publicKey
An ECDSA or ECDH public key.
Return type
Related forms
codesData
timestamp
A timestamp.
actor
The actor for which to store signup codes.
codes
The signup codes to store.
uploadDistances()
Uploads distance information to the system.
Parameter
uploadDistances
data
A JSON data field.
signature
An ECDSA signature.
publicKey
An ECDSA or ECDH public key.
Return type
Related forms
distance
from
The origin.
to
The destination.
distance
The distance between origin and destination.
distancesData
timestamp
A timestamp.
type
The type of distance information to store.
distances
The distances to store.
resetDB()
Resets the database. This endpoint is only active for test deployments.
Parameter
resetDB
data
A JSON data field.
signature
An ECDSA signature.
publicKey
An ECDSA or ECDH public key.
Return type
Related forms
resetDBData
timestamp
A timestamp.
confirmProvider()
Confirms a provider by adding its public key data and associated information to the system.
Parameter
confirmProvider
data
A JSON data field.
signature
An ECDSA signature.
publicKey
An ECDSA or ECDH public key.
Return type
Related forms
confirmProviderData
timestamp
A timestamp.
confirmedProviderData
Confirmed provider data for review by the provider.
publicProviderData
Publicly visible provider data.
signedKeyData
Publicly visible signed key data.
confirmedProviderData
data
A JSON data field.
signature
An ECDSA signature.
publicKey
An ECDSA or ECDH public key.
providerKeyData
signing
Public signing key of the provider.
encryption
Public encryption key of the provider.
queueData
Public information of the provider.
providerQueueData
zipCode
Zip code of the provider.
accessible
Whether the provider location is accessible.
providerSignedKeyData
data
A JSON data field.
signature
An ECDSA signature.
publicKey
An ECDSA or ECDH public key.
getPendingProviderData()
Returns a list of provider data waiting for confirmation.
Parameter
getPendingProviderData
data
A JSON data field.
signature
An ECDSA signature.
publicKey
An ECDSA or ECDH public key.
Return type
Related forms
getPendingProviderDataData
timestamp
A timestamp.
limit
Number of entries to return at most.
rawProviderData
encryptedData
Encrypted data submitted by the provider.
getVerifiedProviderData()
Returns a list of confirmed provider data.
Parameter
getVerifiedProviderData
data
A JSON data field.
signature
An ECDSA signature.
publicKey
An ECDSA or ECDH public key.
Return type
Related forms
getVerifiedProviderDataData
timestamp
A timestamp.
limit
Number of entries to return at most.
getProviderAppointments()
Returns a list of appointments for the given provider.
Parameter
getProviderAppointments
data
A JSON data field.
signature
An ECDSA signature.
publicKey
An ECDSA or ECDH public key.
Return type
Related forms
getProviderAppointmentsData
timestamp
A timestamp.
from
The earliest date of appointments to return.
to
The latest date of appointments to return.
updatedSince
The minimum 'updatedAt' value of appointments to return.
publishAppointments()
Publishes new or modified appointments to the system.
Parameter
publishAppointments
data
A JSON data field.
signature
An ECDSA signature.
publicKey
An ECDSA or ECDH public key.
Return type
Related forms
publishAppointmentsData
timestamp
A timestamp.
appointments
The appointments to publish.
storeProviderData()
Stores provider data for verification.
Parameter
storeProviderData
data
A JSON data field.
signature
An ECDSA signature.
publicKey
An ECDSA or ECDH public key.
Return type
Related forms
storeProviderDataData
timestamp
A timestamp.
code
Optional signup code.
encryptedData
Encrypted data for mediators to review.
checkProviderData()
Checks the verification status of provider data.
Parameter
checkProviderData
data
A JSON data field.
signature
An ECDSA signature.
publicKey
An ECDSA or ECDH public key.
Return type
Related forms
checkProviderDataData
timestamp
A timestamp.
bookAppointment()
Books an appointment.
Parameter
bookAppointment
data
A JSON data field.
signature
An ECDSA signature.
publicKey
An ECDSA or ECDH public key.
Return type
Related forms
bookAppointmentData
providerID
A provider ID.
id
An ID.
timestamp
A timestamp.
signedTokenData
Signed token data of the user.
encryptedData
Encrypted data for the provider.
cancelAppointment()
Cancels a booking.
Parameter
cancelAppointment
data
A JSON data field.
signature
An ECDSA signature.
publicKey
An ECDSA or ECDH public key.
Return type
Related forms
cancelAppointmentData
id
An ID.
providerID
A provider ID.
timestamp
A timestamp.
signedTokenData
Signed token data of the user.
Storage API
The Storage API stores encrypted settings for users and providers of immunization appointments. It is separate from the Appointments API for organizational reasons, so it can be run independently (although it is also possible to run both APIs together).
storeSettings()
Stores encrypted settings.
Parameter
storeSettings
id
ID under which to store settings.
data
Settings to store under the given ID.
Return type
getSettings()
Retrieves encrypted settings.
Parameter
getSettings
id
ID for which to retrieve settings.
Return type
deleteSettings()
Deletes encrypted settings.
Parameter
deleteSettings
id
ID for which to delete settings.
Return type
resetDB()
Resets the database. Only enabled for test deployments.
Parameter
resetDB
data
A JSON data field.
signature
An ECDSA signature.
publicKey
An ECDSA or ECDH public key.
Return type
Related forms
resetDBData
timestamp
A timestamp.