Skip to main content

Viewpoint Spectrum Authentication

To authorize access to read and write data between your product and Viewpoint Spectrum using Agave, you will need to complete the following steps:

Step 1: Whitelist Static IP Addresses

Step 1A: Hosted or Cloud Versions of Viewpoint Spectrum

Open a case with Viewpoint Customer Support to add Agave's IP address your Viewpoint Spectrum Endpoint IP whitelist:

  1. Go to https://support.viewpoint.com/s/

  2. Log in to your Customer Support account.

  3. Select My Resources, then Submit a Case.



  1. Select Support, then Systems/IT.


  1. Under Which product are you using?, input the following and select Search Knowledge Base:
  • Product: select Spectrum.
  • Version: select the version of your Spectrum instance (e.g. 2022 R3).
  • Module: select "SDX - Data Exchange - Spectrum".
  • Brief Summary: input "API Endpoint IP Whitelist".


  1. Scroll to the bottom of the page and press Continue to Case Creation.

  2. Under Case Create, select a Priority. Under Description, add the following:

Hi - we are looking to whitelist our IPs for Spectrum API Endpoint connectivity with our Spectrum instance. Here are our static IPs:

  1. 13.58.14.240
  2. 18.219.160.98
  3. 3.143.37.24

Could you also let us know what the database hostname (xyz-data.dexterchaney.com), database name (Spectrum_00xxxxx), and port are for our instance?

  1. Press Submit.

  2. After submitting a case, you should receive a response from Viewpoint Support within 24-48 hours confirming the connection the IP addresses have been whitelisted.

Step 1B: On-premise Versions of Viewpoint Spectrum

if you are on an on-premise version of Viewpoint Spectrum, you will need the following three static IP addresses to connect to your SQL server by adding them to your firewall for your network:

  1. 13.58.14.240
  2. 18.219.160.98
  3. 3.143.37.24
note

If you run are unable to authenticate with Agave Link even after adding the above static IP addresses, we recommend following our guide on troubleshooting common issues with on-premise connections.

To enable read API requests (e.g. GET AP Invoices), you will need to create an Info-Link user, and provision them access to specific Viewpoint Spectrum tables which are grouped into "Categories".

  1. Login to your Viewpoint Spectrum account.

  2. Press the + at the top of the page.

  3. Select System Administration, then Installation, then Info-Link.



  1. Continue to press "Reset" until the User ID for Info-Link is incremented at least twice. For example, if you started at "INFO0001", it should now be "INFO0003". Then press Save.


  1. Return to the Site Map. Select Info-link, then Table Categories Maintenance.


  1. Select New, and add a Table Category and Description. You can create these Categories however you see fit. If you would like to keep it simple, we recommend creating one Table Category:
caution

Make sure you have followed step 4 above to ensure the User ID for Info-Link has been incremented at least twice before continuing.



  1. Return to the Site Map. Select Info-link, then Table Security Maintenance.

  2. Select New, and add the names of Tables for which you want to support read or write requests. Note, we recommend setting Read or Write Access to "9", unless you have more granular security permissions.

For reference, here are a list of frequently requested tables (note that the tab bar scrolls horizontally):

caution

Make sure you add the JC_JOB_MASTER_MC and VN_VENDOR_MASTER_MC tables. These are the default tables we check to confirm the customer's Spectrum account has linked successfully.

If your customer uses Cost Centers, you will also need to add EM_COST_CENTERS_MC.

Spectrum TableRead Access required for...Write Access required for...
VN_GL_DISTRIBUTION_HEADER_MCAll OperationsPUT / DELETE
VN_GL_DISTRIBUTION_DETAIL_MCAll OperationsPUT / DELETE
VN_INVOICE_APPROVAL_HDR_MCAll OperationsPUT / DELETE
VN_INVOICE_APPROVAL_DET_MCAll OperationsPUT / DELETE
VN_INVOICE_TRAN_HEADER_MCAll OperationsPUT / DELETE
VN_INVOICE_TRAN_DETAIL_MCAll OperationsPUT / DELETE
VN_CURRENT_ROUT_PROCESS_MCDELETEDELETE
VN_ROUTING_HISTORY_MCDELETEDELETE
PO_PURCHASE_ORDER_DETAIL_MCAll Operations-

For example, adding the below Tables adds support for reading AP Invoice Header and Line Item Tables:



  1. Select Update Database.

  2. Return to the Site Map. Select Info-link, then User Security Maintenance.

  3. Select New, then select a Company. Either add an existing Database user by selecting from the drop-down or type in a new Database user. If it's a new Database user, press the "Enter" (or "Return") key, and input a Password. The select the Table Category.

caution

