Weave

Weave is an all-in-one customer and patient communication and payments platform for small healthcare businesses - dental, optometry, veterinary, medical, audiology, and specialty practices. It unifies VoIP phone, two-way texting, online scheduling, digital forms, payments (text-to-pay), review generation, and email into a single system that syncs with practice management and EHR software. The Weave developer platform exposes a REST API (base https://api.weaveconnect.com) for building integrations across messaging, phone and calls, contacts, scheduling and appointments, payments, digital forms, reviews, and event subscriptions, authenticated with OAuth 2.0 bearer tokens issued through Weave's OIDC provider. The public API reference is published in the Weave Developer Portal at dp.getweave.com, which requires a developer login.

8 APIs 0 Features
CommunicationHealthcareVoIPMessagingSMSSchedulingPaymentsReviewsDentalVeterinary

APIs

Weave Messaging API

Send and retrieve two-way SMS/text messages between a practice and its patients, review message history, pull chart-thread messages, check bulk-message quota, and manage the SMS...

Weave Phone & Calls API

Access the Weave VoIP phone system - list call records and call recordings, request signed URLs to download recordings, read and tag voicemails, inspect call queues and their me...

Weave Contacts API

Manage the people (patients/customers) a practice communicates with - list and search contacts, read contact info records, and block or unblock a contact from receiving messages.

Weave Scheduling & Appointments API

Read and manage appointments, appointment types, schedules, and calendar events; submit online booking requests; and pull online-scheduling reporting. Backs Weave's online sched...

Weave Payments API

Access Weave Payments - list a practice account's stored payment methods and finance-account payment methods that back text-to-pay, card-on-file, and in-office payment collection.

Weave Digital Forms API

Work with Weave Digital Forms - list forms and digital-form templates, generate patient-facing form links, retrieve submitted forms, and mark a form submission complete. Powers ...

Weave Reviews API

Support Weave's review-generation and reputation features - read provider review data, check review-request completion, and inspect the status of a location's online business li...

Weave Events & Subscriptions API

Read platform events and manage event subscriptions - subscribe or unsubscribe a client to one or many event streams (calls, messages, appointments, payments, forms) so integrat...

Collections

Weave API

OPEN

Pricing Plans

Weave Hq Plans Pricing

4 plans

PLANS

Rate Limits

Weave Hq Rate Limits

4 limits

RATE LIMITS

FinOps

Resources

🔗
TrustCenter
TrustCenter
🔗
VulnerabilityDisclosure
VulnerabilityDisclosure
🔗
DomainSecurity
DomainSecurity
🔑
Authentication
Authentication
🔑
OAuthScopes
OAuthScopes
👥
GitHubOrganization
GitHubOrganization
🔗
LinkedIn
LinkedIn
🔗
Website
Website
🔗
Documentation
Documentation
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Weave API
  version: '1.0'
request:
  auth:
    type: bearer
    token: '{{accessToken}}'
items:
- info:
    name: Messaging
    type: folder
  items:
  - info:
      name: List messages.
      type: http
    http:
      method: GET
      url: https://api.weaveconnect.com/v1/messages
      params:
      - name: location_id
        value: ''
        type: query
        description: The Weave location the request is scoped to.
    docs: Lists SMS/text messages for a location.
  - info:
      name: Send a message.
      type: http
    http:
      method: POST
      url: https://api.weaveconnect.com/v1/messages
      params:
      - name: location_id
        value: ''
        type: query
        description: The Weave location the request is scoped to.
      body:
        type: json
        data: "{\n  \"person_id\": \"\",\n  \"body\": \"Your appointment is confirmed.\"\n}"
    docs: Sends an SMS/text message from the location to a patient.
  - info:
      name: List chart-thread messages.
      type: http
    http:
      method: GET
      url: https://api.weaveconnect.com/v1/chart-messages
      params:
      - name: location_id
        value: ''
        type: query
        description: The Weave location the request is scoped to.
    docs: Lists messages within a patient chart/message thread.
  - info:
      name: Get bulk-message quota.
      type: http
    http:
      method: GET
      url: https://api.weaveconnect.com/v1/account/bulk-message-quota
      params:
      - name: location_id
        value: ''
        type: query
        description: The Weave location the request is scoped to.
    docs: Returns the remaining bulk (mass-text) message quota for the account.
  - info:
      name: List SMS phone numbers.
      type: http
    http:
      method: GET
      url: https://api.weaveconnect.com/v1/sms-phone-numbers
      params:
      - name: location_id
        value: ''
        type: query
        description: The Weave location the request is scoped to.
    docs: Lists the SMS-capable phone numbers configured for the location.
  - info:
      name: Send a Quick Fill message.
      type: http
    http:
      method: POST
      url: https://api.weaveconnect.com/api/v2/quick-fill/message/send
      params:
      - name: location_id
        value: ''
        type: query
        description: The Weave location the request is scoped to.
      body:
        type: json
        data: "{\n  \"person_ids\": [\"\"],\n  \"body\": \"We just had an opening. Reply YES to book.\"\n}"
    docs: Texts an open-appointment (Quick Fill) offer to one or more contacts.
  - info:
      name: Get Quick Fill message history.
      type: http
    http:
      method: GET
      url: https://api.weaveconnect.com/api/v2/quick-fill/message/history
      params:
      - name: location_id
        value: ''
        type: query
        description: The Weave location the request is scoped to.
    docs: Returns the history of Quick Fill messages sent from the location.
- info:
    name: Phone & Calls
    type: folder
  items:
  - info:
      name: List call records.
      type: http
    http:
      method: GET
      url: https://api.weaveconnect.com/v1/call-records
      params:
      - name: location_id
        value: ''
        type: query
        description: The Weave location the request is scoped to.
    docs: Lists inbound and outbound call records for a location.
  - info:
      name: List call recordings.
      type: http
    http:
      method: GET
      url: https://api.weaveconnect.com/v1/call-recordings
      params:
      - name: location_id
        value: ''
        type: query
        description: The Weave location the request is scoped to.
    docs: Lists available call recordings for a location.
  - info:
      name: Get a call recording signed URL.
      type: http
    http:
      method: GET
      url: https://api.weaveconnect.com/v1/call-recording/signed-url
      params:
      - name: location_id
        value: ''
        type: query
        description: The Weave location the request is scoped to.
      - name: recording_id
        value: ''
        type: query
        description: The ID of the call recording to download.
    docs: Returns a short-lived signed URL to download a specific call recording.
  - info:
      name: List voicemail messages.
      type: http
    http:
      method: GET
      url: https://api.weaveconnect.com/v1/voicemail-messages
      params:
      - name: location_id
        value: ''
        type: query
        description: The Weave location the request is scoped to.
    docs: Lists voicemail messages for a location.
  - info:
      name: List call queues.
      type: http
    http:
      method: GET
      url: https://api.weaveconnect.com/v1/call-queues
      params:
      - name: location_id
        value: ''
        type: query
        description: The Weave location the request is scoped to.
    docs: Lists the call queues configured for a location.
  - info:
      name: Get call queue metrics.
      type: http
    http:
      method: GET
      url: https://api.weaveconnect.com/v1/call-queues/metrics
      params:
      - name: location_id
        value: ''
        type: query
        description: The Weave location the request is scoped to.
    docs: Returns performance metrics for the location's call queues.
  - info:
      name: List department phone numbers.
      type: http
    http:
      method: GET
      url: https://api.weaveconnect.com/v1/department/phone-numbers
      params:
      - name: location_id
        value: ''
        type: query
        description: The Weave location the request is scoped to.
    docs: Lists phone numbers assigned to departments within a location.
- info:
    name: Contacts
    type: folder
  items:
  - info:
      name: List contacts.
      type: http
    http:
      method: GET
      url: https://api.weaveconnect.com/v1/contacts
      params:
      - name: location_id
        value: ''
        type: query
        description: The Weave location the request is scoped to.
    docs: Lists the contacts (patients/customers) for a location.
  - info:
      name: Search contacts.
      type: http
    http:
      method: POST
      url: https://api.weaveconnect.com/v1/contacts/search
      params:
      - name: location_id
        value: ''
        type: query
        description: The Weave location the request is scoped to.
      body:
        type: json
        data: "{\n  \"query\": \"jane\"\n}"
    docs: Searches contacts by name, phone, email, or other attributes.
  - info:
      name: List contact info records.
      type: http
    http:
      method: GET
      url: https://api.weaveconnect.com/v1/contact-infos
      params:
      - name: location_id
        value: ''
        type: query
        description: The Weave location the request is scoped to.
    docs: Lists contact-info records (phone numbers, emails) for a location's contacts.
  - info:
      name: Block a contact.
      type: http
    http:
      method: POST
      url: https://api.weaveconnect.com/v1/contacts/block
      params:
      - name: location_id
        value: ''
        type: query
        description: The Weave location the request is scoped to.
      body:
        type: json
        data: "{\n  \"person_id\": \"\"\n}"
    docs: Blocks a contact from receiving messages from the location.
  - info:
      name: Unblock a contact.
      type: http
    http:
      method: POST
      url: https://api.weaveconnect.com/v1/contacts/unblock
      params:
      - name: location_id
        value: ''
        type: query
        description: The Weave location the request is scoped to.
      body:
        type: json
        data: "{\n  \"person_id\": \"\"\n}"
    docs: Unblocks a previously blocked contact.
- info:
    name: Scheduling
    type: folder
  items:
  - info:
      name: List appointments.
      type: http
    http:
      method: GET
      url: https://api.weaveconnect.com/api/v2/appointments
      params:
      - name: location_id
        value: ''
        type: query
        description: The Weave location the request is scoped to.
    docs: Lists appointments for a location within an optional date range.
  - info:
      name: List appointment types.
      type: http
    http:
      method: GET
      url: https://api.weaveconnect.com/api/v2/appointment-types
      params:
      - name: location_id
        value: ''
        type: query
        description: The Weave location the request is scoped to.
    docs: Lists the appointment types configured for a location.
  - info:
      name: List schedules.
      type: http
    http:
      method: GET
      url: https://api.weaveconnect.com/v3/schedules
      params:
      - name: location_id
        value: ''
        type: query
        description: The Weave location the request is scoped to.
    docs: Lists provider/operatory schedules available for online booking.
  - info:
      name: List calendar events.
      type: http
    http:
      method: GET
      url: https://api.weaveconnect.com/v3/calendars/events
      params:
      - name: location_id
        value: ''
        type: query
        description: The Weave location the request is scoped to.
    docs: Lists calendar events for a location.
  - info:
      name: Submit an online booking request.
      type: http
    http:
      method: POST
      url: https://api.weaveconnect.com/api/v2/booking/email-request
      params:
      - name: location_id
        value: ''
        type: query
        description: The Weave location the request is scoped to.
      body:
        type: json
        data: "{\n  \"first_name\": \"\",\n  \"last_name\": \"\",\n  \"email\": \"\",\n  \"requested_time\": \"\"\n}"
    docs: Submits an online booking (appointment request) to the practice.
- info:
    name: Payments
    type: folder
  items:
  - info:
      name: List payment methods.
      type: http
    http:
      method: GET
      url: https://api.weaveconnect.com/v1/payment-methods
      params:
      - name: location_id
        value: ''
        type: query
        description: The Weave location the request is scoped to.
    docs: Lists stored payment methods (cards on file) for a location's patients.
  - info:
      name: List finance-account payment methods.
      type: http
    http:
      method: GET
      url: https://api.weaveconnect.com/v1/finance/account/payment_methods
      params:
      - name: location_id
        value: ''
        type: query
        description: The Weave location the request is scoped to.
    docs: Lists the payment methods attached to the location's Weave Payments finance account.
- info:
    name: Forms
    type: folder
  items:
  - info:
      name: List forms.
      type: http
    http:
      method: GET
      url: https://api.weaveconnect.com/v1/forms
      params:
      - name: location_id
        value: ''
        type: query
        description: The Weave location the request is scoped to.
    docs: Lists the digital forms configured for a location.
  - info:
      name: List digital form templates.
      type: http
    http:
      method: GET
      url: https://api.weaveconnect.com/v1/digitalforms
      params:
      - name: location_id
        value: ''
        type: query
        description: The Weave location the request is scoped to.
    docs: Lists the digital-form templates available to a location.
  - info:
      name: Create form links.
      type: http
    http:
      method: POST
      url: https://api.weaveconnect.com/v1/create-form-links
      params:
      - name: location_id
        value: ''
        type: query
        description: The Weave location the request is scoped to.
      body:
        type: json
        data: "{\n  \"form_ids\": [\"\"],\n  \"person_id\": \"\"\n}"
    docs: Generates patient-facing links to one or more forms for sending.
  - info:
      name: Retrieve submitted forms.
      type: http
    http:
      method: GET
      url: https://api.weaveconnect.com/v1/retrieve-forms
      params:
      - name: location_id
        value: ''
        type: query
        description: The Weave location the request is scoped to.
    docs: Retrieves submitted form documents for a location.
  - info:
      name: Mark a form submission complete.
      type: http
    http:
      method: POST
      url: https://api.weaveconnect.com/v1/complete-form
      params:
      - name: location_id
        value: ''
        type: query
        description: The Weave location the request is scoped to.
      body:
        type: json
        data: "{\n  \"submission_id\": \"\"\n}"
    docs: Marks a submitted form as complete/processed.
- info:
    name: Reviews
    type: folder
  items:
  - info:
      name: Get provider review data.
      type: http
    http:
      method: GET
      url: https://api.weaveconnect.com/v1/provider-review
      params:
      - name: location_id
        value: ''
        type: query
        description: The Weave location the request is scoped to.
    docs: Returns review data associated with a provider/location.
  - info:
      name: Get review-request completion.
      type: http
    http:
      method: GET
      url: https://api.weaveconnect.com/v1/review/completion
      params:
      - name: location_id
        value: ''
        type: query
        description: The Weave location the request is scoped to.
    docs: Returns completion status/metrics for review requests sent from a location.
  - info:
      name: Get business listing status.
      type: http
    http:
      method: GET
      url: https://api.weaveconnect.com/v1/kiosk/listing-status
      params:
      - name: location_id
        value: ''
        type: query
        description: The Weave location the request is scoped to.
    docs: Returns the status of the location's online business listing.
- info:
    name: Events
    type: folder
  items:
  - info:
      name: List events.
      type: http
    http:
      method: GET
      url: https://api.weaveconnect.com/v1/events
      params:
      - name: location_id
        value: ''
        type: query
        description: The Weave location the request is scoped to.
    docs: Lists platform events (calls, messages, appointments, payments, forms) for a location.
  - info:
      name: Subscribe to an event stream.
      type: http
    http:
      method: POST
      url: https://api.weaveconnect.com/v1/subscribe
      params:
      - name: location_id
        value: ''
        type: query
        description: The Weave location the request is scoped to.
      body:
        type: json
        data: "{\n  \"topic\": \"message.received\"\n}"
    docs: Subscribes a client to a single event stream/topic.
  - info:
      name: Subscribe to multiple event streams.
      type: http
    http:
      method: POST
      url: https://api.weaveconnect.com/v1/subscribe/multi
      params:
      - name: location_id
        value: ''
        type: query
        description: The Weave location the request is scoped to.
      body:
        type: json
        data: "{\n  \"topics\": [\"message.received\", \"call.completed\"]\n}"
    docs: Subscribes a client to multiple event streams/topics at once.
  - info:
      name: Unsubscribe from an event stream.
      type: http
    http:
      method: POST
      url: https://api.weaveconnect.com/v1/unsubscribe
      params:
      - name: location_id
        value: ''
        type: query
        description: The Weave location the request is scoped to.
      body:
        type: json
        data: "{\n  \"topic\": \"message.received\"\n}"
    docs: Unsubscribes a client from an event stream/topic.
bundled: true