gateway-staging.primary.health
Open in
urlscan Pro
52.21.172.55
Public Scan
URL:
https://gateway-staging.primary.health/
Submission: On August 15 via automatic, source certstream-suspicious — Scanned from DE
Submission: On August 15 via automatic, source certstream-suspicious — Scanned from DE
Form analysis
0 forms found in the DOMText Content
Timetable Documentation * Bookings * postCreate Appointments * putUpdate Appointments * delDelete Appointments * putReschedule Appointment * getAvailabilties for Location * getQuery Locations * postCreate Registration * getView Registration * putUpdate Registration Metadata * postE-Mail Registration Edit/Cancel Link * postCreate Reservation * delDelete Reservation * GeoLocation * getAddress Autocomplete * getAddress Detail * Information Queries * getService Rules * getServices * getService Brands * getService Kinds * Subscriptions * postCreate Subscription API docs by Redocly TIMETABLE API V1 (V1) Download OpenAPI specification:Download Client library to interface with Primary Timetable BOOKINGS CREATE APPOINTMENTS AUTHORIZATIONS: x_api_key REQUEST BODY SCHEMA: APPLICATION/JSON registrationId integer or null This is an optional parameter that allows referencing a registration and its associated metadata. email string or null phoneNumber string or null appointments required Array of objects RESPONSES 200 sucessful 400 bad request post/api/v1/appointments/batch_create Production https://timetable.primary.health/api/v1/appointments/batch_create Staging https://timetable-staging.primary.health/api/v1/appointments/batch_create Review https://timetable-review-b68ab8ee2a67.herokuapp.com/api/v1/appointments/batch_create REQUEST SAMPLES * Payload Content type application/json Example Request example for Rite AidRequest example for KrogerRequest example for Rite Aid Copy Expand all Collapse all { * "appointments": [ * { * "user": { * "firstName": "John", * "middleName": "", * "lastName": "Doe", * "dateOfBirth": "2001-01-01", * "address_1": "101 Rainbow Road", * "city": "San Francisco", * "state": "CA", * "zip_code": "95014", * "phone_number": "8005551223", * "email": "primary@primary.health", * "sex": "female" }, * "time_slot_id": "bff27018-af5f-4aa3-83ae-e5448faa1064", * "services": [ * { * "brand": "pfizer", * "kind": "covid_19" } ], * "metadata": { * "consent_signature": "iVBORw0KGgoAAAANaA..." } } ] } RESPONSE SAMPLES * 200 * 400 Content type application/json Copy Expand all Collapse all { * "registration": { * "accessCode": "8625D3ACB4", * "metadata": { }, * "appointments": [ * { * "id": 1, * "time": "2023-01-01T12:00:00-07:00", * "user": { * "id": 1, * "firstName": "John" }, * "location": { * "latitude": "33.7583", * "longitude": "-118.1121", * "id": 1, * "address1": "460 Michale Locks", * "name": "Vitality Wellness Center", * "address2": "string", * "city": "Sacramento", * "distanceTo": "2.12", * "state": "CA", * "timeZone": "America/New_York", * "zipCode": "07712", * "bookable": true, * "supportsWalkIn": true, * "metadata": { * "open_hours": [ * { * "day": "mon", * "end_time": "11:00 pm", * "open_hours": 16, * "start_time": "07:00 am" } ], * "web_address": "https://www.example.com", * "phone_number": "5555555555" }, * "locationType": { * "retailer": "kroger" } }, * "services": [ * { * "name": "COVID-19 Booster", * "id": 1, * "brand": "pfizer", * "kind": "covid_19", * "patientCategory": "adult", * "immunocompromised": true } ], * "externalId": "e7a9cac2-7722-ee11-9cbe-00224808109a", * "externalUrl": "https://www.safeway.com/vaccinations/reschedule-cancel/step-c1/e7a9cac2-7722-ee11-9cbe-00224808109a" } ] } } UPDATE APPOINTMENTS AUTHORIZATIONS: x_api_key PATH PARAMETERS access_code required string Example: 8625D3ACB4 Registration access code QUERY PARAMETERS token required string Example: token=eyJhbGciOiJIUzI1NiJ9.eyJkYXRhIjp7InJlZ2lzdHJhdGlvbl9pZCI6MSwic2NvcGUiOiJzaG93In0sImV4cCI6MTY5MDMyMTQwOX0.ala3aADJ9EAmtFvAuy1cBj6e2Ermx0AGk4jtNrj6kLE JWT REQUEST BODY SCHEMA: APPLICATION/JSON appointments required Array of objects RESPONSES 200 sucessful 404 Not found 409 bad request put/api/v1/registrations/{access_code}/appointments/batch_update Production https://timetable.primary.health/api/v1/registrations/{access_code}/appointments/batch_update Staging https://timetable-staging.primary.health/api/v1/registrations/{access_code}/appointments/batch_update Review https://timetable-review-b68ab8ee2a67.herokuapp.com/api/v1/registrations/{access_code}/appointments/batch_update REQUEST SAMPLES * Payload Content type application/json Copy Expand all Collapse all { * "appointments": [ * { * "id": 1, * "locationId": 1, * "time": "2023-01-01T12:00:00-07:00" } ] } RESPONSE SAMPLES * 200 * 404 * 409 Content type application/json Copy Expand all Collapse all { * "registration": { * "accessCode": "8625D3ACB4", * "metadata": { }, * "appointments": [ * { * "id": 1, * "time": "2023-01-01T12:00:00-07:00", * "user": { * "id": 1, * "firstName": "John" }, * "location": { * "latitude": "33.7583", * "longitude": "-118.1121", * "id": 1, * "address1": "460 Michale Locks", * "name": "Vitality Wellness Center", * "address2": "string", * "city": "Sacramento", * "distanceTo": "2.12", * "state": "CA", * "timeZone": "America/New_York", * "zipCode": "07712", * "bookable": true, * "supportsWalkIn": true, * "metadata": { * "open_hours": [ * { * "day": "mon", * "end_time": "11:00 pm", * "open_hours": 16, * "start_time": "07:00 am" } ], * "web_address": "https://www.example.com", * "phone_number": "5555555555" }, * "locationType": { * "retailer": "kroger" } }, * "services": [ * { * "name": "COVID-19 Booster", * "id": 1, * "brand": "pfizer", * "kind": "covid_19", * "patientCategory": "adult", * "immunocompromised": true } ], * "externalId": "e7a9cac2-7722-ee11-9cbe-00224808109a", * "externalUrl": "https://www.safeway.com/vaccinations/reschedule-cancel/step-c1/e7a9cac2-7722-ee11-9cbe-00224808109a" } ] } } DELETE APPOINTMENTS AUTHORIZATIONS: x_api_key PATH PARAMETERS access_code required string Example: 8625D3ACB4 Registration access code QUERY PARAMETERS token required string Example: token=eyJhbGciOiJIUzI1NiJ9.eyJkYXRhIjp7InJlZ2lzdHJhdGlvbl9pZCI6MSwic2NvcGUiOiJzaG93In0sImV4cCI6MTY5MDMyMTQwOX0.ala3aADJ9EAmtFvAuy1cBj6e2Ermx0AGk4jtNrj6kLE JWT REQUEST BODY SCHEMA: APPLICATION/JSON appointmentIds Array of integers RESPONSES 200 sucessful 404 Not found delete/api/v1/registrations/{access_code}/appointments/batch_destroy Production https://timetable.primary.health/api/v1/registrations/{access_code}/appointments/batch_destroy Staging https://timetable-staging.primary.health/api/v1/registrations/{access_code}/appointments/batch_destroy Review https://timetable-review-b68ab8ee2a67.herokuapp.com/api/v1/registrations/{access_code}/appointments/batch_destroy REQUEST SAMPLES * Payload Content type application/json Copy Expand all Collapse all { * "appointmentIds": [ * 1 ] } RESPONSE SAMPLES * 200 * 404 Content type application/json Copy { * "message": "Successfully deleted Appointment" } RESCHEDULE APPOINTMENT AUTHORIZATIONS: x_api_key PATH PARAMETERS access_code required string Example: 8625D3ACB4 Registration access code appointment_id required integer Example: 1 Appointment id QUERY PARAMETERS token required string Example: token=eyJhbGciOiJIUzI1NiJ9.eyJkYXRhIjp7InJlZ2lzdHJhdGlvbl9pZCI6MSwic2NvcGUiOiJzaG93In0sImV4cCI6MTY5MDMyMTQwOX0.ala3aADJ9EAmtFvAuy1cBj6e2Ermx0AGk4jtNrj6kLE JWT REQUEST BODY SCHEMA: APPLICATION/JSON registration object RESPONSES 200 sucessful 404 Not found 409 bad request put/api/v1/registrations/{access_code}/appointments/{appointment_id}/reschedule Production https://timetable.primary.health/api/v1/registrations/{access_code}/appointments/{appointment_id}/reschedule Staging https://timetable-staging.primary.health/api/v1/registrations/{access_code}/appointments/{appointment_id}/reschedule Review https://timetable-review-b68ab8ee2a67.herokuapp.com/api/v1/registrations/{access_code}/appointments/{appointment_id}/reschedule REQUEST SAMPLES * Payload Content type application/json Copy Expand all Collapse all { * "registration": { * "locationId": 1, * "time": "2023-01-01T12:00:00-07:00" } } RESPONSE SAMPLES * 200 * 404 * 409 Content type application/json Copy Expand all Collapse all { * "id": 1, * "time": "2023-01-01T12:00:00-07:00", * "user": { * "id": 1, * "firstName": "John" }, * "location": { * "latitude": "33.7583", * "longitude": "-118.1121", * "id": 1, * "address1": "460 Michale Locks", * "name": "Vitality Wellness Center", * "address2": "string", * "city": "Sacramento", * "distanceTo": "2.12", * "state": "CA", * "timeZone": "America/New_York", * "zipCode": "07712", * "bookable": true, * "supportsWalkIn": true, * "metadata": { * "open_hours": [ * { * "day": "mon", * "end_time": "11:00 pm", * "open_hours": 16, * "start_time": "07:00 am" } ], * "web_address": "https://www.example.com", * "phone_number": "5555555555" }, * "locationType": { * "retailer": "kroger" } }, * "services": [ * { * "name": "COVID-19 Booster", * "id": 1, * "brand": "pfizer", * "kind": "covid_19", * "patientCategory": "adult", * "immunocompromised": true } ], * "externalId": "e7a9cac2-7722-ee11-9cbe-00224808109a", * "externalUrl": "https://www.safeway.com/vaccinations/reschedule-cancel/step-c1/e7a9cac2-7722-ee11-9cbe-00224808109a" } AVAILABILTIES FOR LOCATION AUTHORIZATIONS: x_api_key QUERY PARAMETERS locationIds[] Array of integers Example: locationIds[]=[1, 2] services[][brand] string Example: services[][brand]=pfizer services[][kind] string Example: services[][kind]=covid_19 date string Example: date=2023-08-14 startDate string Example: startDate=2023-08-14 If not provided, it will check the date param, or default to today's date endDate string Example: endDate=2023-08-20 If not provided, it will check the date param, or default to 7 days from today's date RESPONSES 200 successful 400 bad request get/api/v1/availabilities Production https://timetable.primary.health/api/v1/availabilities Staging https://timetable-staging.primary.health/api/v1/availabilities Review https://timetable-review-b68ab8ee2a67.herokuapp.com/api/v1/availabilities RESPONSE SAMPLES * 200 * 400 Content type application/json Copy Expand all Collapse all { * "locations": [ * { * "latitude": "33.7583", * "longitude": "-118.1121", * "id": 1, * "address1": "460 Michale Locks", * "name": "Vitality Wellness Center", * "address2": "string", * "city": "Sacramento", * "distanceTo": "2.12", * "state": "CA", * "timeZone": "America/New_York", * "zipCode": "07712", * "bookable": true, * "supportsWalkIn": true, * "metadata": { * "open_hours": [ * { * "day": "mon", * "end_time": "11:00 pm", * "open_hours": 16, * "start_time": "07:00 am" } ], * "web_address": "https://www.example.com", * "phone_number": "5555555555" }, * "timeSlots": [ * { * "id": "04c076f5-fdee-46f0-8205-2130900474ed", * "time": "2000-01-01T00:00:00-00:00" } ], * "locationType": { * "retailer": "kroger" } } ] } QUERY LOCATIONS AUTHORIZATIONS: x_api_key QUERY PARAMETERS latitude number Example: latitude=0.4645 longitude number Example: longitude=-0.4645 swCorner Array of integers Example: swCorner=36.12&swCorner=-97.9 neCorner Array of integers Example: neCorner=36.4&neCorner=-97.05 page number Example: page=1 is_precise_location boolean Example: is_precise_location=true bookable_only boolean Example: bookable_only=true If true, only return locations that are bookable services[][brand] string Example: services[][brand]=pfizer services[][kind] string Example: services[][kind]=covid_19 retailer string Enum: "unbookable" "fake" "cvs" "walgreens" "rite_aid" "albertsons" "kroger" Example: retailer=riteaid RESPONSES 200 Successful 400 Bad request get/api/v1/query Production https://timetable.primary.health/api/v1/query Staging https://timetable-staging.primary.health/api/v1/query Review https://timetable-review-b68ab8ee2a67.herokuapp.com/api/v1/query RESPONSE SAMPLES * 200 * 400 Content type application/json Copy Expand all Collapse all { * "locations": [ * { * "latitude": "33.7583", * "longitude": "-118.1121", * "id": 1, * "address1": "460 Michale Locks", * "name": "Vitality Wellness Center", * "address2": "string", * "city": "Sacramento", * "distanceTo": "2.12", * "state": "CA", * "timeZone": "America/New_York", * "zipCode": "07712", * "bookable": true, * "supportsWalkIn": true, * "metadata": { * "open_hours": [ * { * "day": "mon", * "end_time": "11:00 pm", * "open_hours": 16, * "start_time": "07:00 am" } ], * "web_address": "https://www.example.com", * "phone_number": "5555555555" }, * "locationType": { * "retailer": "kroger" } } ], * "nextUrl": "https://timetable.primary.health/api/v1/availabilities?latitude=0.4645&longitude=-0.32&page=2", * "previousUrl": "https://timetable.primary.health/api/v1/availabilities?latitude=0.4645&longitude=-0.32&page=1" } CREATE REGISTRATION Enable family registration by associating multiple appointments within a single registration, streamlining the process for scheduling and managing appointments for multiple family members. AUTHORIZATIONS: x_api_key RESPONSES 200 sucessful post/api/v1/registrations Production https://timetable.primary.health/api/v1/registrations Staging https://timetable-staging.primary.health/api/v1/registrations Review https://timetable-review-b68ab8ee2a67.herokuapp.com/api/v1/registrations RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "registration": { * "accessCode": "8625D3ACB4", * "metadata": { }, * "appointments": [ * { * "id": 1, * "time": "2023-01-01T12:00:00-07:00", * "user": { * "id": 1, * "firstName": "John" }, * "location": { * "latitude": "33.7583", * "longitude": "-118.1121", * "id": 1, * "address1": "460 Michale Locks", * "name": "Vitality Wellness Center", * "address2": "string", * "city": "Sacramento", * "distanceTo": "2.12", * "state": "CA", * "timeZone": "America/New_York", * "zipCode": "07712", * "bookable": true, * "supportsWalkIn": true, * "metadata": { * "open_hours": [ * { * "day": "mon", * "end_time": "11:00 pm", * "open_hours": 16, * "start_time": "07:00 am" } ], * "web_address": "https://www.example.com", * "phone_number": "5555555555" }, * "locationType": { * "retailer": "kroger" } }, * "services": [ * { * "name": "COVID-19 Booster", * "id": 1, * "brand": "pfizer", * "kind": "covid_19", * "patientCategory": "adult", * "immunocompromised": true } ], * "externalId": "e7a9cac2-7722-ee11-9cbe-00224808109a", * "externalUrl": "https://www.safeway.com/vaccinations/reschedule-cancel/step-c1/e7a9cac2-7722-ee11-9cbe-00224808109a" } ] } } VIEW REGISTRATION AUTHORIZATIONS: x_api_key PATH PARAMETERS access_code required string Example: 8625D3ACB4 Registration access code QUERY PARAMETERS token string Example: token=eyJhbGciOiJIUzI1NiJ9.eyJkYXRhIjp7InJlZ2lzdHJhdGlvbl9pZCI6MSwic2NvcGUiOiJzaG93In0sImV4cCI6MTY5MDMyMTQwOX0.ala3aADJ9EAmtFvAuy1cBj6e2Ermx0AGk4jtNrj6kLE JWT, Only needed if requesting PHI information RESPONSES 200 sucessful 404 Not found get/api/v1/registrations/{access_code} Production https://timetable.primary.health/api/v1/registrations/{access_code} Staging https://timetable-staging.primary.health/api/v1/registrations/{access_code} Review https://timetable-review-b68ab8ee2a67.herokuapp.com/api/v1/registrations/{access_code} RESPONSE SAMPLES * 200 * 404 Content type application/json Example Without token (No PHI)With token (PHI)Without token (No PHI) Copy Expand all Collapse all { * "registration": { * "accessCode": "5CE7759EDF", * "metadata": { }, * "appointments": [ * { * "id": 2365, * "time": "2023-07-31T21:00:40.135Z", * "externalId": "e7a9cac2-7722-ee11-9cbe-00224808109a", * "externalUrl": "https://www.safeway.com/vaccinations/reschedule-cancel/step-c1/e7a9cac2-7722-ee11-9cbe-00224808109a", * "user": { * "id": 2635, * "firstName": "Harlan" }, * "location": { * "id": 6831, * "latitude": "46.617168", * "longitude": "83.51284", * "address1": "136 Voncile Hollow", * "address2": null, * "city": "Lake Theoview", * "zipCode": "73558", * "state": "OH", * "name": "SAFEWAY", * "metadata": { * "open_hours": [ * { * "day": "mon", * "end_time": "11:00 pm", * "open_hours": 16, * "start_time": "07:00 am" }, * { * "day": "tue", * "end_time": "11:00 pm", * "open_hours": 16, * "start_time": "07:00 am" }, * { * "day": "wed", * "end_time": "11:00 pm", * "open_hours": 16, * "start_time": "07:00 am" }, * { * "day": "thu", * "end_time": "11:00 pm", * "open_hours": 16, * "start_time": "07:00 am" }, * { * "day": "fri", * "end_time": "12:00 am", * "open_hours": -7, * "start_time": "07:00 am" }, * { * "day": "sat", * "end_time": "12:00 am", * "open_hours": -7, * "start_time": "07:00 am" }, * { * "day": "sun", * "end_time": "11:00 pm", * "open_hours": 16, * "start_time": "07:00 am" } ], * "web_address": null, * "phone_number": null }, * "timeZone": "Pacific Time (US & Canada)", * "distanceTo": null, * "locationType": { * "retailer": "krogers" } }, * "services": [ ] } ] } } UPDATE REGISTRATION METADATA AUTHORIZATIONS: x_api_key PATH PARAMETERS access_code required string Example: 8625D3ACB4 Registration access code QUERY PARAMETERS token string Example: token=eyJhbGciOiJIUzI1NiJ9.eyJkYXRhIjp7InJlZ2lzdHJhdGlvbl9pZCI6MSwic2NvcGUiOiJzaG93In0sImV4cCI6MTY5MDMyMTQwOX0.ala3aADJ9EAmtFvAuy1cBj6e2Ermx0AGk4jtNrj6kLE JWT, Only needed if requesting PHI information REQUEST BODY SCHEMA: APPLICATION/JSON registration required object Registration with NO PHI data returned RESPONSES 200 sucessful 404 Not found put/api/v1/registrations/{access_code} Production https://timetable.primary.health/api/v1/registrations/{access_code} Staging https://timetable-staging.primary.health/api/v1/registrations/{access_code} Review https://timetable-review-b68ab8ee2a67.herokuapp.com/api/v1/registrations/{access_code} REQUEST SAMPLES * Payload Content type application/json Copy Expand all Collapse all { * "registration": { * "metadata": { }, * "appointments": [ * { * "time": "2023-01-01T12:00:00-07:00", * "user": { * "firstName": "John" }, * "location": { * "latitude": "33.7583", * "longitude": "-118.1121", * "address1": "460 Michale Locks", * "name": "Vitality Wellness Center", * "address2": "string", * "city": "Sacramento", * "distanceTo": "2.12", * "state": "CA", * "timeZone": "America/New_York", * "zipCode": "07712", * "bookable": true, * "supportsWalkIn": true, * "metadata": { * "open_hours": [ * { * "day": "mon", * "end_time": "11:00 pm", * "open_hours": 16, * "start_time": "07:00 am" } ], * "web_address": "https://www.example.com", * "phone_number": "5555555555" }, * "locationType": { * "retailer": "kroger" } }, * "services": [ * { * "name": "COVID-19 Booster", * "brand": "pfizer", * "kind": "covid_19", * "patientCategory": "adult", * "immunocompromised": true } ] } ] } } RESPONSE SAMPLES * 200 * 404 Content type application/json Copy Expand all Collapse all { * "registration": { * "accessCode": "8625D3ACB4", * "metadata": { }, * "appointments": [ * { * "id": 1, * "time": "2023-01-01T12:00:00-07:00", * "user": { * "id": 1, * "firstName": "John" }, * "location": { * "latitude": "33.7583", * "longitude": "-118.1121", * "id": 1, * "address1": "460 Michale Locks", * "name": "Vitality Wellness Center", * "address2": "string", * "city": "Sacramento", * "distanceTo": "2.12", * "state": "CA", * "timeZone": "America/New_York", * "zipCode": "07712", * "bookable": true, * "supportsWalkIn": true, * "metadata": { * "open_hours": [ * { * "day": "mon", * "end_time": "11:00 pm", * "open_hours": 16, * "start_time": "07:00 am" } ], * "web_address": "https://www.example.com", * "phone_number": "5555555555" }, * "locationType": { * "retailer": "kroger" } }, * "services": [ * { * "name": "COVID-19 Booster", * "id": 1, * "brand": "pfizer", * "kind": "covid_19", * "patientCategory": "adult", * "immunocompromised": true } ], * "externalId": "e7a9cac2-7722-ee11-9cbe-00224808109a", * "externalUrl": "https://www.safeway.com/vaccinations/reschedule-cancel/step-c1/e7a9cac2-7722-ee11-9cbe-00224808109a" } ] } } E-MAIL REGISTRATION EDIT/CANCEL LINK AUTHORIZATIONS: x_api_key PATH PARAMETERS access_code required string Example: 8625D3ACB4 Registration access code RESPONSES 204 sucessful 404 Not found post/api/v1/registrations/{access_code}/send_phi_link Production https://timetable.primary.health/api/v1/registrations/{access_code}/send_phi_link Staging https://timetable-staging.primary.health/api/v1/registrations/{access_code}/send_phi_link Review https://timetable-review-b68ab8ee2a67.herokuapp.com/api/v1/registrations/{access_code}/send_phi_link RESPONSE SAMPLES * 404 Content type application/json Copy { * "error": "Couldn't find Registration" } CREATE RESERVATION AUTHORIZATIONS: x_api_key REQUEST BODY SCHEMA: APPLICATION/JSON timeSlotId string RESPONSES 200 sucessful post/api/v1/reservations Production https://timetable.primary.health/api/v1/reservations Staging https://timetable-staging.primary.health/api/v1/reservations Review https://timetable-review-b68ab8ee2a67.herokuapp.com/api/v1/reservations REQUEST SAMPLES * Payload Content type application/json Copy { * "timeSlotId": "string" } RESPONSE SAMPLES * 200 Content type application/json Copy { * "id": "04c076f5-fdee-46f0-8205-2130900474ed", * "time": "2000-01-01T00:00:00-00:00" } DELETE RESERVATION AUTHORIZATIONS: x_api_key REQUEST BODY SCHEMA: APPLICATION/JSON timeSlotIds Array of strings RESPONSES 200 sucessful delete/api/v1/reservations Production https://timetable.primary.health/api/v1/reservations Staging https://timetable-staging.primary.health/api/v1/reservations Review https://timetable-review-b68ab8ee2a67.herokuapp.com/api/v1/reservations REQUEST SAMPLES * Payload Content type application/json Copy Expand all Collapse all { * "timeSlotIds": [ * 1 ] } RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "timeSlots": [ * { * "id": "04c076f5-fdee-46f0-8205-2130900474ed", * "time": "2000-01-01T00:00:00-00:00" } ] } GEOLOCATION ADDRESS AUTOCOMPLETE AUTHORIZATIONS: x_api_key QUERY PARAMETERS search required string Example: search=123%20example Searched Address RESPONSES 200 successful get/api/v1/geolocation/autocomplete Production https://timetable.primary.health/api/v1/geolocation/autocomplete Staging https://timetable-staging.primary.health/api/v1/geolocation/autocomplete Review https://timetable-review-b68ab8ee2a67.herokuapp.com/api/v1/geolocation/autocomplete RESPONSE SAMPLES * 200 Content type application/json Copy [ * "123 Example St, San Francisco, CA, USA", * "123 Example Ln, New York, NY, USA" ] ADDRESS DETAIL AUTHORIZATIONS: x_api_key QUERY PARAMETERS search required string Searched Address RESPONSES 200 successful get/api/v1/geolocation/address_detail Production https://timetable.primary.health/api/v1/geolocation/address_detail Staging https://timetable-staging.primary.health/api/v1/geolocation/address_detail Review https://timetable-review-b68ab8ee2a67.herokuapp.com/api/v1/geolocation/address_detail RESPONSE SAMPLES * 200 Content type application/json Copy { * "address_1": "123 Example Street", * "address_2": "Level 2", * "city": "San Francisco", * "state": "CA", * "postal_code": "94114", * "lat": 37.796961, * "lng": -122.4047734 } INFORMATION QUERIES SERVICE RULES AUTHORIZATIONS: x_api_key RESPONSES 200 sucessful get/api/v1/rules Production https://timetable.primary.health/api/v1/rules Staging https://timetable-staging.primary.health/api/v1/rules Review https://timetable-review-b68ab8ee2a67.herokuapp.com/api/v1/rules RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "rules": [ * { * "id": 1, * "ruleType": "restriction", * "frequencyUnit": "6", * "frequencyType": "hours", * "maxServicesPerAppointment": "1", * "maxAppointmentsPerSlot": "1", * "additionalNotes": "string", * "serviceExclusions": { }, * "target": { * "id": 1, * "type": "Location", * "name": "string" } } ] } SERVICES AUTHORIZATIONS: x_api_key QUERY PARAMETERS brands[] Array of strings or null or null (service_brand) Example: brands[]=['pfizer', 'moderna'] Filter by brand. kinds[] Array of strings or null (service_kind) Example: kinds[]=['covid_19', 'flu'] Filter by service kind. name[] Array of strings or null Example: name[]=['COVID-19 Updated Booster Pfizer'] Filter by service name. page number or null Example: page=1 RESPONSES 200 sucessful get/api/v1/services Production https://timetable.primary.health/api/v1/services Staging https://timetable-staging.primary.health/api/v1/services Review https://timetable-review-b68ab8ee2a67.herokuapp.com/api/v1/services RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "services": [ * { * "id": 8, * "name": "COVID-19 Dose", * "brand": "pfizer", * "kind": "covid_19", * "immunocompromised": false, * "patient_category": "adult" }, * { * "id": 19, * "name": "COVID-19 Dose", * "immunocompromised": false, * "patient_category": "adult", * "brand": "johnson_and_johnson", * "kind": "covid_19" }, * { * "id": 9, * "name": "COVID-19 Booster Dose (Pediatric)", * "brand": "pfizer", * "immunocompromised": false, * "patient_category": "pediatric", * "kind": "covid_19" }, * { * "id": 16, * "name": "COVID-19 Booster Dose (Pediatric)", * "brand": "moderna", * "immunocompromised": false, * "patient_category": "pediatric", * "kind": "covid_19" }, * { * "id": 4, * "name": "COVID-19 Dose 1 (Pediatric)", * "brand": "pfizer", * "immunocompromised": true, * "patient_category": "pediatric", * "kind": "covid_19" } ] } SERVICE BRANDS AUTHORIZATIONS: x_api_key QUERY PARAMETERS page number or null Example: page=1 RESPONSES 200 sucessful get/api/v1/service_brands Production https://timetable.primary.health/api/v1/service_brands Staging https://timetable-staging.primary.health/api/v1/service_brands Review https://timetable-review-b68ab8ee2a67.herokuapp.com/api/v1/service_brands RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "serviceBrands": [ * "pfizer", * "moderna", * "johnson_and_johnson" ] } SERVICE KINDS AUTHORIZATIONS: x_api_key QUERY PARAMETERS page number or null Example: page=1 RESPONSES 200 sucessful get/api/v1/service_kinds Production https://timetable.primary.health/api/v1/service_kinds Staging https://timetable-staging.primary.health/api/v1/service_kinds Review https://timetable-review-b68ab8ee2a67.herokuapp.com/api/v1/service_kinds RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "serviceKinds": [ * "covid_19", * "flu", * "pneumococcal", * "rsv" ] } SUBSCRIPTIONS CREATE SUBSCRIPTION AUTHORIZATIONS: x_api_key REQUEST BODY SCHEMA: APPLICATION/JSON email string or null phoneNumber string or null RESPONSES 200 sucessful 409 bad request post/api/v1/subscriptions Production https://timetable.primary.health/api/v1/subscriptions Staging https://timetable-staging.primary.health/api/v1/subscriptions Review https://timetable-review-b68ab8ee2a67.herokuapp.com/api/v1/subscriptions REQUEST SAMPLES * Payload Content type application/json Copy { * "email": "test@example.com", * "phoneNumber": "+15555555555" } RESPONSE SAMPLES * 200 * 409 Content type application/json Copy { * "message": "Successfully created subscription" }