Skip to content

GraphQL Overview

Download GraphQL schema

Queries

Overview

notificationSubscriptions

List all notification subscriptions

Return type

[NotificationSubscription]
id
String!,non-null
endpoint
String!,non-null
Query sample
query notificationSubscriptions {
  notificationSubscriptions {
    type 
    id 
    endpoint 
  }
}
Response sample
{ "data": [ { "type": "HTTPS", "id": "Example String", "endpoint": "Example String" } ] }

doctors

(...args)

Find doctors by searching for searchString across the following fields: Doctor Name, Practice Name, Address, Phone Number, Fax Number, and Webpage URL, or by finding doctors with fields matching the fields specified in match

Arguments

searchString

Value to search for across the following fields: Doctor Name, Practice Name, Address, Phone Number, Fax Number, and Webpage URL

Input fields to compare against doctor fields to determine a match

cursor

Used to get the next page of search results

Return type

DoctorConnection

Nodes for this page

pageInfo
PageInfo!,non-null

Details to enable pagination

totalCount
Int!,non-null

Total item count for this query or subquery

Query sample
query doctors(
  $searchString: String
  $match: DoctorMatchInput
  $cursor: String
) {
  doctors(
    searchString: $searchString
    match: $match
    cursor: $cursor
  ) {
    nodes {
      id 
      doctorName 
      practiceName 
      address 
      city 
      state 
      zipCode 
    }
    pageInfo {
      endCursor 
      hasNextPage 
    }
    totalCount 
  }
}
Variables
{ "searchString": "Example String", "match": { "doctorName": "Example String", "practiceName": "Example String", "phoneNumber": "Example String", "faxNumber": "Example String", "email": "Example String", "address": "Example String", "address2": "Example String", "city": "Example String", "state": "Example String", "zipCode": "Example String", "url": "Example String" }, "cursor": "Example String" }
Response sample
{ "data": { "nodes": [ { "id": "Example String", "doctorName": "Example String", "practiceName": "Example String", "address": "Example String", "city": "Example String", "state": "Example String", "zipCode": "Example String" } ], "pageInfo": { "endCursor": "Example String", "hasNextPage": true }, "totalCount": 40 } }

products

(...args)

List all mapped products and their possible parameter values

Arguments

after

Filters list for products that come after the specified cursor

prescription

Limits list to only those products extracted from the prescription file

Return type

ContactProductConnection

Nodes for this page

pageInfo
PageInfo!,non-null

Details to enable pagination

totalCount
Int!,non-null

Total item count for this query or subquery

Query sample
query products($after: String, $prescription: PrescriptionInput) {
  products(after: $after, prescription: $prescription) {
    nodes {
      productId 
      manufacturer 
      brand 
      sphere 
      diameter 
      baseCurve 
      axis 
      cylinder 
      addition 
      dominance 
      color 
    }
    pageInfo {
      endCursor 
      hasNextPage 
    }
    totalCount 
  }
}
Variables
{ "after": "Example String", "prescription": { "fileId": "Example String" } }
Response sample
{ "data": { "nodes": [ { "productId": "Example String", "manufacturer": "Example String", "brand": "Example String", "sphere": [ "Example String" ], "diameter": [ "Example String" ], "baseCurve": [ "Example String" ], "axis": [ "Example String" ], "cylinder": [ "Example String" ], "addition": [ "Example String" ], "dominance": [ "Example String" ], "color": [ "Example String" ] } ], "pageInfo": { "endCursor": "Example String", "hasNextPage": true }, "totalCount": 40 } }

product

(productId)

Get a product and its possible parameter values

Arguments

productId
String!,non-nullrequired

The product ID of the product to retrieve

Return type

ContactProduct
productId
String!,non-null

ID that uniquely maps to a manufacturer, brand, and model combination

manufacturer
String!,non-null

Manufacturer name

brand
String!,non-null

Brand name

sphere
[String]!,non-null

Possible sphere values

diameter
[String]!,non-null

Possible diameter values

baseCurve
[String]!,non-null

Possible baseCurve values

Possible axis values

cylinder

Possible cylinder values

addition

Possible addition values

dominance

Possible dominance values

Possible color values

Query sample
query product($productId: String!) {
  product(productId: $productId) {
    productId 
    manufacturer 
    brand 
    sphere 
    diameter 
    baseCurve 
    axis 
    cylinder 
    addition 
    dominance 
    color 
  }
}
Variables
{ "productId": "Example String" }
Response sample
{ "data": { "productId": "Example String", "manufacturer": "Example String", "brand": "Example String", "sphere": [ "Example String" ], "diameter": [ "Example String" ], "baseCurve": [ "Example String" ], "axis": [ "Example String" ], "cylinder": [ "Example String" ], "addition": [ "Example String" ], "dominance": [ "Example String" ], "color": [ "Example String" ] } }

contactPrescriptionVerificationRequestdeprecated

(requestId)

Deprecation reason

Use contactsVerificationJob.

Get a contact prescription verification request by its requestId

Arguments

requestId

Return type

ContactPrescriptionVerificationRequest
id
String!,non-null

Unique ID for this request

Current request status

expirationDate

Prescription expiration date if it is available

comments

Comments entered by Doctor and/or Visibly

updatedAt
String!,non-null

Last date and time this request was updated

