Omega EDI (2.0.0)

Download OpenAPI specification:Download

REST API to access Omega EDI resources

Introduction

The Omega EDI API allows you to interact with resources programatically. The API uses REST verbs to interact with remote resources and JSON to encode requests and responses.

Resources on the API generally support the following HTTP verbs:

  • GET retrieves an resource or list of resources
  • POST creates a new resources
  • PUT updates the specified resource
  • DELETE deletes the specified resource

Authentication

Omega EDI offers two forms of authentication:

  • API key
  • Session cookie

The recommended method for accessing the API is via an API key.

API Key

Include your api_key in the header with each request to authenticate.

Security Scheme Type: API Key
Header parameter name: api_key

Pagination

Most top-level API resources have support for bulk fetches via list API methods. For instance, you can list invoices, payments, and purchase orders. These API methods accept a page parameter in the query string.

By default, the response of a list API method represents a single page of reuslts matching your query. If you do not specify page, you will receive the first page of results, containing the newest objects.

Response Codes

All requests will return a standard HTTP status code. Please refer to the following table for common HTTP status codes and their meaning.

HTTP Status Code Description
200 - OK Everything worked as expected.
201 - Created The resource was successfully created. The body of the response will contain the ID of the new object.
204 - No Content The resource was successfully updated or deleted. No response body will be present.
400 - Bad Request Invalid request. One or more of the paramaters in your request are invalid. Do not retry the request.
401 - Not Authenticated The system was unable to authenticate your request. Check your api_key.
403 - Forbidden The user's security role does not allow them to access this resource.
404 - Not Found The requested resource doesn't exist.

Errors

Any time an error response code is returned, an error payload will also be returned in the response body. The payload will contain two elements: error_code, which corresponds to the HTTP response code, and message which contains a textual description of the error. Below is an example error response.

{"error_code":404, "message":"Invoice not found"}

Rate Limiting

API requests are limited to 200 requests per minute. Requests in excess of this limit will receive a HTTP 429 error with the below response body

{"error_code":429,"message":"Too many requests."}

If you receive a 429 error, throttle requests to 200 request per minute or less.

Invoices

Invoices, referred to as Jobs in the user interface, are the main document in Omega. Each invoice moves through a series of statuses throughout its lifecycle:

  • LE - Lead
  • QO - Quote
  • WO - Work Order
  • IN - Invoice
  • CL - Archived
  • VO - Void

List Invoices

Returns a list of invoices matching the optional filter(s)

  • Security Permission for API Key-
  • Needs INVOICE_VIEW_ALL to access all invoices
  • Needs INVOICE_VIEW_OWN to view invoices assigned to only self
Authorizations:
API Key
query Parameters
date1
string <date>
date2
string <date>
filter
string
orderby
string
order
string
page
string
employee
string
job_status
Array of strings
source
string
medium
string
campaign
string
referrer
string

Responses

Request samples

curl --request GET \
  --url 'https://app.omegaedi.com/api/2.0/Invoices?date1=SOME_STRING_VALUE&date2=SOME_STRING_VALUE&filter=SOME_STRING_VALUE&orderby=SOME_STRING_VALUE&order=SOME_STRING_VALUE&page=SOME_STRING_VALUE&employee=SOME_STRING_VALUE&job_status=SOME_ARRAY_VALUE&source=SOME_STRING_VALUE&medium=SOME_STRING_VALUE&campaign=SOME_STRING_VALUE&referrer=SOME_STRING_VALUE' \
  --header 'api_key: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
[
  • {
    }
]

Create an invoice

Authorizations:
API Key
query Parameters
calculate_tax
boolean

Optional. If specified, sales tax will be calculated and appropriate values will be saved in the invoice_tax and TaxDetails fields.

Request Body schema: application/json

Invoice object

salesman_1_id
required
string

CSR employee_number

location_id
required
integer

ID for the location associated with this Invoice

account_company_id
required
integer

ID of Company tied to Invoice

pricing_profile_id
required
integer

ID of Pricing Profile used

customer_email
string

Customer email address

customer_fname
required
string

Customer first name

customer_surname
string

Customer surname

customer_phone
required
string

Customer phone number

customer_alternate_phone
string

Additional phone number

customer_address
string

Address (number and street name)

customer_city
string

City of customer

customer_state
string

State of customer

customer_sms
boolean

Whether customer accepts SMS messaging

customer_email_opt_out
boolean

Flag for whether or not the customer has an email address (email can be set as a required field)

account_policy_no
string

Customer's Insurance Policy No.

account_deductible
number

Amount customer owes

account_dol
string

Date of Loss

vehicle_vin
string

VIN

vehicle_year
integer

Vehicle Year

vehicle_model
string

Vehicle Model

vehicle_make
string

Vehicle Make

vehicle_description
string

Any additional description

vehicle_odometer
string

Odometer reading at the time of service

vehicle_plate
string

License Plate No.

vehicle_unit_no
string

Vehicle unit number (within a fleet)

invoice_status
string
Enum: "NS" "SE" "AK" "AC" "RJ" "PD" "VO"

NS=Not Submitted, SE=Submitted, AK=Acknowledged, AC=Accepted, RJ=Rejected, PD=Paid, VO=Void

job_status
string
Enum: "LE" "QO" "WO" "IN" "CL" "VO"

LE=Lead, QO=Quote, WO=Work Order, IN=Invoice, CL=Closed, VO=Void

salesman_2_id
string

Dispatcher employee_number

salesman_3_id
string

Biller employee_number

salesman_4_id
string

Sales Rep employee_number

medium
string

Medium for Attribution

campaign
string

Campaign for Attribution

referrer
string

Referrer for Attribution

billing_account_id
integer

ID of Company/agent that referred the job

warranty_reason
string

Reason warranty job is being performed

original_invoice_id
integer or null

Original Invoice ID for the warranty job

Array of objects (InvoiceNote)

Notes associated with this invoice

Array of objects (Tag)

Tags associated with this invoice

Responses

Request samples

Content type
application/json
{
  • "salesman_1_id": "SSummers",
  • "location_id": "12",
  • "account_company_id": "3",
  • "pricing_profile_id": "5",
  • "customer_email": "email@example.com",
  • "customer_fname": "Jean",
  • "customer_surname": "Grey",
  • "customer_phone": "555-555-5555",
  • "customer_alternate_phone": "555-555-5558",
  • "customer_address": "1407 Graymalkin Lane",
  • "customer_city": "Salem Center",
  • "customer_state": "New York",
  • "customer_sms": true,
  • "customer_email_opt_out": "false",
  • "account_policy_no": "12345AW7",
  • "account_deductible": "100.00",
  • "account_dol": "2021-02-10",
  • "vehicle_vin": "17CHARACTERVINPLZ",
  • "vehicle_year": "2014",
  • "vehicle_model": "Camry",
  • "vehicle_make": "Toyota",
  • "vehicle_description": "Black",
  • "vehicle_odometer": "80500",
  • "vehicle_plate": "MNDG4MZ",
  • "vehicle_unit_no": "17",
  • "invoice_status": "NS",
  • "job_status": "WO",
  • "salesman_2_id": "Logan",
  • "salesman_3_id": "TBeast",
  • "salesman_4_id": "Storm",
  • "medium": "notLarge",
  • "campaign": "SUMMER15",
  • "referrer": "OurMiddleMan",
  • "billing_account_id": "15",
  • "warranty_reason": "Mirror",
  • "original_invoice_id": "10012",
  • "Notes": [
    ],
  • "Tags": [
    ]
}

Response samples

Content type
application/json
10001

List invoices (CSV)

Export invoices to a CSV. Returns up to 20,000 records.

  • Security Permission for API Key-
  • Needs INVOICE_VIEW_ALL to access all invoices
  • Needs INVOICE_VIEW_OWN to view invoices assigned to only self
Authorizations:
API Key
query Parameters
date1
string <date>
date2
string <date>
filter
string
orderby
string
order
string
page
string
employee
string
job_status
string
source
string
medium
string
campaign
string
referrer
string

Responses

Request samples

curl --request GET \
  --url 'https://app.omegaedi.com/api/2.0/Invoices.csv?date1=SOME_STRING_VALUE&date2=SOME_STRING_VALUE&filter=SOME_STRING_VALUE&orderby=SOME_STRING_VALUE&order=SOME_STRING_VALUE&page=SOME_STRING_VALUE&employee=SOME_STRING_VALUE&job_status=SOME_STRING_VALUE&source=SOME_STRING_VALUE&medium=SOME_STRING_VALUE&campaign=SOME_STRING_VALUE&referrer=SOME_STRING_VALUE' \
  --header 'api_key: REPLACE_KEY_VALUE'

Send an invoice

Sends the invoice to the appropriate EDI endpoint based on the billing account.

Authorizations:
API Key
path Parameters
invoice_ids
string
Example: 1001,1003,1005

A comma-separated list of invoice IDs.

Responses

Request samples

curl --request POST \
  --url 'https://app.omegaedi.com/api/2.0/Invoices/1001,1003,1005/send' \
  --header 'api_key: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
[
  • null
]

Void an invoice

Voids the specified invoice, noting the reason and optional message in the event log and invoice notes.

  • Security Permission for API Key-
    • Needs INVOICE_VOID_INVOICE to void invoiced jobs
    • Needs INVOICE_VOID_WORK_ORDER to void work order jobs
    • Needs INVOICE_VOID to void all other jobs
Authorizations:
API Key
path Parameters
invoice_id
required
integer
query Parameters
reason
required
string
message
string

Responses

Request samples

curl --request POST \
  --url 'https://app.omegaedi.com/api/2.0/Invoices/invoice_id/Void?reason=SOME_STRING_VALUE&message=SOME_STRING_VALUE' \
  --header 'api_key: REPLACE_KEY_VALUE'

Send an appointment reminder Deprecated

Sends an appointment reminder e-mail to the customer e-mail. If the email parameter is provided the e-mail on file with the invoice will be overwritten and the specified e-mail will be used instead.

Authorizations:
API Key
path Parameters
invoice_id
required
integer
query Parameters
email
string

Responses

Request samples

curl --request POST \
  --url 'https://app.omegaedi.com/api/2.0/Invoices/invoice_id/AppointmentReminder/send?email=SOME_STRING_VALUE' \
  --header 'api_key: REPLACE_KEY_VALUE'

Create combined PDF

Selected invoices are combined into a PDF document. Useful for bulk printing.

Authorizations:
API Key
path Parameters
invoice_ids
required
string
Example: 1001,1005,1007,1008,1002

A comma separated list of invoice IDs

Responses

Request samples

curl --request GET \
  --url 'https://app.omegaedi.com/api/2.0/Invoices/Print/1001,1005,1007,1008,1002' \
  --header 'api_key: REPLACE_KEY_VALUE'

Create PDF of invoices

Selected Invoices are combined into a PDF

Authorizations:
API Key
path Parameters
invoice_ids
required
integer

Responses

Request samples

curl --request POST \
  --url https://app.omegaedi.com/api/2.0/Invoices/Print \
  --header 'api_key: REPLACE_KEY_VALUE'

Send a work order

Sends a work order via e-mail to the provided destination

Authorizations:
API Key
path Parameters
invoice_id
required
integer
query Parameters
email
required
string

Responses

Request samples

curl --request POST \
  --url 'https://app.omegaedi.com/api/2.0/Invoices/invoice_id/WorkOrder/send?email=SOME_STRING_VALUE' \
  --header 'api_key: REPLACE_KEY_VALUE'

View a dispatch

View the dispatch rendered for the provided invoice

Authorizations:
API Key
path Parameters
dispatch_id
required
integer
query Parameters
invoice_id
required
integer

