Skip to content

GraphQL Overview

Download GraphQL schema

Queries

Overview

Mutations

Overview

deleteNotificationSubscription

(subscriptionId)
Boolean!,non-null

Delete a notification subscription by its subscriptionId

Arguments

subscriptionId
String!,non-nullrequired

Return type

Boolean!

The Boolean scalar type represents true or false.

Mutation sample
mutation deleteNotificationSubscription($subscriptionId: String!) {
  deleteNotificationSubscription(subscriptionId: $subscriptionId) 
}
Variables
{ "subscriptionId": "Example String" }
Response sample
{ "data": true }

uploadFile

(fileUpload)
FileUpload!,non-null

Specify a file name and type for a given file to be uploaded and get a fileId and uploadUrl for it.

Use HTTP POST to upload the file content to the uploadUrl. The uploadUrl has a 15-minute expiration time so use it before then.

Pass the fileId as a parameter to other mutations, but only after posting the file content to the uploadUrl.

Arguments

fileUpload

Return type

FileUpload!
id
String!,non-null

Unique File ID

name
String!,non-null

Full file name provided by the user

type
FileType!,non-null

File type corresponds directly with the MIME type (and often the file extension)

uploadUrl
String!,non-null

Signed URL enabling file upload via HTTP PUT with 15-minute expiration

Mutation sample
mutation uploadFile($fileUpload: FileUploadInput) {
  uploadFile(fileUpload: $fileUpload) {
    id 
    name 
    type 
    uploadUrl 
  }
}
Variables
{ "fileUpload": { "name": "Example String", "type": "BMP", "category": "ORDERS" } }
Response sample
{ "data": { "id": "Example String", "name": "Example String", "type": "BMP", "uploadUrl": "Example String" } }

suggestContacts

(...args)

Suggest products based on those in the contacts prescription

Arguments

contacts
ContactsInput!,non-nullrequired

Contacts details

Contacts job options

List of tags

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