Query sample
query contactPrescriptionVerificationRequest($requestId: String) {
  contactPrescriptionVerificationRequest(requestId: $requestId) {
    id 
    status 
    expirationDate 
    comments 
    updatedAt 
  }
}
Variables
{ "requestId": "Example String" }
Response sample
{ "data": { "id": "Example String", "status": "NEW", "expirationDate": "Example String", "comments": "Example String", "updatedAt": "Example String" } }

contactPrescriptionVerificationJob

(jobId)

Get a contact prescription verification job by its jobId

Arguments

jobId

Return type

ContactPrescriptionVerificationJob
jobId

Unique ID for this job

status

Current job status

reason

Current job reason, if applicable

notes

Notes entered by Doctor and/or Visibly

issueDate

Prescription issue date, if available

expirationDate

Prescription expiration date, if available

Prescriptions pertinent to the ordered products (inclusive of changes required)

tags

List of tags used to correlate this workflow with other systems

updatedAt
String!,non-null

Last date and time this job was updated

Query sample
query contactPrescriptionVerificationJob($jobId: String) {
  contactPrescriptionVerificationJob(jobId: $jobId) {
    jobId 
    status 
    reason 
    notes 
    issueDate 
    expirationDate 
    prescriptions {
      __typename
      # ...ContactPrescriptionFragment
    }
    tags {
      __typename
      # ...TagFragment
    }
    updatedAt 
  }
}
Variables
{ "jobId": "Example String" }
Response sample
{ "data": { "jobId": "Example String", "status": "Example String", "reason": "Example String", "notes": "Example String", "issueDate": "Example String", "expirationDate": "Example String", "prescriptions": [ { "__typename": "ContactPrescription" } ], "tags": [ { "__typename": "Tag" } ], "updatedAt": "Example String" } }

contactsSuggestionJob

(jobId)

Get a contacts products suggestion job by its jobId

Arguments

jobId

Return type

ContactsSuggestionJob
jobId

Unique ID for this job

status

Current job status

reason

Current job reason, if applicable

notes

Notes entered by Doctor and/or Visibly

contacts

Contacts details

tags

List of tags used to correlate this workflow with other systems

updatedAt
String!,non-null

Last date and time this job was updated

Query sample
query contactsSuggestionJob($jobId: String) {
  contactsSuggestionJob(jobId: $jobId) {
    jobId 
    status 
    reason 
    notes 
    contacts {
      __typename
      # ...ContactsFragment
    }
    tags {
      __typename
      # ...TagFragment
    }
    updatedAt 
  }
}
Variables
{ "jobId": "Example String" }
Response sample
{ "data": { "jobId": "Example String", "status": "Example String", "reason": "Example String", "notes": "Example String", "contacts": { "__typename": "Contacts" }, "tags": [ { "__typename": "Tag" } ], "updatedAt": "Example String" } }

contactsVerificationJob

(jobId)

Get a contacts prescription verification job by its jobId

Arguments

jobId

Return type

ContactsVerificationJob
jobId

Unique ID for this job

status

Current job status

reason

Current job reason, if applicable

notes

Notes entered by Doctor and/or Visibly

contacts

Contacts details

tags

List of tags used to correlate this workflow with other systems

updatedAt
String!,non-null

Last date and time this job was updated

Query sample
query contactsVerificationJob($jobId: String) {
  contactsVerificationJob(jobId: $jobId) {
    jobId 
    status 
    reason 
    notes 
    contacts {
      __typename
      # ...ContactsFragment
    }
    tags {
      __typename
      # ...TagFragment
    }
    updatedAt 
  }
}
Variables
{ "jobId": "Example String" }
Response sample
{ "data": { "jobId": "Example String", "status": "Example String", "reason": "Example String", "notes": "Example String", "contacts": { "__typename": "Contacts" }, "tags": [ { "__typename": "Tag" } ], "updatedAt": "Example String" } }

prescriptionRenewal

(workflowId)

Get prescription renewal information by workflowId

Arguments

workflowId

Return type

PrescriptionRenewal
workflowId

Workflow ID associated with this prescription renewal

status

Current status

reason

Current reason, if applicable

issueDate

Prescription issue date, if available

expirationDate

Prescription expiration date, if available

Prescriptions pertinent to the ordered products (inclusive of changes required)

tags

List of tags used to correlate this renewal with other systems

updatedAt

Last date and time this renewal was updated

Query sample
query prescriptionRenewal($workflowId: String) {
  prescriptionRenewal(workflowId: $workflowId) {
    workflowId 
    status 
    reason 
    issueDate 
    expirationDate 
    prescriptions {
      __typename
      # ...ContactPrescriptionFragment
    }
    tags {
      __typename
      # ...TagFragment
    }
    updatedAt 
  }
}
Variables
{ "workflowId": "Example String" }
Response sample
{ "data": { "workflowId": "Example String", "status": "Example String", "reason": "Example String", "issueDate": "Example String", "expirationDate": "Example String", "prescriptions": [ { "__typename": "ContactPrescription" } ], "tags": [ { "__typename": "Tag" } ], "updatedAt": "Example String" } }

Mutations

Overview

Directives

Overview

Objects

Overview

Interfaces

Overview

Enums

Overview

Inputs

Overview

Scalars

Overview