Responses

Request samples

curl --request GET \
  --url 'https://app.omegaedi.com/api/2.0/Dispatches/dispatch_id.html?invoice_id=SOME_INTEGER_VALUE' \
  --header 'api_key: REPLACE_KEY_VALUE'

Send a work order

View the work order template rendered for the provided invoice

Authorizations:
API Key
path Parameters
invoice_id
required
integer

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/Invoices/invoice_id/Quote.html \
  --header 'api_key: REPLACE_KEY_VALUE'

Retrieve invoice messages

List messages associated with an invoice

Authorizations:
API Key
path Parameters
invoice_id
required
integer

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/Invoices/invoice_id/Messages \
  --header 'api_key: REPLACE_KEY_VALUE'

Render a work order (HTML)

View the work order template rendered for the provided invoice_id

Authorizations:
API Key
path Parameters
invoice_id
required
integer

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/Invoices/invoice_id/WorkOrder.html \
  --header 'api_key: REPLACE_KEY_VALUE'

Render info on the Pre and Post Inspection (HTML)

View the photos and signature for the invoice_id

  • Security Permission for API Key-
  • Needs INVOICE_VIEW_ALL to access data for all invoices
  • Needs INVOICE_VIEW_OWN to access data invoices assigned to only self
Authorizations:
API Key
path Parameters
invoice_id
required
integer

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/Invoices/invoice_id/Inspection.html \
  --header 'api_key: REPLACE_KEY_VALUE'

Render a receipt (HTML)

View the receipt template rendered for the provided invoice_id

Authorizations:
API Key
path Parameters
invoice_id
required
integer

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/Invoices/invoice_id/Receipt.html \
  --header 'api_key: REPLACE_KEY_VALUE'

Render a flat glass invoice (HTML)

View the invoice template rendered for the provided invoice

  • Security Permission for API Key-
  • Needs INVOICE_VIEW_ALL to access data for all invoices
  • Needs INVOICE_VIEW_OWN to access data invoices assigned to only self
Authorizations:
API Key
path Parameters
invoice_id
required
integer

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/Invoices/invoice_id/FlatInvoice.html \
  --header 'api_key: REPLACE_KEY_VALUE'

Render a deductible invoice (HTML)

View the invoice template rendered for the provided invoice

  • Security Permission for API Key-
  • Needs INVOICE_VIEW_ALL to access data for all invoices
  • Needs INVOICE_VIEW_OWN to access data invoices assigned to only self
Authorizations:
API Key
path Parameters
invoice_id
required
integer

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/Invoices/invoice_id/DeductibleInvoice.html \
  --header 'api_key: REPLACE_KEY_VALUE'

Retrieve an invoice

  • Security Permission for API Key-
  • Needs INVOICE_VIEW_ALL to access data for all invoices
  • Needs INVOICE_VIEW_OWN to access data invoices assigned to only self
Authorizations:
API Key
path Parameters
invoice_id
required
integer

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/Invoices/invoice_id \
  --header 'api_key: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
{
  • "salesman_1_id": "SSummers",
  • "location_id": "12",
  • "account_company_id": "3",
  • "pricing_profile_id": "5",
  • "customer_email": "email@example.com",
  • "customer_fname": "Jean",
  • "customer_surname": "Grey",
  • "customer_phone": "555-555-5555",
  • "customer_alternate_phone": "555-555-5558",
  • "customer_address": "1407 Graymalkin Lane",
  • "customer_city": "Salem Center",
  • "customer_state": "New York",
  • "customer_sms": true,
  • "customer_email_opt_out": "false",
  • "account_policy_no": "12345AW7",
  • "account_deductible": "100.00",
  • "account_dol": "2021-02-10",
  • "vehicle_vin": "17CHARACTERVINPLZ",
  • "vehicle_year": "2014",
  • "vehicle_model": "Camry",
  • "vehicle_make": "Toyota",
  • "vehicle_description": "Black",
  • "vehicle_odometer": "80500",
  • "vehicle_plate": "MNDG4MZ",
  • "vehicle_unit_no": "17",
  • "invoice_status": "NS",
  • "job_status": "WO",
  • "salesman_2_id": "Logan",
  • "salesman_3_id": "TBeast",
  • "salesman_4_id": "Storm",
  • "medium": "notLarge",
  • "campaign": "SUMMER15",
  • "referrer": "OurMiddleMan",
  • "billing_account_id": "15",
  • "warranty_reason": "Mirror",
  • "original_invoice_id": "10012",
  • "Payments": [
    ],
  • "Notes": [
    ],
  • "Tags": [
    ]
}

Update an invoice

Authorizations:
API Key
query Parameters
calculate_tax
boolean

Optional. If specified, sales tax will be calculated and appropriate values will be saved in the invoice_tax and TaxDetails fields.

Request Body schema: application/json

Invoice object

salesman_1_id
required
string

CSR employee_number

location_id
required
integer

ID for the location associated with this Invoice

account_company_id
required
integer

ID of Company tied to Invoice

pricing_profile_id
required
integer

ID of Pricing Profile used

customer_email
string

Customer email address

customer_fname
required
string

Customer first name

customer_surname
string

Customer surname

customer_phone
required
string

Customer phone number

customer_alternate_phone
string

Additional phone number

customer_address
string

Address (number and street name)

customer_city
string

City of customer

customer_state
string

State of customer

customer_sms
boolean

Whether customer accepts SMS messaging

customer_email_opt_out
boolean

Flag for whether or not the customer has an email address (email can be set as a required field)

account_policy_no
string

Customer's Insurance Policy No.

account_deductible
number

Amount customer owes

account_dol
string

Date of Loss

vehicle_vin
string

VIN

vehicle_year
integer

Vehicle Year

vehicle_model
string

Vehicle Model

vehicle_make
string

Vehicle Make

vehicle_description
string

Any additional description

vehicle_odometer
string

Odometer reading at the time of service

vehicle_plate
string

License Plate No.

vehicle_unit_no
string

Vehicle unit number (within a fleet)

invoice_status
string
Enum: "NS" "SE" "AK" "AC" "RJ" "PD" "VO"

NS=Not Submitted, SE=Submitted, AK=Acknowledged, AC=Accepted, RJ=Rejected, PD=Paid, VO=Void

job_status
string
Enum: "LE" "QO" "WO" "IN" "CL" "VO"

LE=Lead, QO=Quote, WO=Work Order, IN=Invoice, CL=Closed, VO=Void

salesman_2_id
string

Dispatcher employee_number

salesman_3_id
string

Biller employee_number

salesman_4_id
string

Sales Rep employee_number

medium
string

Medium for Attribution

campaign
string

Campaign for Attribution

referrer
string

Referrer for Attribution

billing_account_id
integer

ID of Company/agent that referred the job

warranty_reason
string

Reason warranty job is being performed

original_invoice_id
integer or null

Original Invoice ID for the warranty job

Array of objects (InvoiceNote)

Notes associated with this invoice

Array of objects (Tag)

Tags associated with this invoice

Responses

Request samples

Content type
application/json
{
  • "salesman_1_id": "SSummers",
  • "location_id": "12",
  • "account_company_id": "3",
  • "pricing_profile_id": "5",
  • "customer_email": "email@example.com",
  • "customer_fname": "Jean",
  • "customer_surname": "Grey",
  • "customer_phone": "555-555-5555",
  • "customer_alternate_phone": "555-555-5558",
  • "customer_address": "1407 Graymalkin Lane",
  • "customer_city": "Salem Center",
  • "customer_state": "New York",
  • "customer_sms": true,
  • "customer_email_opt_out": "false",
  • "account_policy_no": "12345AW7",
  • "account_deductible": "100.00",
  • "account_dol": "2021-02-10",
  • "vehicle_vin": "17CHARACTERVINPLZ",
  • "vehicle_year": "2014",
  • "vehicle_model": "Camry",
  • "vehicle_make": "Toyota",
  • "vehicle_description": "Black",
  • "vehicle_odometer": "80500",
  • "vehicle_plate": "MNDG4MZ",
  • "vehicle_unit_no": "17",
  • "invoice_status": "NS",
  • "job_status": "WO",
  • "salesman_2_id": "Logan",
  • "salesman_3_id": "TBeast",
  • "salesman_4_id": "Storm",
  • "medium": "notLarge",
  • "campaign": "SUMMER15",
  • "referrer": "OurMiddleMan",
  • "billing_account_id": "15",
  • "warranty_reason": "Mirror",
  • "original_invoice_id": "10012",
  • "Notes": [
    ],
  • "Tags": [
    ]
}

Get the payments associated with an Invoice

  • Security Permission for API Key-
  • Needs INVOICE_VIEW_ALL to access data for all invoices
  • Needs INVOICE_VIEW_OWN to access data invoices assigned to only self
Authorizations:
API Key
path Parameters
invoice_id
required
integer

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/Invoices/invoice_id/Payments \
  --header 'api_key: REPLACE_KEY_VALUE'

Compute validations for an intermediate invoice state for form validation

Authorizations:
API Key
path Parameters
invoice_id
required
integer

Responses

Request samples

curl --request PUT \
  --url https://app.omegaedi.com/api/2.0/Invoices/invoice_id/Validations \
  --header 'api_key: REPLACE_KEY_VALUE'

Get templates

Authorizations:
API Key

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/Invoices/Templates \
  --header 'api_key: REPLACE_KEY_VALUE'

Calculate tax

Authorizations:
API Key

Responses

Request samples

curl --request POST \
  --url https://app.omegaedi.com/api/2.0/InvoiceTax \
  --header 'api_key: REPLACE_KEY_VALUE'

Create a signature

Authorizations:
API Key

Responses

Request samples

curl --request POST \
  --url https://app.omegaedi.com/api/2.0/Invoices/invoice_id/Signature \
  --header 'api_key: REPLACE_KEY_VALUE'

Appointments

List appointments

Get appointments for the specified date/time range.

  • Security Permission for API Key-
    • Needs INVOICE_VIEW_ALL to view appointment
    • Needs APPOINTMENT_VIEW_FUTURE for access to future appointments by technicians
Authorizations:
API Key
query Parameters
date1
integer

Unix timestamp representing the beginning of the date/time range

date2
integer

Unix timestamp representing the end of the date/time range

appointment_type
string

e.g. 'inshop' or 'mobile'

email
string

The location's email address

location_id
integer
territory_id
integer
user_id
string

The username (employee_number) of the tech assigned to the appointment

user_group_id
integer

Responses

Request samples

curl --request GET \
  --url 'https://app.omegaedi.com/api/2.0/Appointments?date1=SOME_INTEGER_VALUE&date2=SOME_INTEGER_VALUE&appointment_type=SOME_STRING_VALUE&email=SOME_STRING_VALUE&location_id=SOME_INTEGER_VALUE&territory_id=SOME_INTEGER_VALUE&user_id=SOME_STRING_VALUE&user_group_id=SOME_INTEGER_VALUE' \
  --header 'api_key: REPLACE_KEY_VALUE'

Create a new appointment

Authorizations:
API Key
Request Body schema: application/json

Appointment object

invoice_id
required
integer
status
string
Enum: "OPEN" "CLOSED" "HOLD" "RESCHED"
started_latitude
number
started_longitude
number
ended_latitude
number
ended_longitude
number
note
string
bay
integer
type
string
Enum: "mobile" "inshop" "flat" "recal"
user_id
string <employee_number>
pre_signature
string
signature
string
Preinspection
string <JSON>
Installation
string
Postinspection
string
customer_informed
boolean
technician_note
string
tech_note_viewed
integer <Unix timestamp>
tech_note_updated
integer <Unix timestamp>
service_address
string <JSON>
location_id
required
integer
requested_window_start
integer <Unix timestamp>
requested_window_end
integer <Unix timestamp>
receipt_sent
boolean
reschedule_reason
string
reschedule_count
integer
Skills
string <JSON array of strings>
appointment_reminder_sent
integer <Unix timestamp>
send_receipt
boolean
ignore_capacity
boolean
hold_reason
string