Mutation sample
mutation suggestContacts(
  $contacts: ContactsInput!
  $options: ContactsOptionsInput
  $tags: [TagInput]
) {
  suggestContacts(
    contacts: $contacts
    options: $options
    tags: $tags
  ) {
    jobId 
    status 
    reason 
    notes 
    contacts {
      __typename
      # ...ContactsFragment
    }
    tags {
      __typename
      # ...TagFragment
    }
    updatedAt 
  }
}
Variables
{ "contacts": { "products": { "__typename": "ContactsProductsInput" }, "prescription": { "__typename": "ContactsPrescriptionInput" } }, "options": { "verification": { "__typename": "ContactsVerificationOptionsInput" }, "prescription": { "__typename": "ContactsPrescriptionOptionsInput" }, "fulfillment": { "__typename": "ContactsFulfillmentOptionsInput" } }, "tags": [ { "name": "Example String", "value": "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" } }

verifyContactsPrescription

(...args)

Start a contacts prescription verification job

Arguments

contacts
ContactsInput!,non-nullrequired

Contacts details

Contacts job options

List of tags

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

Mutation sample
mutation verifyContactsPrescription(
  $contacts: ContactsInput!
  $options: ContactsOptionsInput
  $tags: [TagInput]
) {
  verifyContactsPrescription(
    contacts: $contacts
    options: $options
    tags: $tags
  ) {
    jobId 
    status 
    reason 
    notes 
    contacts {
      __typename
      # ...ContactsFragment
    }
    tags {
      __typename
      # ...TagFragment
    }
    updatedAt 
  }
}
Variables
{ "contacts": { "products": { "__typename": "ContactsProductsInput" }, "prescription": { "__typename": "ContactsPrescriptionInput" } }, "options": { "verification": { "__typename": "ContactsVerificationOptionsInput" }, "prescription": { "__typename": "ContactsPrescriptionOptionsInput" }, "fulfillment": { "__typename": "ContactsFulfillmentOptionsInput" } }, "tags": [ { "name": "Example String", "value": "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" } }

verifyGlassesPrescription

(...args)

Start a glasses prescription verification job

Arguments

glasses
GlassesInput!,non-nullrequired

Glasses details

Job options

List of tags

Return type

GlassesPrescriptionVerificationJob
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

tags

List of tags used to correlate this workflow with other systems

updatedAt
String!,non-null

Last date and time this job was updated

Mutation sample
mutation verifyGlassesPrescription(
  $glasses: GlassesInput!
  $options: GlassesOptionsInput
  $tags: [TagInput]
) {
  verifyGlassesPrescription(
    glasses: $glasses
    options: $options
    tags: $tags
  ) {
    jobId 
    status 
    reason 
    notes 
    issueDate 
    expirationDate 
    tags {
      __typename
      # ...TagFragment
    }
    updatedAt 
  }
}
Variables
{ "glasses": { "lenses": { "__typename": "GlassesLensesInput" }, "frame": { "__typename": "GlassesFrameInput" }, "prescription": { "__typename": "GlassesPrescriptionInput" } }, "options": { "verification": { "__typename": "GlassesVerificationOptionsInput" }, "prescription": { "__typename": "GlassesPrescriptionOptionsInput" }, "fulfillment": { "__typename": "GlassesFulfillmentOptionsInput" } }, "tags": [ { "name": "Example String", "value": "Example String" } ] }
Response sample
{ "data": { "jobId": "Example String", "status": "Example String", "reason": "Example String", "notes": "Example String", "issueDate": "Example String", "expirationDate": "Example String", "tags": [ { "__typename": "Tag" } ], "updatedAt": "Example String" } }

submitOrder

(order)

Submit order

Arguments

Order details

Return type

[Boolean]

The Boolean scalar type represents true or false.

Mutation sample
mutation submitOrder($order: OrderInput) {
  submitOrder(order: $order) 
}
Variables
{ "order": { "orderId": "Example String", "orderedAt": "Example String", "total": 40, "customer": { "__typename": "CustomerInput" }, "shipping": { "__typename": "ShippingInput" }, "items": [ { "__typename": "ItemInput" } ] } }
Response sample
{ "data": [ true ] }

saveOrder

(order)

Save order details

Arguments

Order details

Return type

Boolean

The Boolean scalar type represents true or false.

Mutation sample
mutation saveOrder($order: OrderInput) {
  saveOrder(order: $order) 
}
Variables
{ "order": { "orderId": "Example String", "orderedAt": "Example String", "total": 40, "customer": { "__typename": "CustomerInput" }, "shipping": { "__typename": "ShippingInput" }, "items": [ { "__typename": "ItemInput" } ] } }
Response sample
{ "data": true }

savePatient

(patient)

Save patient detailst

Arguments

patient
PatientInput!,non-nullrequired

Patient details

Return type

Boolean

The Boolean scalar type represents true or false.

Mutation sample
mutation savePatient($patient: PatientInput!) {
  savePatient(patient: $patient) 
}
Variables
{ "patient": { "patientId": "Example String", "firstName": "Example String", "middleName": "Example String", "lastName": "Example String", "dateOfBirth": "Example String", "phoneNumber": "Example String", "email": "Example String", "address": "Example String", "address2": "Example String", "city": "Example String", "state": "Example String", "zipCode": "Example String" } }
Response sample
{ "data": true }

saveContactsPrescription

(prescription)

Save contacts prescription details

Arguments

prescription

Contacts prescription details

Return type

Boolean

The Boolean scalar type represents true or false.

Mutation sample
mutation saveContactsPrescription($prescription: ContactsPrescriptionInput!) {
  saveContactsPrescription(prescription: $prescription) 
}
Variables
{ "prescription": { "fileId": "Example String", "prescriptionId": "Example String", "doctor": { "__typename": "DoctorInput" }, "patient": { "__typename": "PatientInput" }, "products": { "__typename": "ContactsProductsInput" } } }
Response sample
{ "data": true }

saveGlassesPrescription

(prescription)

Save glasses prescription details

Arguments

prescription
GlassesPrescriptionInput!,non-nullrequired

Glasses prescription details

Return type

Boolean

The Boolean scalar type represents true or false.

Mutation sample
mutation saveGlassesPrescription($prescription: GlassesPrescriptionInput!) {
  saveGlassesPrescription(prescription: $prescription) 
}
Variables
{ "prescription": { "fileId": "Example String", "prescriptionId": "Example String", "doctor": { "__typename": "DoctorInput" }, "patient": { "__typename": "PatientInput" }, "corrections": [ { "__typename": "GlassesLensesInput" } ] } }
Response sample
{ "data": true }

startWorkflowdeprecated

(...args)

Deprecation reason

Use startVisionTest.

Start a workflow utilizing one or more Visibly services

Arguments

name
String!,non-nullrequired

The name of the workflow to run

Optional patient information

doctorId

Optional doctor Id

Optional doctor information

Optional ordered products

Prescriptions pertinent to the ordered products

fileIds

File IDs from uploadFile for flat files containing prescription information

List of tags used to correlate this workflow with other systems

Return type

Workflow
workflowId
String!,non-null

Unique ID for this workflow

launchUrl

If applicable, the launch URL for the first step in this workflow

requestId

Unique ID for a prescription verification request if applicable

Current request status

jobId

Unique ID for a prescription verification job (conditionally available)

status

Current prescription verification job status (conditionally available)

updatedAt

Last date and time this request was updated

Mutation sample
mutation startWorkflow(
  $name: String!
  $patient: PatientInput
  $doctorId: String
  $doctor: DoctorInput
  $products: [ContactProductInput]
  $prescriptions: [ContactProductInput]
  $fileIds: [String]
  $tags: [TagInput]
) {
  startWorkflow(
    name: $name
    patient: $patient
    doctorId: $doctorId
    doctor: $doctor
    products: $products
    prescriptions: $prescriptions
    fileIds: $fileIds
    tags: $tags
  ) {
    workflowId 
    launchUrl 
    requestId 
    requestStatus 
    jobId 
    status 
    updatedAt 
  }
}
Variables
{ "name": "Example String", "patient": { "patientId": "Example String", "firstName": "Example String", "middleName": "Example String", "lastName": "Example String", "dateOfBirth": "Example String", "phoneNumber": "Example String", "email": "Example String", "address": "Example String", "address2": "Example String", "city": "Example String", "state": "Example String", "zipCode": "Example String" }, "doctorId": "Example String", "doctor": { "doctorId": "Example String", "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" }, "products": [ { "productId": "Example String", "eye": "RIGHT", "sphere": "Example String", "diameter": "Example String", "baseCurve": "Example String", "axis": "Example String", "cylinder": "Example String", "addition": "Example String", "dominance": "Example String", "color": "Example String", "packageSize": 40, "quantity": 40 } ], "prescriptions": [ { "productId": "Example String", "eye": "RIGHT", "sphere": "Example String", "diameter": "Example String", "baseCurve": "Example String", "axis": "Example String", "cylinder": "Example String", "addition": "Example String", "dominance": "Example String", "color": "Example String", "packageSize": 40, "quantity": 40 } ], "fileIds": [ "Example String" ], "tags": [ { "name": "Example String", "value": "Example String" } ] }
Response sample
{ "data": { "workflowId": "Example String", "launchUrl": "Example String", "requestId": "Example String", "requestStatus": "NEW", "jobId": "Example String", "status": "Example String", "updatedAt": "Example String" } }

Directives

Overview

Objects

Overview

Interfaces

Overview

Enums

Overview

Inputs

Overview

Scalars

Overview