Make sure you have followed step 4 above to ensure the User ID for Info-Link has been incremented at least twice before continuing.



  1. Select Update Database.
danger

Make sure the Link User you create is uniquely named across Viewpoint Spectrum Companies, otherwise you might run into database validation issues. If you have any concerns, feel free to contact us at api-support@agaveapi.com.

Step 3: Create Authorization ID

Configure an Authorization ID and enable required web services:

  1. Login to your Viewpoint Spectrum account.

  2. Press the + at the top of the page.

  3. Select System Administration, then Installation, then Data Exchange.


  1. In Data Exchange screen, select New.
  1. Input a name for the Authorization ID (e.g. "Agave").

  2. Select a Company Code and Operator Code for the Authorization ID, and select Active for Status.

  1. Add a Memo for the Authorization ID (e.g. "API access for Agave").

  2. Select Build. Then select the relevant Web Services you are looking to support for the integration. For example, the below authorizes access to retrieve details about Jobs from the Job Cost module.


When creating an Authorization ID, you will need to enable the following Web Services for the corresponding Agave endpoint you plan to use:

Agave EndpointServiceWeb Service(s)
AP InvoicesAccountsPayableAddAPInvoice, APMultiLineInvoice
AR InvoicesAccountsReceivableAddARInvoice, ARMultiLineInvoice
AR PaymentsAccountsReceivableAdd_CashReceipts
Budget Line ItemsJobCostAddPhase, GetPhase, GetPhaseEnhanced, PhaseNotes
Change OrdersAccountsReceivableARChangeRequest, ARChngReqBlankBIUpdate
CustomersAccountsReceivableAddCustomer, CustomerNotes, CustomerBillto, CustomerShipto, GetCustomers
EmployeesPayrollGetEmployee, EmployeeNotes
InventoryInventoryAddInv_Req,UpdateInv_SellPrice
Prime ContractsAccountsReceivableARScheduleOfValues
ProjectsJobCostAddJob, GetJob, GetJobContact, GetJobDates, GetJobMain, UpdateJob
Purchase OrdersPurchaseOrderPOBatch, PODetail, POHeader
Service SitesWorkOrderAddWOSiteAddress
SubcontractsAccountsPayableUpdateSubcontract, UpdateSubcontractPhases, SubcontractNotes
Timecard EntriesPayrollPreTimeCard_Batch
VendorsAccountsPayableAddVendor, GetVendors, UpdateVendor, UpdateVendor_Locations, VendorNotes
Work OrdersWorkOrderWorkOrderHeader
caution

Make sure you always add the GetJobMain Web Service under the JobCost Service. We use this endpoint to confirm the customer's Spectrum account has linked successfully.

  1. Select OK.

  2. In the Data Exchange Installation page, select Settings and press the checkbox for Enable Enhanced Authentication.

note

You do not need to enable Enhanced Authentication if you would prefer to use Basic Authentication. However, certain endpoints will not supported. For more info, see related FAQ.

To authenticate using Agave Link, you will need to pass the following components:

  1. Authorization ID: this is the value for Authorization ID you created above.

  2. Company Code: this is the Company Code associated with your Authorization ID. This can be retrieved in the top right corner of the prompt for Edit Authorization ID after Company: {Company Code}.

  1. Domain: this is the domain for your Viewpoint Spectrum instance. It is the text that precedes "dexterchaney.com" in the UI. For example, in the URL https://{test}.dexterchaney.com, the domain is {test}.

  2. Client ID and Client Secret: the values for these input fields can be retrieved by selecting the Authorization ID, selecting Edit, then selecting Secret Status.

note

Client ID and Client Secret are only required if you have Enhanced Authentication enabled. If you only have Basic Authentication enabled, you do not need to input the Client ID and Client Secret.

caution

If you have enabled Enhanced Authentication, make sure you check the box for Allow self-rotation? This will ensure your Spectrum API access will continue to work after the expiration date.



  1. After pressing Next, you have the option to input Info-Link credentials. If you created an Info-Link users, press Yes.
  1. Input the Database Hostname. This is the hostname of your database server. For example, if your Spectrum instance is hosted byviewpoint and you access it at https://company-abc.dexterchaney.com, enter company-abc-data.dexterchaney.com. Note that this hostname needs to be accessible to Agave's IPs (even if it is otherwise not publicly accessible).

  2. Input the Database Port and Database Name. The default values are are 1433 and Spectrum respectively.

  3. Input your Info-Link User and Info-Link Password. These are the credentials you created for the Info-User you added (see above).

  4. Select "Yes" or "No" for the Ignore Certificate Check?. If checked, we will not validate the server certificate received by the database. Note that this will make the connection less secure, but might be necessary for certain on-prem instances of Spectrum.

  5. Select Set Up Info-Link.