Responses

Request samples

Content type
application/json
{
  • "invoice_id": "10033",
  • "status": "OPEN",
  • "started_latitude": 0,
  • "started_longitude": 0,
  • "ended_latitude": 0,
  • "ended_longitude": 0,
  • "note": "string",
  • "bay": 0,
  • "type": "mobile",
  • "user_id": "TECH",
  • "pre_signature": "string",
  • "signature": "string",
  • "Preinspection": "{'rustCorrosion':true,'chipsScratches':true,'dentsDamage':true,'seal':true,'dashboard':true,'upholstery':true,'trim':true}",
  • "Installation": "string",
  • "Postinspection": "string",
  • "customer_informed": true,
  • "technician_note": "string",
  • "tech_note_viewed": 0,
  • "tech_note_updated": 0,
  • "service_address": "{'description':'4525 Wasatch Blvd, Midvale, UT 84124','location':{'lat':40.6725461,'lng':-111.8023155}}",
  • "location_id": "2",
  • "requested_window_start": 0,
  • "requested_window_end": 0,
  • "receipt_sent": true,
  • "reschedule_reason": "string",
  • "reschedule_count": 0,
  • "Skills": "string",
  • "appointment_reminder_sent": 0,
  • "send_receipt": true,
  • "ignore_capacity": true,
  • "hold_reason": "string"
}

Response samples

Content type
application/json
1001

Capacity

Get location appointment capacities for the specified date range

Authorizations:
API Key
query Parameters
date1
required
string

The date at the beginning of the range (yyyy-mm-dd)

date2
required
string

The date at the end of the range (yyyy-mm-dd)

location_id
integer
territory_id
integer
lat
number
long
number
postal_code
integer

Responses

Request samples

curl --request GET \
  --url 'https://app.omegaedi.com/api/2.0/Appointments/Capacities?date1=SOME_STRING_VALUE&date2=SOME_STRING_VALUE&location_id=SOME_INTEGER_VALUE&territory_id=SOME_INTEGER_VALUE&lat=SOME_NUMBER_VALUE&long=SOME_NUMBER_VALUE&postal_code=SOME_INTEGER_VALUE' \
  --header 'api_key: REPLACE_KEY_VALUE'

List Appointment Items

List the items a technician needs for appointments that day

Authorizations:
API Key
query Parameters
q
required
string

Responses

Request samples

curl --request GET \
  --url 'https://app.omegaedi.com/api/2.0/Appointments/Items?q=SOME_STRING_VALUE' \
  --header 'api_key: REPLACE_KEY_VALUE'

List Inventory

Gives a list of all Inventory items

Authorizations:
API Key
query Parameters
territory_id
required
integer
location_id
required
integer
orderby
string
order
string
page
integer
filter
string
exclude_invoice_id
integer

Optional. If set, inventory items committed to the specified invoice_id will be excluded from the committed field in the response.

Responses

Request samples

curl --request GET \
  --url 'https://app.omegaedi.com/api/2.0/Inventory?territory_id=SOME_INTEGER_VALUE&location_id=SOME_INTEGER_VALUE&orderby=SOME_STRING_VALUE&order=SOME_STRING_VALUE&page=SOME_INTEGER_VALUE&filter=SOME_STRING_VALUE&exclude_invoice_id=SOME_INTEGER_VALUE' \
  --header 'api_key: REPLACE_KEY_VALUE'

Retrieve an appointment

Authorizations:
API Key
path Parameters
appointment_id
required
integer

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/Appointments/appointment_id \
  --header 'api_key: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
{
  • "id": "58",
  • "invoice_id": "10033",
  • "start_time": 0,
  • "end_time": 0,
  • "status": "OPEN",
  • "created": "1654573644",
  • "updated": "1674865622",
  • "started_time": "1654574930",
  • "ended_time": 0,
  • "started_latitude": 0,
  • "started_longitude": 0,
  • "ended_latitude": 0,
  • "ended_longitude": 0,
  • "note": "string",
  • "bay": 0,
  • "type": "mobile",
  • "user_id": "TECH",
  • "pre_signature": "string",
  • "signature": "string",
  • "completedSteps": "[1,2,3]",
  • "Preinspection": "{'rustCorrosion':true,'chipsScratches':true,'dentsDamage':true,'seal':true,'dashboard':true,'upholstery':true,'trim':true}",
  • "Installation": "string",
  • "Postinspection": "string",
  • "customer_informed": true,
  • "technician_note": "string",
  • "tech_note_viewed": 0,
  • "tech_note_updated": 0,
  • "service_address": "{'description':'4525 Wasatch Blvd, Midvale, UT 84124','location':{'lat':40.6725461,'lng':-111.8023155}}",
  • "location_id": "2",
  • "requested_window_start": 0,
  • "requested_window_end": 0,
  • "receipt_sent": true,
  • "reschedule_reason": "string",
  • "reschedule_count": 0,
  • "Skills": "string",
  • "guid": "string",
  • "appointment_reminder_sent": 0,
  • "send_receipt": true,
  • "ignore_capacity": true,
  • "hold_reason": "string"
}

Update an appointment

Authorizations:
API Key
path Parameters
appointment_id
required
integer
Request Body schema: application/json

Appointment object

invoice_id
required
integer
status
string
Enum: "OPEN" "CLOSED" "HOLD" "RESCHED"
started_latitude
number
started_longitude
number
ended_latitude
number
ended_longitude
number
note
string
bay
integer
type
string
Enum: "mobile" "inshop" "flat" "recal"
user_id
string <employee_number>
pre_signature
string
signature
string
Preinspection
string <JSON>
Installation
string
Postinspection
string
customer_informed
boolean
technician_note
string
tech_note_viewed
integer <Unix timestamp>
tech_note_updated
integer <Unix timestamp>
service_address
string <JSON>
location_id
required
integer
requested_window_start
integer <Unix timestamp>
requested_window_end
integer <Unix timestamp>
receipt_sent
boolean
reschedule_reason
string
reschedule_count
integer
Skills
string <JSON array of strings>
appointment_reminder_sent
integer <Unix timestamp>
send_receipt
boolean
ignore_capacity
boolean
hold_reason
string

Responses

Request samples

Content type
application/json
{
  • "invoice_id": "10033",
  • "status": "OPEN",
  • "started_latitude": 0,
  • "started_longitude": 0,
  • "ended_latitude": 0,
  • "ended_longitude": 0,
  • "note": "string",
  • "bay": 0,
  • "type": "mobile",
  • "user_id": "TECH",
  • "pre_signature": "string",
  • "signature": "string",
  • "Preinspection": "{'rustCorrosion':true,'chipsScratches':true,'dentsDamage':true,'seal':true,'dashboard':true,'upholstery':true,'trim':true}",
  • "Installation": "string",
  • "Postinspection": "string",
  • "customer_informed": true,
  • "technician_note": "string",
  • "tech_note_viewed": 0,
  • "tech_note_updated": 0,
  • "service_address": "{'description':'4525 Wasatch Blvd, Midvale, UT 84124','location':{'lat':40.6725461,'lng':-111.8023155}}",
  • "location_id": "2",
  • "requested_window_start": 0,
  • "requested_window_end": 0,
  • "receipt_sent": true,
  • "reschedule_reason": "string",
  • "reschedule_count": 0,
  • "Skills": "string",
  • "appointment_reminder_sent": 0,
  • "send_receipt": true,
  • "ignore_capacity": true,
  • "hold_reason": "string"
}

Payments

Retrieve a payment

Authorizations:
API Key
path Parameters
payment_id
required
integer

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/Payments/payment_id \
  --header 'api_key: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
{
  • "id": 9001,
  • "invoice_id": 1001,
  • "created_date": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "updated_date": "2019-08-24T14:15:22Z",
  • "updated_by": "string",
  • "payment_date": "2019-08-24",
  • "payment_batch_id": null,
  • "payment_method_id": 3,
  • "voided": false,
  • "gateway_response": "string",
  • "status": "complete",
  • "payment_type": "cash",
  • "original_payment_id": null,
  • "amount": "string",
  • "check_no": "1234",
  • "original_invoice_id": null,
  • "note": "A custom note"
}

Update a payment

Authorizations:
API Key
path Parameters
payment_id
required
integer
Request Body schema: application/json

Payment object

invoice_id
required
integer
payment_batch_id
integer or null <int64>
Default: null
payment_method_id
required
integer <int64>

The id of a valid payment method

voided
boolean
Default: false
gateway_response
string or null

Raw gateway response for credit card payments

status
string (PaymentStatus)
Enum: "complete" "held" "refunded" "pending" "draft"
payment_type
string (PaymentTypes)
Enum: "cash" "check" "ACH" "credit" "adjustment" "account" "other"
original_payment_id
integer or null
Default: null

For refunds only. The original payment's id that the refund is against

amount
required
string (Money) /^[0-9]+\.[0-9]{2}$/
check_no
string <= 64 characters
Default: ""

A reference number for the payment

original_invoice_id
integer or null
Default: null
note
string <= 128 characters
Default: ""

Responses

Request samples

Content type
application/json
{
  • "invoice_id": 1001,
  • "payment_batch_id": null,
  • "payment_method_id": 3,
  • "voided": false,
  • "gateway_response": "string",
  • "status": "complete",
  • "payment_type": "cash",
  • "original_payment_id": null,
  • "amount": "string",
  • "check_no": "1234",
  • "original_invoice_id": null,
  • "note": "A custom note"
}

Create a new payment

Authorizations:
API Key
Request Body schema: application/json

Payment object

invoice_id
required
integer
payment_batch_id
integer or null <int64>
Default: null
payment_method_id
required
integer <int64>

The id of a valid payment method

voided
boolean
Default: false
gateway_response
string or null

Raw gateway response for credit card payments

status
string (PaymentStatus)
Enum: "complete" "held" "refunded" "pending" "draft"
payment_type
string (PaymentTypes)
Enum: "cash" "check" "ACH" "credit" "adjustment" "account" "other"
original_payment_id
integer or null
Default: null

For refunds only. The original payment's id that the refund is against

amount
required
string (Money) /^[0-9]+\.[0-9]{2}$/
check_no
string <= 64 characters
Default: ""

A reference number for the payment

original_invoice_id
integer or null
Default: null
note
string <= 128 characters
Default: ""

Responses

Request samples

Content type
application/json
{
  • "invoice_id": 1001,
  • "payment_batch_id": null,
  • "payment_method_id": 3,
  • "voided": false,
  • "gateway_response": "string",
  • "status": "complete",
  • "payment_type": "cash",
  • "original_payment_id": null,
  • "amount": "string",
  • "check_no": "1234",
  • "original_invoice_id": null,
  • "note": "A custom note"
}

Response samples

Content type
application/json
1001

Create a new payment from a payment link.

Authorizations:
API Key
Request Body schema: application/json

Payment object - MUST use a payment method with payment_type of credit_authnet or credit_nmi

invoice_id
required
integer
payment_batch_id
integer or null <int64>
Default: null
payment_method_id
required
integer <int64>

The id of a valid payment method

voided
boolean
Default: false
gateway_response
string or null

Raw gateway response for credit card payments

status
string (PaymentStatus)
Enum: "complete" "held" "refunded" "pending" "draft"
payment_type
string (PaymentTypes)
Enum: "cash" "check" "ACH" "credit" "adjustment" "account" "other"
original_payment_id
integer or null
Default: null

For refunds only. The original payment's id that the refund is against

amount
required
string (Money) /^[0-9]+\.[0-9]{2}$/
check_no
string <= 64 characters
Default: ""

A reference number for the payment

original_invoice_id
integer or null
Default: null
note
string <= 128 characters
Default: ""

Responses

Request samples

Content type
application/json
{
  • "invoice_id": 1001,
  • "payment_batch_id": null,
  • "payment_method_id": 3,
  • "voided": false,
  • "gateway_response": "string",
  • "status": "complete",
  • "payment_type": "cash",
  • "original_payment_id": null,
  • "amount": "string",
  • "check_no": "1234",
  • "original_invoice_id": null,
  • "note": "A custom note"
}

Response samples

Content type
application/json
1001

Capture a payment

Captures the specified payment for settlement. Only applicable to payments in pending status creating using a credit_authnet payment method.

Authorizations:
API Key
path Parameters
payment_id
required
integer

Responses

Request samples

curl --request POST \
  --url https://app.omegaedi.com/api/2.0/Payments/payment_id/Capture \
  --header 'api_key: REPLACE_KEY_VALUE'

Payment Batches

List Payment Batches

Authorizations:
API Key

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/PaymentBatches \
  --header 'api_key: REPLACE_KEY_VALUE'

Create a PaymentBatch

Authorizations:
API Key

Responses

Request samples

curl --request POST \
  --url https://app.omegaedi.com/api/2.0/PaymentBatches \
  --header 'api_key: REPLACE_KEY_VALUE'

Delete a payment batch

Payment batches in draft status may be deleted. When a payment batch is deleted, all associated payments are also deleted.

Authorizations:
API Key
path Parameters
id
required
integer

Responses

Request samples

curl --request DELETE \
  --url https://app.omegaedi.com/api/2.0/PaymentBatches/id \
  --header 'api_key: REPLACE_KEY_VALUE'

Locations

Retrieve a location

  • Security Permission for API Key-
    • Needs INVOICE_VIEW_ALL or INVOICE_VIEW_OWN to access basic location information
    • Needs LOCATION_CREATE to access detailed location information
Authorizations:
API Key
path Parameters
location_id
required
string

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/Locations/location_id \
  --header 'api_key: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
{
  • "id": 2,
  • "number": "124-S",
  • "name": "Minneapolis",
  • "sales_tax_labor": 0,
  • "sales_tax_parts": 0,
  • "uses_taxjar": 0,
  • "timezone": "string",
  • "territory": 0,
  • "address": "string",
  • "address2": "string",
  • "city": "string",
  • "state": "string",
  • "zip": "string",
  • "telephone": "801-346-8389",
  • "active": "1",
  • "account_id": 0,
  • "latitude": "40.6725461",
  • "longitude": "-111.8023155",
  • "pricing_profile_id": 0,
  • "color": "#4280c2",
  • "notes": "string",
  • "email": "string",
  • "type": "SHOP",
  • "bays": 0,
  • "vans": 0,
  • "capacity": 0,
  • "user_group_id": 0,
  • "radius": "25",
  • "lead_time": "24",
  • "lynx_id_default": "string",
  • "pgw_ship_to_id": "string",
  • "pgw_enabled": 0,
  • "mygrant_customer_id": "string",
  • "mygrant_webuser_id": "string",
  • "mygrant_password": "string",
  • "mygrant_enabled": 0,
  • "default_account_id": 0,
  • "billing_account_id": 0,
  • "external_id": "string",
  • "pilkington_plant_code": "string",
  • "pilkington_username": "string",
  • "pilkington_password": "string",
  • "pilkington_shipto_id": "string",
  • "pilkington_enabled": 0,
  • "igc_api_key": "string",
  • "igc_origination_id": "string",
  • "igc_shipto_id": "string",
  • "igc_enabled": 0,
  • "custom_field": "string",
  • "pgw_address": "string",
  • "mygrant_address": "string",
  • "pilkington_address": "string",
  • "igc_address": "string",
  • "auto_parts_ordering": 0,
  • "pgw_priority": 0,
  • "mygrant_priority": 0,
  • "pilkington_priority": 0,
  • "igc_priority": 0,
  • "accepts_calibration": 0,
  • "Hours": [ ],
  • "PostalCodes": [ ],
  • "LynxIds": [ ],
  • "GNCSIds": [ ],
  • "TaxRates": [ ],
  • "enabled_vendors": "['MYG','PGW','MAN']"
}

Update an existing location

Authorizations:
API Key
path Parameters
location_id
required
string

Responses

Request samples

curl --request PUT \
  --url https://app.omegaedi.com/api/2.0/Locations/location_id \
  --header 'api_key: REPLACE_KEY_VALUE'

List available appointment times for a location

Get time slots for available appointments at a location for the next 7 days.

The appointment slots are based on the location's capacity, hours of operation, lead time, and existing appointments for each day.

Authorizations:
API Key
path Parameters
location_id
required
integer
query Parameters
type
string
Default: "mobile"
Enum: "inshop" "mobile"

Whether the appointment is in-shop or mobile.

  • 'inshop' will give you appointment slots in 2-hour increments.
  • 'mobile' will give you slots for before noon and after noon (e.g. 7:00 to noon or noon to 18:00)

Responses

Request samples

curl --request GET \
  --url 'https://app.omegaedi.com/api/2.0/Locations/location_id/AppointmentSlots?type=SOME_STRING_VALUE' \
  --header 'api_key: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
[
  • {
    }
]

Get locations

Authorizations:
API Key

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/Locations \
  --header 'api_key: REPLACE_KEY_VALUE'

Create new location

Authorizations:
API Key

Responses

Request samples

curl --request POST \
  --url https://app.omegaedi.com/api/2.0/Locations \
  --header 'api_key: REPLACE_KEY_VALUE'

Search for locations

Authorizations:
API Key
query Parameters
postal_code
required
string
radius
string

Responses

Request samples

curl --request GET \
  --url 'https://app.omegaedi.com/api/2.0/Locations/search/?postal_code=SOME_STRING_VALUE&radius=SOME_STRING_VALUE' \
  --header 'api_key: REPLACE_KEY_VALUE'

Get quotes locations around the specified ZIP code

Authorizations:
API Key
query Parameters
postal_code
required
string
radius
string

Responses

Request samples

curl --request GET \
  --url 'https://app.omegaedi.com/api/2.0/Locations/Quotes/?postal_code=SOME_STRING_VALUE&radius=SOME_STRING_VALUE' \
  --header 'api_key: REPLACE_KEY_VALUE'

Companies

Update an existing company

  • Security Permission for API Key-
    • Needs VENDOR_CREATE to create/modify Vendor Company type
    • Needs COMPANY_CREATE to create/modify to all Company types
Authorizations:
API Key
query Parameters
company_id
required
integer

Responses

Request samples

curl --request PUT \
  --url 'https://app.omegaedi.com/api/2.0/Companies/company_id?company_id=SOME_INTEGER_VALUE' \
  --header 'api_key: REPLACE_KEY_VALUE'

List companies

Authorizations:
API Key
path Parameters
q
string

Search by company company, email, external_id, city, state, postal_code, telephone, and alternate_phone.

query Parameters
page
integer

Page

type
string

Type

active_only
boolean

Only return companies that are active

location_id
integer
account_manager_id
string

employee_number of the account manager

publicly_visible
boolean
id
integer

ID of the Company

is_referrer
boolean

Responses

Request samples

curl --request GET \
  --url 'https://app.omegaedi.com/api/2.0/Companies?page=SOME_INTEGER_VALUE&type=SOME_STRING_VALUE&active_only=SOME_BOOLEAN_VALUE&location_id=SOME_INTEGER_VALUE&account_manager_id=SOME_STRING_VALUE&publicly_visible=SOME_BOOLEAN_VALUE&id=SOME_INTEGER_VALUE&is_referrer=SOME_BOOLEAN_VALUE' \
  --header 'api_key: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
{
  • "id": 42,
  • "company": "Allstate",
  • "pricing_profile_id": "1",
  • "active": 1,
  • "instructions": "string",
  • "telephone": "800-676-5456",
  • "alternate_phone": "800-626-4527",
  • "pid": "09015",
  • "type": "insurance",
  • "email": "something@gmail.com",
  • "city": "New York",
  • "state": "NY",
  • "postal_code": "12345",
  • "use_on_invoice": "0",
  • "contact_name": "Harry Osborne",
  • "address": "123 Example St",
  • "address2": "",
  • "tax_exempt": 0,
  • "account_manager_id": "timn.mcgee",
  • "RequiredFields": "[]",
  • "all_pricing_profiles": 0,
  • "default_po": "1234567",
  • "default_service_address": null,
  • "Tags": [ ],
  • "terms": "0",
  • "campaign": "string",
  • "is_referrer": "0",
  • "PricingProfiles": "['1','3']",
  • "labor_tax_override": "0"
}

Create a new company

  • Security Permission for API Key-
    • Needs VENDOR_CREATE to create/modify Vendor Company type
    • Needs LEAD_CREATE to create/modify to Lead Company type
    • Needs COMPANY_CREATE to create/modify to all Company types
Authorizations:
API Key
Request Body schema: application/json

Company object

company
required
string <= 50 characters

The name of the company

pricing_profile_id
integer
active
integer

1 = true, 0 = false

instructions
string
pid
any

Invoicing destination

type
required
string (Company Types)
Enum: "insurance" "individual" "insurance_claims_office" "insurance_agency" "commercial_fleet" "commercial_body_shop" "commercial_rental" "commercial_dealership" "commercial" "vendor" "nonbillable" "lead"
email
string
city
string
state
string
postal_code
string
use_on_invoice
integer
contact_name
string
address
string
address2
string
tax_exempt
integer
account_manager_id
string
RequiredFields
Array of arrays
all_pricing_profiles
integer
default_po
string
default_service_address
string
Tags
Array of arrays
terms
integer
campaign
string
is_referrer
integer
PricingProfiles
Array of arrays
labor_tax_override
number or null

Responses

Request samples

Content type
application/json
{
  • "company": "Allstate",
  • "pricing_profile_id": "1",
  • "active": 1,
  • "instructions": "string",
  • "pid": "09015",
  • "type": "insurance",
  • "email": "something@gmail.com",
  • "city": "New York",
  • "state": "NY",
  • "postal_code": "12345",
  • "use_on_invoice": "0",
  • "contact_name": "Harry Osborne",
  • "address": "123 Example St",
  • "address2": "",
  • "tax_exempt": 0,
  • "account_manager_id": "timn.mcgee",
  • "RequiredFields": "[]",
  • "all_pricing_profiles": 0,
  • "default_po": "1234567",
  • "default_service_address": null,
  • "Tags": [ ],
  • "terms": "0",
  • "campaign": "string",
  • "is_referrer": "0",
  • "PricingProfiles": "['1','3']",
  • "labor_tax_override": "0"
}

Response samples

Content type
application/json
57

Get a company

Authorizations:
API Key
path Parameters
id
required
integer

Company ID

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/Companies/id \
  --header 'api_key: REPLACE_KEY_VALUE'

Render an open item statement (HTML)

Authorizations:
API Key

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/Companies/id/Statement.html \
  --header 'api_key: REPLACE_KEY_VALUE'

Render a balance forward statment (HTML)

Authorizations:
API Key

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/Companies/id/BalanceForwardStatement.html \
  --header 'api_key: REPLACE_KEY_VALUE'

Transactions

List transactions

Returns a list of transactions matching the specified filter(s). Results will be paginated to 10 results per page

Authorizations:
API Key
query Parameters
date1
string <date>
date2
string <date>
starting_after
integer

A cursor for use in pagination. starting_after is an transaction ID that defines your place in the list. For instance, if you make a list request and receive 100 transactions, ending with 1337, your subsequent call can include starting_after=1337 in order to fetch the next page of the list.

type
string
Enum: "invoiced" "void" "payment" "refund"
skip_imported
boolean

Set this to 'true' if you only want to include transactions that have not yet been imported

Responses

Request samples

curl --request GET \
  --url 'https://app.omegaedi.com/api/2.0/Transactions?date1=SOME_STRING_VALUE&date2=SOME_STRING_VALUE&starting_after=SOME_INTEGER_VALUE&type=SOME_STRING_VALUE&skip_imported=SOME_BOOLEAN_VALUE' \
  --header 'api_key: REPLACE_KEY_VALUE'

Update a transaction

Only imported and import_message fields may be updated, the rest are read-only

Authorizations:
API Key
path Parameters
transaction_id
required
integer
Request Body schema: application/json

Transaction object

imported
string or null <date-time>

Date/time of successful import

import_message
string or null

Error message if import failed

Responses

Request samples

Content type
application/json
{
  • "imported": "2021-02-24 08:00:00",
  • "import_message": "Account not found"
}

Interactions

Interactions

Authorizations:
API Key
query Parameters
user_id
string
email
string
source
string
campaign
string
medium
string
content
string
term
string
invoice_id
number
source_id
string

If source ID is provided, it MUST uniquely identify the interaction. If subsequent requests with the same source_id are received the original interaction will be updated and date_end will be set so duration can be reported.

note
string

Responses

Request samples

curl --request POST \
  --url 'https://app.omegaedi.com/api/2.0/Interactions?user_id=SOME_STRING_VALUE&email=SOME_STRING_VALUE&source=SOME_STRING_VALUE&campaign=SOME_STRING_VALUE&medium=SOME_STRING_VALUE&content=SOME_STRING_VALUE&term=SOME_STRING_VALUE&invoice_id=SOME_NUMBER_VALUE&source_id=SOME_STRING_VALUE&note=SOME_STRING_VALUE' \
  --header 'api_key: REPLACE_KEY_VALUE'

NAGS Vehicles

Endpoints for interacting with NAGS vehicles.

List years

Returns a list of valid model years.

Authorizations:
API Key

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/NhtsaVehicles/search \
  --header 'api_key: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
[
  • "2022",
  • "2021",
  • "2020",
  • "2019",
  • "2018",
  • "2017",
  • "2016",
  • "2015",
  • "2014",
  • "2013",
  • "2012",
  • "2011",
  • "2010",
  • "2009",
  • "2008"
]

List years

Returns a list of valid model years.

Authorizations:
API Key

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/NagsVehicles/search \
  --header 'api_key: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
[
  • "2022",
  • "2021",
  • "2020",
  • "2019",
  • "2018",
  • "2017",
  • "2016",
  • "2015",
  • "2014",
  • "2013",
  • "2012",
  • "2011",
  • "2010",
  • "2009",
  • "2008"
]

List models

List valid models for the given year.

Authorizations:
API Key
path Parameters
year
required
integer
Example: 2014

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/NagsVehicles/search/2014 \
  --header 'api_key: REPLACE_KEY_VALUE'

List models

List models for the given year and make_id

Authorizations:
API Key
path Parameters
year
required
integer
make_id
required
integer

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/NagsVehicles/search/year/make_id \
  --header 'api_key: REPLACE_KEY_VALUE'

Get NAGS Vehicles

Returns a list of all NAGS vehicles matching the year, make_id, and model_id.

This should be the final step in searching for a NagsVehicle since it contains the vehicle ID

Authorizations:
API Key
path Parameters
year
required
integer
make_id
required
integer
model_id
required
integer
query Parameters
modifier_id
integer

Responses

Request samples

curl --request GET \
  --url 'https://app.omegaedi.com/api/2.0/NagsVehicles/search/year/make_id/model_id?modifier_id=SOME_INTEGER_VALUE' \
  --header 'api_key: REPLACE_KEY_VALUE'

Retrieve a NAGS Vehicle

Authorizations:
API Key
path Parameters
vehicle_id
required
string

Must be either the NAGS car ID or a 17 character VIN. If a VIN is provided the system will attempt to automatically match the correct NAGS vehicle.

query Parameters
load_glass
string
Default: "WINDSHIELD"
Enum: "WINDSHIELD" "SIDE" "REAR" "OTHER"

Whether or not to load glass configurations. If omitted or empty no glass will be loaded. WINDSHIELD = front windshield, SIDE = side glass, REAR = rear glass, OTHER = special parts (partition, flat glass, etc)

vin
string (VIN) [ 13 .. 17 ] characters

Optional. VIN for the vehicle. If a NAGS CarID was used and this option is specified, a list of matches will be returned along with the NagsGlass element. If a VIN is provided for the vehicle ID, this option is ignored.

load_options
boolean

Optional. If set the corresponding year, make, model, and trim options will be returned in the Options key. Useful for populating dropdown menus.

user
string <= 64 characters

Optional. If specified, the user will be avaible on the VIN Queries report. Useful for billing purposes.

Responses

Request samples

curl --request GET \
  --url 'https://app.omegaedi.com/api/2.0/NagsVehicles/vehicle_id?load_glass=SOME_STRING_VALUE&vin=SOME_STRING_VALUE&load_options=SOME_BOOLEAN_VALUE&user=SOME_STRING_VALUE' \
  --header 'api_key: REPLACE_KEY_VALUE'

Retrieva a vehicle graphic

Get the specified graphic in png format

Authorizations:
API Key
path Parameters
graphic_id
required
string

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/NagsVehicles/Graphics/graphic_id \
  --header 'api_key: REPLACE_KEY_VALUE'

NAGS Parts

Get a part for the specified part ID

Authorizations:
API Key
path Parameters
nags_hw_id
required
string

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/NagsParts/Hardware/nags_hw_id \
  --header 'api_key: REPLACE_KEY_VALUE'

Retrieve a glass graphic

Get the specified glass graphic in png format

Authorizations:
API Key
path Parameters
graphic_id
required
string

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/NagsParts/NagsGlass/Graphics/graphic_id \
  --header 'api_key: REPLACE_KEY_VALUE'

NAGS Services

Get a part for the specified service ID

Authorizations:
API Key
path Parameters
nags_service_id
required
integer

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/NagsParts/Services/nags_service_id \
  --header 'api_key: REPLACE_KEY_VALUE'

NAGS Quotes

Get a part for the specified part ID

Authorizations:
API Key
path Parameters
vehicle_id
required
integer
nags_part_number
required
string

Full NAGS part number (eg DW01659GBYN)

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/NagsQuotes/vehicle_id/nags_part_number \
  --header 'api_key: REPLACE_KEY_VALUE'

Users

Get users

Authorizations:
API Key

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/Users \
  --header 'api_key: REPLACE_KEY_VALUE'

Create a new user

Authorizations:
API Key
Request Body schema: application/json

User object

employee_number
required
string
password
required
string <password> >= 8 characters
security_level
required
integer
role_id
required
integer
email
string
fname
string

First Name

lname
string
user_group_id
integer
telephone
string
active
boolean
location_id
integer
type
string
Enum: "mobile" "user" "inshop" "account_manager"
address
string
ending_address
string
color
string
inshop_only
boolean
works_mon
boolean
works_tue
boolean
works_wed
boolean
works_thu
boolean
works_fri
boolean
works_sat
boolean
works_sun
boolean
capacity
integer
time_off_start
string <date>
time_off_end
string <date>
timezone
string
Skills
Array of integers

Responses

Request samples

Content type
application/json
{
  • "employee_number": "MyUsername",
  • "password": "AVerySecurePassw0rd!",
  • "security_level": "2.00",
  • "role_id": "1",
  • "email": "email@example.com",
  • "fname": "Charles",
  • "lname": "Xavier",
  • "user_group_id": 2,
  • "telephone": "555-555-5555",
  • "active": "true",
  • "location_id": 3,
  • "type": "mobile",
  • "address": "21 Jump St.",
  • "ending_address": "221b Baker Street",
  • "color": "#BCBCBC",
  • "inshop_only": false,
  • "works_mon": true,
  • "works_tue": true,
  • "works_wed": true,
  • "works_thu": true,
  • "works_fri": true,
  • "works_sat": false,
  • "works_sun": false,
  • "capacity": 5,
  • "time_off_start": "2021-12-23",
  • "time_off_end": "2022-01-02",
  • "timezone": "America/Denver",
  • "Skills": [
    ]
}

Response samples

Content type
application/json
"MyUsername"

Get a user

Authorizations:
API Key
path Parameters
username
required
string

employee_number of user

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/Users/username \
  --header 'api_key: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
{
  • "employee_number": "MyUsername",
  • "password": "AVerySecurePassw0rd!",
  • "security_level": "2.00",
  • "role_id": "1",
  • "email": "email@example.com",
  • "fname": "Charles",
  • "lname": "Xavier",
  • "user_group_id": 2,
  • "telephone": "555-555-5555",
  • "active": "true",
  • "location_id": 3,
  • "type": "mobile",
  • "address": "21 Jump St.",
  • "ending_address": "221b Baker Street",
  • "color": "#BCBCBC",
  • "inshop_only": false,
  • "works_mon": true,
  • "works_tue": true,
  • "works_wed": true,
  • "works_thu": true,
  • "works_fri": true,
  • "works_sat": false,
  • "works_sun": false,
  • "capacity": 5,
  • "time_off_start": "2021-12-23",
  • "time_off_end": "2022-01-02",
  • "timezone": "America/Denver",
  • "Skills": [
    ]
}

Update an existing user

Authorizations:
API Key
path Parameters
employee_number
required
string
Request Body schema: application/json

User object

employee_number
required
string
password
required
string <password> >= 8 characters
security_level
required
integer
role_id
required
integer
email
string
fname
string

First Name

lname
string
user_group_id
integer
telephone
string
active
boolean
location_id
integer
type
string
Enum: "mobile" "user" "inshop" "account_manager"
address
string
ending_address
string
color
string
inshop_only
boolean
works_mon
boolean
works_tue
boolean
works_wed
boolean
works_thu
boolean
works_fri
boolean
works_sat
boolean
works_sun
boolean
capacity
integer
time_off_start
string <date>
time_off_end
string <date>
timezone
string
Skills
Array of integers

Responses

Request samples

Content type
application/json
{
  • "employee_number": "MyUsername",
  • "password": "AVerySecurePassw0rd!",
  • "security_level": "2.00",
  • "role_id": "1",
  • "email": "email@example.com",
  • "fname": "Charles",
  • "lname": "Xavier",
  • "user_group_id": 2,
  • "telephone": "555-555-5555",
  • "active": "true",
  • "location_id": 3,
  • "type": "mobile",
  • "address": "21 Jump St.",
  • "ending_address": "221b Baker Street",
  • "color": "#BCBCBC",
  • "inshop_only": false,
  • "works_mon": true,
  • "works_tue": true,
  • "works_wed": true,
  • "works_thu": true,
  • "works_fri": true,
  • "works_sat": false,
  • "works_sun": false,
  • "capacity": 5,
  • "time_off_start": "2021-12-23",
  • "time_off_end": "2022-01-02",
  • "timezone": "America/Denver",
  • "Skills": [
    ]
}

Save favorite_reports for this user

Authorizations:
API Key
path Parameters
employee_number
required
string

Responses

Request samples

curl --request PUT \
  --url https://app.omegaedi.com/api/2.0/Users/:employee_number/FavoriteReports \
  --header 'api_key: REPLACE_KEY_VALUE'

Save Views for this user

Authorizations:
API Key
path Parameters
employee_number
required
string

Responses

Request samples

curl --request PUT \
  --url https://app.omegaedi.com/api/2.0/Users/:employee_number/Views \
  --header 'api_key: REPLACE_KEY_VALUE'

User Groups

List user groups

Authorizations:
API Key

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/UserGroups \
  --header 'api_key: REPLACE_KEY_VALUE'

Create a UserGroup

Authorizations:
API Key

Responses

Request samples

curl --request POST \
  --url https://app.omegaedi.com/api/2.0/UserGroups \
  --header 'api_key: REPLACE_KEY_VALUE'

Update a user group

Authorizations:
API Key
path Parameters
user_group_id
required
integer

Responses

Request samples

curl --request PUT \
  --url https://app.omegaedi.com/api/2.0/UserGroups/user_group_id \
  --header 'api_key: REPLACE_KEY_VALUE'

Delete a user group

Authorizations:
API Key
path Parameters
user_group_id
required
integer

Responses

Request samples

curl --request DELETE \
  --url https://app.omegaedi.com/api/2.0/UserGroups/:user_group_id \
  --header 'api_key: REPLACE_KEY_VALUE'

Retrieve a user group

Authorizations:
API Key
path Parameters
id
required
integer

user_group_id

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/UserGroups/id \
  --header 'api_key: REPLACE_KEY_VALUE'

Roles

List security roles

Authorizations:
API Key

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/Roles \
  --header 'api_key: REPLACE_KEY_VALUE'

Create new role

Authorizations:
API Key
Request Body schema: application/json

Role object

role_name
required
string
invoice_create
integer
invoice_void
integer
invoice_view_all
integer
invoice_view_group
integer
payment_create
integer
create_appointment
integer
create_purchase_order
integer
appointment_view_future
integer
reports_view
integer
create_scheduled_report
integer
dashboard_view_all
integer
dashboard_view_group
integer
create_user
integer
create_location
integer
create_pricing_profile
integer
create_company
integer
create_template
integer
create_payment_method
integer
create_part_note
integer
invoice_modify_salesman_1_id
integer
invoice_modify_salesman_2_id
integer
invoice_modify_pricing
integer
invoice_modify_cost
integer
invoice_modify_location_id
integer
invoice_modify_job_status
integer
invoice_modify_closed
integer
appointment_modify_closed
integer
payment_modify
integer
purchase_order_modify_closed
integer
invoice_modify_tax
integer
technician_view_override
integer
appointment_reschedule
integer
appointment_schedule
integer
appointment_delete
integer
invoice_send
integer
invoice_modify_invoiced
integer
inventory_modify
integer
create_skill
integer
attachment_delete
integer
message_send
integer
capacity_override
integer
capacity_overbook
integer
invoice_note_modify
integer
sale_item_create
integer
vendor_create
integer
vendor_invoice_create
integer
invoice_void_work_order
integer
invoice_void_invoice
integer
create_tag
integer

Responses

Request samples

Content type
application/json
{
  • "role_name": "System Administrator",
  • "invoice_create": "1",
  • "invoice_void": "1",
  • "invoice_view_all": "1",
  • "invoice_view_group": "1",
  • "payment_create": "1",
  • "create_appointment": "1",
  • "create_purchase_order": "1",
  • "appointment_view_future": "1",
  • "reports_view": "1",
  • "create_scheduled_report": "1",
  • "dashboard_view_all": "1",
  • "dashboard_view_group": "1",
  • "create_user": "1",
  • "create_location": "1",
  • "create_pricing_profile": "1",
  • "create_company": "1",
  • "create_template": "1",
  • "create_payment_method": "1",
  • "create_part_note": "1",
  • "invoice_modify_salesman_1_id": "1",
  • "invoice_modify_salesman_2_id": "1",
  • "invoice_modify_pricing": "1",
  • "invoice_modify_cost": "1",
  • "invoice_modify_location_id": "1",
  • "invoice_modify_job_status": "1",
  • "invoice_modify_closed": "1",
  • "appointment_modify_closed": "1",
  • "payment_modify": "1",
  • "purchase_order_modify_closed": "1",
  • "invoice_modify_tax": "1",
  • "technician_view_override": "1",
  • "appointment_reschedule": "1",
  • "appointment_schedule": "1",
  • "appointment_delete": "1",
  • "invoice_send": "1",
  • "invoice_modify_invoiced": "1",
  • "inventory_modify": "1",
  • "create_skill": "1",
  • "attachment_delete": "1",
  • "message_send": "1",
  • "capacity_override": null,
  • "capacity_overbook": "1",
  • "invoice_note_modify": "0",
  • "sale_item_create": "0",
  • "vendor_create": "0",
  • "vendor_invoice_create": "1",
  • "invoice_void_work_order": "1",
  • "invoice_void_invoice": "1",
  • "create_tag": "1"
}

Response samples

Content type
application/json
31

Get the security role associated with the ID

Authorizations:
API Key
path Parameters
id
required
integer

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/Roles/id \
  --header 'api_key: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
{
  • "id": "1",
  • "role_name": "System Administrator",
  • "invoice_create": "1",
  • "invoice_void": "1",
  • "invoice_view_all": "1",
  • "invoice_view_group": "1",
  • "payment_create": "1",
  • "create_appointment": "1",
  • "create_purchase_order": "1",
  • "appointment_view_future": "1",
  • "reports_view": "1",
  • "create_scheduled_report": "1",
  • "dashboard_view_all": "1",
  • "dashboard_view_group": "1",
  • "create_user": "1",
  • "create_location": "1",
  • "create_pricing_profile": "1",
  • "create_company": "1",
  • "create_template": "1",
  • "create_payment_method": "1",
  • "create_part_note": "1",
  • "invoice_modify_salesman_1_id": "1",
  • "invoice_modify_salesman_2_id": "1",
  • "invoice_modify_pricing": "1",
  • "invoice_modify_cost": "1",
  • "invoice_modify_location_id": "1",
  • "invoice_modify_job_status": "1",
  • "invoice_modify_closed": "1",
  • "appointment_modify_closed": "1",
  • "payment_modify": "1",
  • "purchase_order_modify_closed": "1",
  • "invoice_modify_tax": "1",
  • "technician_view_override": "1",
  • "appointment_reschedule": "1",
  • "appointment_schedule": "1",
  • "appointment_delete": "1",
  • "invoice_send": "1",
  • "invoice_modify_invoiced": "1",
  • "inventory_modify": "1",
  • "create_skill": "1",
  • "attachment_delete": "1",
  • "message_send": "1",
  • "capacity_override": null,
  • "capacity_overbook": "1",
  • "invoice_note_modify": "0",
  • "sale_item_create": "0",
  • "vendor_create": "0",
  • "vendor_invoice_create": "1",
  • "invoice_void_work_order": "1",
  • "invoice_void_invoice": "1",
  • "create_tag": "1"
}

Update an existing role

Authorizations:
API Key
path Parameters
id
required
integer
Request Body schema: application/json

Role object

role_name
required
string
invoice_create
integer
invoice_void
integer
invoice_view_all
integer
invoice_view_group
integer
payment_create
integer
create_appointment
integer
create_purchase_order
integer
appointment_view_future
integer
reports_view
integer
create_scheduled_report
integer
dashboard_view_all
integer
dashboard_view_group
integer
create_user
integer
create_location
integer
create_pricing_profile
integer
create_company
integer
create_template
integer
create_payment_method
integer
create_part_note
integer
invoice_modify_salesman_1_id
integer
invoice_modify_salesman_2_id
integer
invoice_modify_pricing
integer
invoice_modify_cost
integer
invoice_modify_location_id
integer
invoice_modify_job_status
integer
invoice_modify_closed
integer
appointment_modify_closed
integer
payment_modify
integer
purchase_order_modify_closed
integer
invoice_modify_tax
integer
technician_view_override
integer
appointment_reschedule
integer
appointment_schedule
integer
appointment_delete
integer
invoice_send
integer
invoice_modify_invoiced
integer
inventory_modify
integer
create_skill
integer
attachment_delete
integer
message_send
integer
capacity_override
integer
capacity_overbook
integer
invoice_note_modify
integer
sale_item_create
integer
vendor_create
integer
vendor_invoice_create
integer
invoice_void_work_order
integer
invoice_void_invoice
integer
create_tag
integer

Responses

Request samples

Content type
application/json
{
  • "role_name": "System Administrator",
  • "invoice_create": "1",
  • "invoice_void": "1",
  • "invoice_view_all": "1",
  • "invoice_view_group": "1",
  • "payment_create": "1",
  • "create_appointment": "1",
  • "create_purchase_order": "1",
  • "appointment_view_future": "1",
  • "reports_view": "1",
  • "create_scheduled_report": "1",
  • "dashboard_view_all": "1",
  • "dashboard_view_group": "1",
  • "create_user": "1",
  • "create_location": "1",
  • "create_pricing_profile": "1",
  • "create_company": "1",
  • "create_template": "1",
  • "create_payment_method": "1",
  • "create_part_note": "1",
  • "invoice_modify_salesman_1_id": "1",
  • "invoice_modify_salesman_2_id": "1",
  • "invoice_modify_pricing": "1",
  • "invoice_modify_cost": "1",
  • "invoice_modify_location_id": "1",
  • "invoice_modify_job_status": "1",
  • "invoice_modify_closed": "1",
  • "appointment_modify_closed": "1",
  • "payment_modify": "1",
  • "purchase_order_modify_closed": "1",
  • "invoice_modify_tax": "1",
  • "technician_view_override": "1",
  • "appointment_reschedule": "1",
  • "appointment_schedule": "1",
  • "appointment_delete": "1",
  • "invoice_send": "1",
  • "invoice_modify_invoiced": "1",
  • "inventory_modify": "1",
  • "create_skill": "1",
  • "attachment_delete": "1",
  • "message_send": "1",
  • "capacity_override": null,
  • "capacity_overbook": "1",
  • "invoice_note_modify": "0",
  • "sale_item_create": "0",
  • "vendor_create": "0",
  • "vendor_invoice_create": "1",
  • "invoice_void_work_order": "1",
  • "invoice_void_invoice": "1",
  • "create_tag": "1"
}

Delete a security role

Authorizations:
API Key
path Parameters
id
required
integer

Responses

Request samples

curl --request DELETE \
  --url https://app.omegaedi.com/api/2.0/Roles/role_id \
  --header 'api_key: REPLACE_KEY_VALUE'

Session

Authenticate

Authenticate a user and create a session.

Authorizations:
API Key
Request Body schema: application/json

Login details

username
required
string

Username

password
required
string

Password

folder
required
string

Subdomain

Responses

Request samples

Content type
application/json
{
  • "username": "ADMIN",
  • "password": "SecretPassword123",
  • "folder": "myaccount"
}

Logout

Log out & invalidate the current session

Authorizations:
API Key

Responses

Request samples

curl --request DELETE \
  --url https://app.omegaedi.com/api/2.0/Authenticate \
  --header 'api_key: REPLACE_KEY_VALUE'

Purchase Orders

Receive multiple parts against Purchase Orders Deprecated

Authorizations:
API Key

Responses

Request samples

curl --request PUT \
  --url https://app.omegaedi.com/api/2.0/PurchaseOrders/ReceiveItems \
  --header 'api_key: REPLACE_KEY_VALUE'

Receive multiple parts against Purchase Orders

Authorizations:
API Key

Responses

Request samples

curl --request PUT \
  --url https://app.omegaedi.com/api/2.0/PurchaseOrders/ReceiveItems/new \
  --header 'api_key: REPLACE_KEY_VALUE'

Returns a list of invoices matching the optional filter(s)

Authorizations:
API Key
query Parameters
date1
string <date>
date2
string <date>
filter
string

Responses

Request samples

curl --request GET \
  --url 'https://app.omegaedi.com/api/2.0/PurchaseOrders?date1=SOME_STRING_VALUE&date2=SOME_STRING_VALUE&filter=SOME_STRING_VALUE' \
  --header 'api_key: REPLACE_KEY_VALUE'

Create a new purchase order

Authorizations:
API Key

Responses

Request samples

curl --request POST \
  --url https://app.omegaedi.com/api/2.0/PurchaseOrders \
  --header 'api_key: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
1001

Get the specified purchase order

Authorizations:
API Key
path Parameters
purchase_order_id
required
integer

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/PurchaseOrders/purchase_order_id \
  --header 'api_key: REPLACE_KEY_VALUE'

Update an existing purchase order

Authorizations:
API Key

Responses

Request samples

curl --request PUT \
  --url https://app.omegaedi.com/api/2.0/PurchaseOrders/purchase_order_id \
  --header 'api_key: REPLACE_KEY_VALUE'

Vendor Invoices

List vendor invoices

Authorizations:
API Key
query Parameters
filter
string

Search by reference, company, id, purchase_order_id, or vendor invoice item reference.

date1
string <date>
date2
string <date>
approved_date1
string <date>
approved_date2
string <date>
page
integer
Default: 1

Responses

Request samples

curl --request GET \
  --url 'https://app.omegaedi.com/api/2.0/VendorInvoices?filter=SOME_STRING_VALUE&date1=SOME_STRING_VALUE&date2=SOME_STRING_VALUE&approved_date1=SOME_STRING_VALUE&approved_date2=SOME_STRING_VALUE&page=SOME_INTEGER_VALUE' \
  --header 'api_key: REPLACE_KEY_VALUE'

Update a vendor invoice

Authorizations:
API Key

Responses

Request samples

curl --request PUT \
  --url https://app.omegaedi.com/api/2.0/VendorInvoices \
  --header 'api_key: REPLACE_KEY_VALUE'

Create a vendor invoice

Authorizations:
API Key

Responses

Request samples

curl --request POST \
  --url https://app.omegaedi.com/api/2.0/VendorInvoices \
  --header 'api_key: REPLACE_KEY_VALUE'

Get all vendor invoice items matching the filter(s)

Authorizations:
API Key

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/VendorInvoices/Items \
  --header 'api_key: REPLACE_KEY_VALUE'

Get a Vendor Invoice by ID

Authorizations:
API Key

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/VendorInvoices/id \
  --header 'api_key: REPLACE_KEY_VALUE'

Update a vendor invoice item

Authorizations:
API Key
path Parameters
id
required
integer
vendor_invoice_item_id
required
integer

Responses

Request samples

curl --request PUT \
  --url https://app.omegaedi.com/api/2.0/VendorInvoices/id/Items/vendor_invoice_item_id \
  --header 'api_key: REPLACE_KEY_VALUE'

Inventory

List Inventory

Gives a list of all Inventory items

Authorizations:
API Key
query Parameters
territory_id
required
integer
location_id
required
integer
orderby
string
order
string
page
integer
filter
string
exclude_invoice_id
integer

Optional. If set, inventory items committed to the specified invoice_id will be excluded from the committed field in the response.

Responses

Request samples

curl --request GET \
  --url 'https://app.omegaedi.com/api/2.0/Inventory?territory_id=SOME_INTEGER_VALUE&location_id=SOME_INTEGER_VALUE&orderby=SOME_STRING_VALUE&order=SOME_STRING_VALUE&page=SOME_INTEGER_VALUE&filter=SOME_STRING_VALUE&exclude_invoice_id=SOME_INTEGER_VALUE' \
  --header 'api_key: REPLACE_KEY_VALUE'

Create or Adjust Inventory

Creates a new inventory item.

Authorizations:
API Key
query Parameters
sku
required
string
stock
required
integer
location_id
required
integer
adjustment_reason
required
string
note
required
string
cost
string
par
integer
brand
string

Responses

Request samples

curl --request POST \
  --url 'https://app.omegaedi.com/api/2.0/Inventory?sku=SOME_STRING_VALUE&stock=SOME_INTEGER_VALUE&location_id=SOME_INTEGER_VALUE&adjustment_reason=SOME_STRING_VALUE&note=SOME_STRING_VALUE&cost=SOME_STRING_VALUE&par=SOME_INTEGER_VALUE&brand=SOME_STRING_VALUE' \
  --header 'api_key: REPLACE_KEY_VALUE'

Updates Inventory summary

Updates Inventory summary(location and parts field) for any particular sku

Authorizations:
API Key
path Parameters
location_id
required
string
Request Body schema: application/json

Inventory object

sku
required
string <= 32 characters
committed
integer
stock
integer
cost
string

Cost of the Inventory

location_id
string

Location_id of the selected location

par
required
integer

Parts Available

location
required
string

Location

brand
required
string

Brand name

Responses

Request samples

Content type
application/json
{
  • "sku": "SKU ID",
  • "committed": "1",
  • "stock": "1",
  • "cost": "10.0",
  • "location_id": "1",
  • "par": "5",
  • "location": "Default",
  • "brand": ""
}

Transfers Inventory

Moves Inventory from one location to another while also updating the stock from both locations

Authorizations:
API Key
query Parameters
sku
required
string
stock
required
integer
from_location_id
required
string
to_location_id
required
string
brand
string

Responses

Request samples

curl --request POST \
  --url 'https://app.omegaedi.com/api/2.0/Inventory/Transfer?sku=SOME_STRING_VALUE&stock=SOME_INTEGER_VALUE&from_location_id=SOME_STRING_VALUE&to_location_id=SOME_STRING_VALUE&brand=SOME_STRING_VALUE' \
  --header 'api_key: REPLACE_KEY_VALUE'

Coupons

Calculate Coupon Discount

Calculates the applicable discount for the specified coupon_code when applied to the provided Items. This operation is idempotent.

Authorizations:
API Key
path Parameters
coupon_code
required
string
Example: 25OFF

Coupon code of the given Coupon. Unique.

Request Body schema: application/json
required
Array of objects

List of Items to which the coupon has to be applied

Responses

Request samples

Content type
application/json
{
  • "Items": [
    ]
}

Update a coupon

Authorizations:
API Key

Responses

Request samples

curl --request PUT \
  --url https://app.omegaedi.com/api/2.0/Coupons \
  --header 'api_key: REPLACE_KEY_VALUE'

Create a new coupon

Authorizations:
API Key

Responses

Request samples

curl --request POST \
  --url https://app.omegaedi.com/api/2.0/Coupons \
  --header 'api_key: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
1001

Custom Fields

Get a listing of custom fields

Authorizations:
API Key

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/CustomFields \
  --header 'api_key: REPLACE_KEY_VALUE'

Notification

Get notifications for the current user

Authorizations:
API Key

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/Notifications \
  --header 'api_key: REPLACE_KEY_VALUE'

Get notifications for the current Invoice

Authorizations:
API Key
path Parameters
invoice_id
required
integer

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/Invoices/:id/Notifications \
  --header 'api_key: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
[
  • {
    }
]

Part Notes

Update a part note

Authorizations:
API Key

Responses

Request samples

curl --request PUT \
  --url https://app.omegaedi.com/api/2.0/Notes/note_id \
  --header 'api_key: REPLACE_KEY_VALUE'

Delete a part note

Authorizations:
API Key
path Parameters
id
required
integer

Responses

Request samples

curl --request DELETE \
  --url https://app.omegaedi.com/api/2.0/Notes/note_id \
  --header 'api_key: REPLACE_KEY_VALUE'

List part notes

Authorizations:
API Key

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/Notes \
  --header 'api_key: REPLACE_KEY_VALUE'

Create a part note

Authorizations:
API Key

Responses

Request samples

curl --request POST \
  --url https://app.omegaedi.com/api/2.0/Notes \
  --header 'api_key: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
1001

Payment Methods

List Payment Methods

Authorizations:
API Key

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/PaymentMethods \
  --header 'api_key: REPLACE_KEY_VALUE'

Create a new payment method

Authorizations:
API Key

Responses

Request samples

curl --request POST \
  --url https://app.omegaedi.com/api/2.0/PaymentMethods \
  --header 'api_key: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
1001

Retrieve Payment Method

Authorizations:
API Key
path Parameters
payment_method_id
required
integer

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/PaymentMethods/payment_method_id \
  --header 'api_key: REPLACE_KEY_VALUE'

Delete a payment method

Authorizations:
API Key
path Parameters
payment_method_id
required
integer

Responses

Request samples

curl --request DELETE \
  --url https://app.omegaedi.com/api/2.0/PaymentMethods/payment_method_id \
  --header 'api_key: REPLACE_KEY_VALUE'

Pricing Profiles

Get pricing profiles

Authorizations:
API Key

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/PricingProfiles \
  --header 'api_key: REPLACE_KEY_VALUE'

Update a pricing profile

Authorizations:
API Key

Responses

Request samples

curl --request PUT \
  --url https://app.omegaedi.com/api/2.0/PricingProfiles \
  --header 'api_key: REPLACE_KEY_VALUE'

Create a new pricing profile

Authorizations:
API Key

Responses

Request samples

curl --request POST \
  --url https://app.omegaedi.com/api/2.0/PricingProfiles \
  --header 'api_key: REPLACE_KEY_VALUE'

Retrieve a pricing profile

Authorizations:
API Key

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/PricingProfiles/id \
  --header 'api_key: REPLACE_KEY_VALUE'

Create a new pricing profile

Authorizations:
API Key

Responses

Request samples

curl --request POST \
  --url https://app.omegaedi.com/api/2.0/PricingProfiles/pricing_profile_id/Upload \
  --header 'api_key: REPLACE_KEY_VALUE'

Get the pricing rule for a SKU

Authorizations:
API Key
path Parameters
pricing_profile_id
required
integer

Pricing Profile ID

sku
required
string

SKU

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/PricingProfiles/pricing_profile_id/sku \
  --header 'api_key: REPLACE_KEY_VALUE'

Delete a pricing profile

Authorizations:
API Key
path Parameters
pricing_profile_id
required
integer

Responses

Request samples

curl --request DELETE \
  --url https://app.omegaedi.com/api/2.0/PricingProfiles/pricing_profile_id \
  --header 'api_key: REPLACE_KEY_VALUE'

Sale Items

List sale items

Authorizations:
API Key

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/SaleItems \
  --header 'api_key: REPLACE_KEY_VALUE'

Update a sale item

Authorizations:
API Key

Responses

Request samples

curl --request PUT \
  --url https://app.omegaedi.com/api/2.0/SaleItems \
  --header 'api_key: REPLACE_KEY_VALUE'

Create a new sale item

Authorizations:
API Key

Responses

Request samples

curl --request POST \
  --url https://app.omegaedi.com/api/2.0/SaleItems \
  --header 'api_key: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
1001

Skills

Retrieve a skill

Authorizations:
API Key
path Parameters
id
required
string

Skill ID

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/Skills/id \
  --header 'api_key: REPLACE_KEY_VALUE'

List skills

Authorizations:
API Key

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/Skills \
  --header 'api_key: REPLACE_KEY_VALUE'

Create a Skill

Authorizations:
API Key

Responses

Request samples

curl --request POST \
  --url https://app.omegaedi.com/api/2.0/Skills \
  --header 'api_key: REPLACE_KEY_VALUE'

Update a skill

Authorizations:
API Key
path Parameters
skill_id
required
integer

Responses

Request samples

curl --request PUT \
  --url https://app.omegaedi.com/api/2.0/Skills/skill_id \
  --header 'api_key: REPLACE_KEY_VALUE'

Delete a skill

Authorizations:
API Key
path Parameters
id
required
integer

Responses

Request samples

curl --request DELETE \
  --url https://app.omegaedi.com/api/2.0/Skills/skill_id \
  --header 'api_key: REPLACE_KEY_VALUE'

Surveys

Create a Survey Result

Authorizations:
API Key
query Parameters
folder
required
string
Example: folder=myaccount

Name of the account used to sign in; also known as the subdomain

guid
required
string
Example: guid=35C202E9-C2C5-4DC0-93EE-0345D12C1DF2

Global Unique Identifier for the Invoice this survey is for. (Note: This is a different than the id of the Invoice (job) used in other API endpoints)

Request Body schema: application/json

Survey object

review
required
string

Short review written by customer

stars
required
integer

Star rating given by customer (between 1 and 5)

Responses

Request samples

Content type
application/json
{
  • "review": "Everything was done professionally and on time!",
  • "stars": "5"
}

Tags

Retrieve a tag

Authorizations:
API Key
path Parameters
tag_id
required
string

Tag ID

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/Tags/tag_id \
  --header 'api_key: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
{
  • "id": 0,
  • "color": "#eb4034",
  • "text": "Tag Text"
}

Delete a tag

Authorizations:
API Key
path Parameters
tag_id
required
integer

Responses

Request samples

curl --request DELETE \
  --url https://app.omegaedi.com/api/2.0/Tags/tag_id \
  --header 'api_key: REPLACE_KEY_VALUE'

List tags

Authorizations:
API Key

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/Tags \
  --header 'api_key: REPLACE_KEY_VALUE'

Create a tag

Authorizations:
API Key
Request Body schema: application/json

Tag object

color
required
string (color) #([1-9a-fA-F]{3}|[1-9a-fA-F]{6})
Default: "#eb4034"

color

text
required
string (text) <= 32 characters
Default: "Tag Text"

text

Responses

Request samples

Content type
application/json
{
  • "color": "#eb4034",
  • "text": "Tag Text"
}

Update a tag

Authorizations:
API Key
path Parameters
tag_id
required
integer
Request Body schema: application/json

Tag object

color
required
string (color) #([1-9a-fA-F]{3}|[1-9a-fA-F]{6})
Default: "#eb4034"

color

text
required
string (text) <= 32 characters
Default: "Tag Text"

text

Responses

Request samples

Content type
application/json
{
  • "color": "#eb4034",
  • "text": "Tag Text"
}

Templates

List templates

Authorizations:
API Key

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/Templates \
  --header 'api_key: REPLACE_KEY_VALUE'

Retrieve a template

Authorizations:
API Key
path Parameters
template_id
required
integer

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/Templates/template_id \
  --header 'api_key: REPLACE_KEY_VALUE'

Send a rendered template

Authorizations:
API Key
path Parameters
template_id
required
integer
invoice_id
required
integer

Responses

Request samples

curl --request POST \
  --url https://app.omegaedi.com/api/2.0/Templates/template_id/invoice_id/send \
  --header 'api_key: REPLACE_KEY_VALUE'

Territories

List territories

Authorizations:
API Key

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/Territories \
  --header 'api_key: REPLACE_KEY_VALUE'

Create a territory

Authorizations:
API Key

Responses

Request samples

curl --request POST \
  --url https://app.omegaedi.com/api/2.0/Territories \
  --header 'api_key: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
3

Retrieve a territory

Authorizations:
API Key

Responses

Request samples

curl --request GET \
  --url https://app.omegaedi.com/api/2.0/Territories/id \
  --header 'api_key: REPLACE_KEY_VALUE'

Update a territory

Authorizations:
API Key
path Parameters
territory_id
required
integer

Responses

Request samples

curl --request PUT \
  --url https://app.omegaedi.com/api/2.0/Territories/:territory_id \
  --header 'api_key: REPLACE_KEY_VALUE'

Delete a territory

Authorizations:
API Key
path Parameters
territory_id
required
integer

Responses

Request samples

curl --request DELETE \
  --url https://app.omegaedi.com/api/2.0/Territories/territory_id \
  --header 'api_key: REPLACE_KEY_VALUE'

Stats

Sales statistics by day

Authorizations:
API Key
query Parameters
date1
string <date>
date2
string <date>
date_type
required
string
Enum: "date" "date_wo" "date_created" "date_scheduled" "date_closed"

Responses

Request samples

curl --request GET \
  --url 'https://app.omegaedi.com/api/2.0/Stats/Jobs/Daily?date1=SOME_STRING_VALUE&date2=SOME_STRING_VALUE&date_type=SOME_STRING_VALUE' \
  --header 'api_key: REPLACE_KEY_VALUE'

Sales statistics

Authorizations:
API Key
query Parameters
date1
string <date>
date2
string <date>
segment
string
date_type
required
string

Responses

Request samples

curl --request GET \
  --url 'https://app.omegaedi.com/api/2.0/Stats/Jobs?date1=SOME_STRING_VALUE&date2=SOME_STRING_VALUE&segment=SOME_STRING_VALUE&date_type=SOME_STRING_VALUE' \
  --header 'api_key: REPLACE_KEY_VALUE'

Interactions by agent

Authorizations:
API Key
query Parameters
date1
string <date>
date2
string <date>

Responses

Request samples

curl --request GET \
  --url 'https://app.omegaedi.com/api/2.0/Stats/Interactions?date1=SOME_STRING_VALUE&date2=SOME_STRING_VALUE' \
  --header 'api_key: REPLACE_KEY_VALUE'

New accounts

Authorizations:
API Key
query Parameters
date1
string <date>
date2
string <date>

Responses

Request samples

curl --request GET \
  --url 'https://app.omegaedi.com/api/2.0/Stats/NewAccounts?date1=SOME_STRING_VALUE&date2=SOME_STRING_VALUE' \
  --header 'api_key: REPLACE_KEY_VALUE'

Productivity by Technician

Authorizations:
API Key
query Parameters
date1
string <date>
date2
string <date>

Responses

Request samples

curl --request GET \
  --url 'https://app.omegaedi.com/api/2.0/Stats/Productivity?date1=SOME_STRING_VALUE&date2=SOME_STRING_VALUE' \
  --header 'api_key: REPLACE_KEY_VALUE'

Leaderboard

Authorizations:
API Key
query Parameters
date1
string <date>
date2
string <date>
user_group_id
string <date>
campaign
string

Responses

Request samples

curl --request GET \
  --url 'https://app.omegaedi.com/api/2.0/Stats/Leaderboard?date1=SOME_STRING_VALUE&date2=SOME_STRING_VALUE&user_group_id=SOME_STRING_VALUE&campaign=SOME_STRING_VALUE' \
  --header 'api_key: REPLACE_KEY_VALUE'

Sales statistics by hour

Authorizations:
API Key
query Parameters
date1
string <date>
date2
string <date>

Responses

Request samples

curl --request GET \
  --url 'https://app.omegaedi.com/api/2.0/Stats/Jobs/Hourly?date1=SOME_STRING_VALUE&date2=SOME_STRING_VALUE' \
  --header 'api_key: REPLACE_KEY_VALUE'

Sales statistics by day

Authorizations:
API Key
query Parameters
date1
string <date>
date2
string <date>

Responses

Request samples

curl --request GET \
  --url 'https://app.omegaedi.com/api/2.0/Stats/Margin/Daily?date1=SOME_STRING_VALUE&date2=SOME_STRING_VALUE' \
  --header 'api_key: REPLACE_KEY_VALUE'

Sales statistics by day

Authorizations:
API Key
query Parameters
date1
string <date>
date2
string <date>
date_type
required
string

MUST be one of: date, date_created, date_wo

campaign
string

Responses

Request samples

curl --request GET \
  --url 'https://app.omegaedi.com/api/2.0/Stats/Status?date1=SOME_STRING_VALUE&date2=SOME_STRING_VALUE&date_type=SOME_STRING_VALUE&campaign=SOME_STRING_VALUE' \
  --header 'api_key: REPLACE_KEY_VALUE'

Events

Event Webhook Webhook

A webhook is fired to the specified URL on certain events.

The webhook HTTP request includes an Authorization header, which you can use to verify that the request came from Omega.

The header will have this pattern: Authorization: HMAC-SHA256 <HMAC message digest>

The HMAC message digest is created using

  • The algorithm specified in the header (SHA256 until further notice)
  • The JSON body of the request as the message
  • Your Omega Webhook Secret as the secret

The digest is Base64 encoded.

You can verify that the request came from Omega by creating an HMAC digest the same way and comparing it to the one you received in the Authorization header.

Authorizations:
API Key
Request Body schema: application/json

Fires when certain events happen in the system.

id
integer <int64>
entity_type
string (EntityTypes)
Enum: "invoice" "purchase_order" "appointment" "payment" "company"
entity_id
integer

The id of the entity which the event references

date
string <date-time>

The timestamp of the event

type
string

Event types:

  • accepted : The Invoice accepted by EDI provider.
  • acknowledged: The Invoice status is pending, i.e acknowledged but not accepted by EDI provider.
  • add_on: Same day Technician assignment/removal for an Appointment.
  • address_change: Service Address changed on Appointment
  • approval: Invoice item request approved by insurance
  • bounces: Invoice Email bounced.
  • contacted: Customer contacted for Appointment
  • created: Created new instance of entity from the given entity_types
  • deleted: Scheduled Appointment deleted on an Invoice
  • delivered: Email delivered
  • denied: Invoice item request denied by EDI provider
  • eFNOL: Loss Notice recieved from EDI provider
  • emailed: Invoice Email / Work order email sent to customer
  • ended: Appointment marked ended/closed by Technician
  • invoice: Job status changed to Invoice
  • invoiced: Invoice submitted to EDI provider
  • note_change: Note updated on Appointment
  • opened: Email was opened
  • ordered: Purchase order created for Invoice Items
  • paid: Payment applied to Invoice
  • reassigned: Weblead reassigned to a new CSR
  • receipt: Invoice receipt emailed to customer
  • refund: Invoice payment refund issued
  • rejected: Invoice rejected by EDI Provider
  • resched: Appointment rescheduled
  • rescheduled: Same day Appointment rescheduled
  • sched: Appointment Scheduled
  • SMS: SMS sent
  • started: Appointment started by Technician
  • updated: Updated instance of entity from the given entity_types
  • viewed: Invoice reciept viewed by customer
  • void: Invoice / Job voided
  • web_lead: Web lead form submitted
  • Work Order: Job status changed to Work Order
  • Closed: Job status changed to Closed
  • Autointegrate: Autointegrate repair order request updates
  • review: Customer rating recieved for Invoice
  • review_low: Low Customer rating recieved for Invoice
  • commercial_lead: Commercial Lead form submitted
  • web_lead: Web Lead form submitted
  • agent_lead: Agent Lead form submitted
user_id
string

The employee_number of the user who triggered the event

note
string

Textual description of the event

payload
string

Additional details about the event

Responses

Request samples

Content type
application/json
{
  • "id": 1001,
  • "entity_type": "invoice",
  • "entity_id": 9001,
  • "date": "2019-08-24T14:15:22Z",
  • "type": "string",
  • "user_id": "string",
  • "note": "Invoice 9001 accepted via Lynx",
  • "payload": ""
}