CVS API

Add CVS’s functionality to your sites & apps

The document provides details on the API to the CVS service, allowing authorized websites and programs to communicate directly with the CVS data base. The service uses standard REST/JSON protocols. For test/development purposes, an interactive version of the API can be found at: http://cvs.instantcard.net/api_test.

You will need to have an authorized account in the CVS system to use this service. The CVS API is a JSON/REST API.  All API responses are JSON  (including errors), but are easily converted to objects in any language. We use standard HTTP status/response codes.

Login / Authenticate User

Endpoint:
POST https://cvs.instantcard.net/api/login

Before performing any other API calls you must first login, or authenticate, the user. To do so, submit the your e-mail and password. These are the same e-mail and password which you use to access the regular CVS system. If the e-mail/password combination is correct a token will be sent.

This token is a required parameter for all subsequent CVS API calls.

If the e-mail/password combination is incorrect, a 401 response message will be sent.

If you are already a CVS user, you may test the service by first logging into the CVS system and then visiting https://cvs.instantcard.net/api_test.

 

Parameters

KEY DATA TYPE PARAM TYPE DESCRIPTION
email string query user’s email required
password string query user’s password required

Sample Call:

Sample Success Message:

Copy to Clipboard

User Endpoints

Find User by ID

Endpoint:
GET https://cvs.instantcard.net/api/v1/users/findByEmployeeID

If you are already a CVS user, you may test the service by first logging into the CVS system and then visiting https://cvs.instantcard.net/api_test.

Parameters

KEY DATA TYPE PARAM TYPE DESCRIPTION
access_token string query authentication token required
employee_id_number string query employee ID number required

Sample Call:

Responses:

Response Messages:
HTTP Status Code Reason
401 Unauthorized access (blank token) OR
Token expired (you need to relogin)
404 User not found
422 Provide employee_id_number
200 Success (see below)
Sample Success Message:
Copy to Clipboard

Fetch User Status

Endpoint:
GET https://cvs.instantcard.net/api/v1/users/fetch_status

If you are already a CVS user, you may test the service by first logging into the CVS system and then visiting https://cvs.instantcard.net/api_test.

Parameters

KEY DATA TYPE PARAM TYPE DESCRIPTION
access_token string query authentication token required
employee_id_number string query employee ID number required

Sample Call:

Responses:

Response Messages:
HTTP Status Code Reason
401 Unauthorized access (blank token) OR
Token expired (you need to relogin)
404 User not found
422 Provide employee_id_number
200 Success (see below)
Sample Success Message:
Copy to Clipboard

Find User by First Name, Last Name, Date of Birth

Endpoint:
GET https://cvs.instantcard.net/api/v1/users/findByNameDob

If you are already a CVS user, you may test the service by first logging into the CVS system and then visiting https://cvs.instantcard.net/api_test.

Parameters

KEY DATA TYPE PARAM TYPE DESCRIPTION
access_token string query authentication token required
first_name string form data user first name required
last_name string form data user last name required
date_of_birth date form data user birth date mm/dd/yyyy required

Sample Call:

Responses:

Response Messages:
HTTP Status Code Reason
401 Unauthorized access (blank token) OR
Token expired (you need to relogin)
404 User not found
422 Provide first_name, last_name and date_of_birth
200 Success (see below)
Sample Success Message:
Copy to Clipboard

Create User

Endpoint:
POST https://cvs.instantcard.net/api/v1/users

Once you are logged in to the system (you have a token from the Login call) you may add a user/employee to the system. To do so you must submit the new user’s first and last names, their employee ID number, and your login token. Optionally, you may also include the employee’s title, date of birth, date of hire, and attach their id photo.

The returned CVS record number may be used to review the recently created user in CVS website via the url https://cvs.instantcard.net/users/<cvs_record_no>

Also, note that in the the following calls, the employee id number parameter is used to determine the

unique user, not the CVS record number.

If you are already a CVS user, you may test the service by first logging into the CVS system and then visiting https://cvs.instantcard.net/api_test.

Parameters

KEY DATA TYPE PARAM TYPE DESCRIPTION
access_token string form data authentication token required
user[employee_id_number] string form data unique user ID number for new user required
user[first_name] string form data first name of user being created required
user[last_name] string form data last name of user being created required
user[title] string form data user’s title
user[date_of_birth] date form data format date as MM/DD/YYYY (12/17/2015)
user[date_of_hire] date form data format date as MM/DD/YYYY (12/17/2015)
user[file] base64 image form data e.g. data:image/jpeg;base64,UklGRmA…
user[division] string form data user division
user[email] string form data user email
user[adress_1] string form data address line 1
user[adress_2] string form data address line 2
user[city] string form data address city
user[state] string form data address state
user[zip_code] string form data address zip code
user[country] sting form data address country
user[phone_number] string form data user phone number
user[date_of_termination] date form data format date as MM/DD/YYYY (12/17/2015)
user[card_template_ref_num] string form data card template reference number
user[availability_code] string form data availability code
user[access_rights] string form data user access rights

Note:
All parameters except ‘access_token’ and ‘v’ should be placed inside of the ‘user’ parameter:
{user: {employee_id_number: ‘12345’, first_name: ‘John’, last_name: ‘Smith’, title: ‘Supervisor’, date_of_birth: ‘2/5/1985’}}

Sample Call:

Responses:

Response Messages:
HTTP Status Code Reason
401 Unauthorized access (blank token) OR
Token expired (you need to relogin)
404 User not found
422 Provide employee_id_number / first_name / last_name OR
employee_id_number already in use OR
email: has already been taken OR
Specify ‘user’ parameter
200 Success (see below)
Sample Success Message:
Copy to Clipboard

Update User

Endpoint:
PUT https://cvs.instantcard.net/api/v1/users

If you are already a CVS user, you may test the service by first logging into the CVS system and then visiting https://cvs.instantcard.net/api_test.

Parameters

KEY DATA TYPE PARAM TYPE DESCRIPTION
access_token string form data authentication token required
user[find_by_email] string form data could be used to find user required if next param is blank
user[find_by_employee_id_number] string form data could be used to find user required if prev param is blank
user[first_name] string form data user first name
user[last_name] string form data user last name
user[title] string form data user position title
user[division] string form data user division
user[email] string form data user email
user[status] boolean form data is user active?
user[adress_1] string form data address line 1
user[adress_2] string form data address line 2
user[city] string form data address city
user[state] string form data address state
user[zip_code] string form data address zip code
user[country] string form data address country
user[phone_number] string form data user phone number
user[date_of_birth] date form data date of birth MM/DD/YYYY
user[date_of_hire] date form data date of hire MM/DD/YYYY
user[date_of_terminiation] date form data date of termination MM/DD/YYYY
user[card_template_ref_num] string form data card template reference number
user[availability_code] string form data availability code
user[access_rights] string form data access rights
user[file] file form data user photo
v numeric form data API version

Note:
All parameters except ‘access_token’ and ‘v’ should be placed inside of the ‘user’ parameter:
{user: {find_by_employee_id_number: ‘12345’, first_name: ‘John’, last_name: ‘Smith’, title: ‘Supervisor’, date_of_birth: ‘2/5/1985’}}

Sample Call:

Responses:

Response Messages:
HTTP Status Code Reason
401 Unauthorized access (blank token) OR
Token expired (you need to relogin)
404 User not found
422 Provide employee_id_number / first_name / last_name OR
employee_id_number already in use OR
email: has already been taken OR
Specify ‘user’ parameter
Sample Success Message:
Copy to Clipboard

Credential Endpoints

Create Credentials

Endpoint:
POST https://cvs.instantcard.net/api/v1/credentials

If you are already a CVS user, you may test the service by first logging into the CVS system and then visiting https://cvs.instantcard.net/api_test.

Parameters

KEY DATA TYPE PARAM TYPE DESCRIPTION
access_token string form data authentication token required
credential[employee_id_number] string form data user whose credential will be created required if next param is blank
credential[email] string form data user whose credential will be created required if prev param is blank
credential[name] string form data name of credential required
credential[issuing_auth] string form data name of credential issuing authority
credential[acquire_date] date form data credential acquire date MM/DD/YYYY
credential[expire_date] date form data credential expire date MM/DD/YYYY
credential[credential_section_id] integer form data Section ID of credential. This field is optional but takes precedence over Credential Section Name.
credential[credential_section_name] string form data Credential Section Name. This field is optional.
credential[verified] boolean form data is credential verified?
credential[displayed] boolean form data is credential displayed?
credential[file] file form data Credential attachment (image/pdf)
v numeric form data API version

Note:
All parameters except ‘access_token’ and ‘v’ should be placed inside of the ‘credential’ parameter:
{credential: {employee_id_number: ‘12345’, name: ‘OSHA 30’}}

Sample Call:

Responses:

Response Messages:
HTTP Status Code Reason
401 Unauthorized access (blank token) OR
Token expired (you need to relogin)
404 User not found
422 Provide Employee ID Number
Sample Success Message:
Copy to Clipboard

Fetch Credentials

Endpoint:
GET https://cvs.instantcard.net/api/v1/credentials/fetch

If you are already a CVS user, you may test the service by first logging into the CVS system and then visiting https://cvs.instantcard.net/api_test.

Parameters

KEY DATA TYPE PARAM TYPE DESCRIPTION
access_token string form data authentication token required
employee_id_number string form data user whose credential will be created required

Sample Call:

Responses:

Response Messages:
HTTP Status Code Reason
401 Unauthorized access (blank token) OR
Token expired (you need to relogin)
404 User not found
422 Provide Employee ID Number
Sample Success Message:
Copy to Clipboard

Qualifications Endpoints

Create Qualifications

Endpoint:
POST https://cvs.instantcard.net/api/v1/qualifications

If you are already a CVS user, you may test the service by first logging into the CVS system and then visiting https://cvs.instantcard.net/api_test.

Parameters

KEY DATA TYPE PARAM TYPE DESCRIPTION
access_token string form data authentication token required
qualification[employee_id_number] string form data user whose qualification will be created required if next param is blank
qualification[email] string form data user whose qualification will be created required if prev param is blank
qualification[name] string form data name of qualification required
qualification[q_date] date form data date of qualification MM/DD/YYYY required
qualification[verified] boolean form data is qualification verified? 

Note:
All parameters except ‘access_token’ should be placed inside of the ‘qualification’ parameter:
{qualification: {employee_id_number: ‘12345’, name: ‘Site Rules Review’}}

Sample Call:

Responses:

Response Messages:
HTTP Status Code Reason
401 Unauthorized access (blank token) OR
Token expired (you need to relogin)
404 User not found
422 Provide Employee ID Number
Sample Success Message:
Copy to Clipboard

Info Table Endpoints

Create Info Table

Endpoint:
POST https://cvs.instantcard.net/api/v1/info_tables

If you are already a CVS user, you may test the service by first logging into the CVS system and then visiting https://cvs.instantcard.net/api_test.

Parameters

KEY DATA TYPE PARAM TYPE DESCRIPTION
access_token string form data authentication token required
employee_id_number string form data user whose info table will be created required if next param is blank
email string form data user whose info table will be created required if prev param is blank
info_table[key] string form data key
info_table[column1_data] string form data column 1 data
info_table[column2_data] string form data column 2 data
info_table[column3_data] string form data column 3 data
info_table[column4_data] string form data column 4 data
info_table[background_color] string form data background color
info_table[text_color] string form data text color
info_table[order] integer form data order

Note:
All parameters except ‘access_token,’ ’employee_id_number,’ and ’email’ should be placed inside of the ‘info_table’ parameter:
{info_table: {key: ‘001’, column1_data: … }}

Sample Call:

Responses:

Response Messages:
HTTP Status Code Reason
401 Unauthorized access (blank token) OR
Token expired (you need to relogin)
404 User not found
422
Unable to process your request. Check messages for more details
Sample Success Message:
Copy to Clipboard

Update Info Table

Endpoint:
PUT https://cvs.instantcard.net/api/v1/info_tables

If you are already a CVS user, you may test the service by first logging into the CVS system and then visiting https://cvs.instantcard.net/api_test.

Parameters

KEY DATA TYPE PARAM TYPE DESCRIPTION
access_token string form data authentication token required
employee_id_number string form data user whose info table will be created required if next param is blank
email string form data user whose info table will be created required if prev param is blank
info_table[id] string form data id required if next param is blank
info_table[key] string form data key required if prev param is blank
info_table[column1_data] string form data column 1 data
info_table[column2_data] string form data column 2 data
info_table[column3_data] string form data column 3 data
info_table[column4_data] string form data column 4 data
info_table[background_color] string form data background color
info_table[text_color] string form data text color
info_table[order] integer form data order

Note:
All parameters except ‘access_token,’ ’employee_id_number,’ and ’email’ should be placed inside of the ‘info_table’ parameter:
{info_table: {key: ‘001’, column1_data: … }}

Sample Call:

Responses:

Response Messages:
HTTP Status Code Reason
401 Unauthorized access (blank token) OR
Token expired (you need to relogin)
404 User not found
422
Unable to process your request. Check messages for more details
Sample Success Message:
Copy to Clipboard

Set Info Table

Endpoint:
PUT https://cvs.instantcard.net/api/v1/info_tables/set

If you are already a CVS user, you may test the service by first logging into the CVS system and then visiting https://cvs.instantcard.net/api_test.

Parameters

KEY DATA TYPE PARAM TYPE DESCRIPTION
access_token string form data authentication token required
employee_id_number string form data user whose info table will be created required if next param is blank
email string form data user whose info table will be created required if prev param is blank
info_table[key] string form data key required
info_table[column1_data] string form data column 1 data
info_table[column2_data] string form data column 2 data
info_table[column3_data] string form data column 3 data
info_table[column4_data] string form data column 4 data
info_table[background_color] string form data background color
info_table[text_color] string form data text color
info_table[order] integer form data order

Note:
All parameters except ‘access_token,’ ’employee_id_number,’ and ’email’ should be placed inside of the ‘info_table’ parameter:
{info_table: {key: ‘001’, column1_data: … }}

Sample Call:

Responses:

Response Messages:
HTTP Status Code Reason
401 Unauthorized access (blank token) OR
Token expired (you need to relogin)
404 User not found
422
Unable to process your request. Check messages for more details
Sample Success Message:
Copy to Clipboard

Standard Names Endpoint

Standard Names

Endpoint:
GET https://cvs.instantcard.net/api/v1/standard_names

If you are already a CVS user, you may test the service by first logging into the CVS system and then visiting https://cvs.instantcard.net/api_test.

Parameters

KEY DATA TYPE PARAM TYPE DESCRIPTION
access_token string query Your access_token received on authentication request required
employee_id_number string query Employee ID number required
doc_type string query The type of the standard name. It is one of “credential”, “qualification”, “title”, “division”, “issuing_auth”, “PPE”. required

Sample Call:

Responses:

Response Messages:
HTTP Status Code Reason
401 Unauthorized access (blank token) OR
Token expired (you need to relogin)
404 There is no company for this user.
422
Can’t get the standard names list for the master user.
Sample Success Message:
Copy to Clipboard

PPE Tracking Event Endpoint

Create PPE Tracking Event

Endpoint:
POST https://cvs.instantcard.net/api/v1/ppe

If you are already a CVS user, you may test the service by first logging into the CVS system and then visiting https://cvs.instantcard.net/api_test.

Parameters

KEY DATA TYPE PARAM TYPE DESCRIPTION
access_token string form data Your access_token received on authentication request required
ppe[name] string form data PPE name required
ppe[event] string form data event type required
ppe[employee_id_number] string form data user ID number required
ppe[date] date form data date of PPE MM/DD/YYYY required
ppe[time] time form data time of PPE hh:mm
ppe[details] string form data PPE details

Note:
All parameters except ‘access_token,’ should be placed inside of the ‘ppe’ parameter:
{ppe: {key: ‘001’, employee_id_number: … }}

Sample Call:

Responses:

Response Messages:
HTTP Status Code Reason
401 Unauthorized access (blank token) OR
Token expired (you need to relogin)
404 User not found
422
Provide Employee ID Number
Sample Success Message:
Copy to Clipboard

Logging Entities Endpoints

Create Logging Entities

Endpoint:
POST https://cvs.instantcard.net/api/v1/logging_entities

If you are already a CVS user, you may test the service by first logging into the CVS system and then visiting https://cvs.instantcard.net/api_test.

Parameters

KEY DATA TYPE PARAM TYPE DESCRIPTION
access_token string form data Your access_token received on authentication request required
logging_entity[first_name] string form data first name
logging_entity[last_name] string form data last name
logging_entity[type] string form data type
logging_entity[unique_id] string form data unique identifier
logging_entity[card_template_ref_num] string form data card template reference number
logging_entity[photo] file form data photo
logging_entity[notes] string form data notes
logging_entity[address_line_1] string form data address line 1
logging_entity[address_line_2] string form data address line 2
logging_entity[city] string form data city
logging_entity[state] string form data state
logging_entity[zip_code] string form data zip code
logging_entity[home_phone_number] string form data home phone number
logging_entity[mobile_phone_number] string form data mobile phone number

Note:
All parameters except ‘access_token’ should be placed inside of the ‘logging_entity’ parameter:
{logging_entity: {employee_id_number: ‘12345’, first_name: ‘John’, last_name: ‘Smith’ …}}

Sample Call:

Responses:

Response Messages:
HTTP Status Code Reason
401 Unauthorized access (blank token) OR
Token expired (you need to relogin)
422
Unable to process your request. Check message for more details
Sample Success Message:
Copy to Clipboard

Get Logging Entities

Endpoint:
GET https://cvs.instantcard.net/api/v1/logging_entities

If you are already a CVS user, you may test the service by first logging into the CVS system and then visiting https://cvs.instantcard.net/api_test.

Parameters

KEY DATA TYPE PARAM TYPE DESCRIPTION
access_token string form data Your access_token received on authentication request required
id string form data company public ID required
code string form data unique identifier code of logging entity required

Sample Call:

Responses:

Response Messages:
HTTP Status Code Reason
401 Unauthorized access (blank token) OR
Token expired (you need to relogin)
404 Company not found
422
Provide valid company public ID
422
Provide logging entity code
Sample Success Message:
Copy to Clipboard

Logging Entities Event

Endpoint:
POST https://cvs.instantcard.net/api/v1/logging_entities/event

If you are already a CVS user, you may test the service by first logging into the CVS system and then visiting https://cvs.instantcard.net/api_test.

Parameters

KEY DATA TYPE PARAM TYPE DESCRIPTION
access_token string form data Your access_token received on authentication request required
location_id string form data unique ID for check-in/out location
event string form data event type as either “LOGIN” or “LOGOUT”
employee_id_number string form data user ID number
v numeric form data API version

Note:
For “event” drop-down box: Use “LOGIN” for Login and “LOGOUT” for Logout.
{event: {LOGIN…}}

Sample Call:

Responses:

Response Messages:
HTTP Status Code Reason
401 Unauthorized access (blank token) OR
Token expired (you need to relogin)
404
User not found
422
Provide Employee ID Number
Sample Success Message:
Copy to Clipboard

Print Job Endpoints

Create Print Job

Endpoint:
POST https://cvs.instantcard.net/api/v1/print_jobs

If you are already a CVS user, you may test the service by first logging into the CVS system and then visiting https://cvs.instantcard.net/api_test.

Parameters

KEY DATA TYPE PARAM TYPE DESCRIPTION
access_token string form data Your access_token received on authentication request required
print_job[address][type] string form data Delivery address type: Use addess of the CVS company or add in a drop ship address in the fields below
print_job[address][contact][full_name] string form data Contact Full name
print_job[address][contact][organization_name] string form data Organization name
print_job[address][contact][phone_number] string form data Phone number (required for some Shipping Provider like Fedex
print_job[address][address1] string form data Address 1
print_job[address][address2] string form data Address 2
print_job[address][city] string form data City
print_job[address][state] string form data State
print_job[address][zip_code] string form data Zip code
print_job[address][country] string form data Country
print_job[shipping_provider_id] string form data Shipping Provider
print_job[employee_id_numbers] string form data List of employee ID numbers (comma separated)
print_job[number_of_copies] string form data Number of copies to be printed for each card in this order
print_job[instant_print] boolean form data Instant print create the print job and submit for print with a single API call

Note:
All parameters except ‘access_token’ should be placed inside of the ‘print_job’ parameter:
{print_job: {employee_id_numbers: ‘12345, 23456’, [address][contact][full_name]: ‘Smith, John’…}}

Note:
For “print_job[address][type]” drop-down box: Use “address_on_file” for CVS Company Address and “drop_ship_address” for Drop-ship address.
{print_job[address][type]: {address_on_file…}}

For “print_job[shipping_provider_id]” drop-down box: Use “1” for USPS, use “2” for FEDEX Next Day, use “6” for FEDEX 2-Day.
{print_job[shipping_provider_id]: {6…}}

Sample Call:

Responses:

Response Messages:
HTTP Status Code Reason
401 Unauthorized access (blank token) OR
Token expired (you need to relogin)
422
Unable to process your request. Check message for more details
Sample Success Message:
Copy to Clipboard

Update Print Job

Endpoint:
PUT https://cvs.instantcard.net/api/v1/print_jobs

If you are already a CVS user, you may test the service by first logging into the CVS system and then visiting https://cvs.instantcard.net/api_test.

Parameters

KEY DATA TYPE PARAM TYPE DESCRIPTION
access_token string form data Your access_token received on authentication request required
print_job_id string form data Print Job ID # to be updated required
print_job[address][type] string form data Delivery address type: Use addess of the CVS company or add in a drop ship address in the fields below
print_job[address][contact][full_name] string form data Contact Full name
print_job[address][contact][organization_name] string form data Organization name
print_job[address][contact][phone_number] string form data Phone number (required for some Shipping Provider like Fedex)
print_job[address][address1] string form data Address 1
print_job[address][address2] string form data Address 2
print_job[address][city] string form data City 
print_job[address][state] string form data State
print_job[address][zip_code] string form data Zip code
print_job[address][country] string form data Country
print_job[shipping_provider_id] string form data Shipping Provider

Note:
All parameters except ‘access_token’ and ‘print_job_id’ should be placed inside of the ‘print_job’ parameter:
{print_job: {[address][contact][full_name]: ‘Smith, John’…}}

Note:
For “print_job[address][type]” drop-down box: Use “address_on_file” for CVS Company Address and “drop_ship_address” for Drop-ship address.
{print_job[address][type]: {address_on_file…}}

For “print_job[shipping_provider_id]” drop-down box: Use “1” for USPS, use “2” for FEDEX Next Day, use “6” for FEDEX 2-Day.
{print_job[shipping_provider_id]: {6…}}

Sample Call:

Responses:

Response Messages:
HTTP Status Code Reason
401 Unauthorized access (blank token) OR
Token expired (you need to relogin)
404 Print Job not found
422
Unable to process your request. Check message for more details
Sample Success Message:
Copy to Clipboard

Add/Remove Employees Print Job

Endpoint:
PUT https://cvs.instantcard.net/api/v1/print_jobs/employees

If you are already a CVS user, you may test the service by first logging into the CVS system and then visiting https://cvs.instantcard.net/api_test.

Parameters

KEY DATA TYPE PARAM TYPE DESCRIPTION
access_token string form data Your access_token received on authentication request required
print_job_id string form data Print Job ID # to be updated required
print_job[action] string form data Action applied to the print job regarding the list of employees
print_job[employee_id_numbers] string form data List of employee ID numbers (comma separated)

Note:
All parameters except ‘access_token’ and ‘print_job_id’ should be placed inside of the ‘print_job’ parameter:
{print_job: {employee_id_numbers: ‘12345, 23456’…}}

Note:
For “print_job[action]” drop-down box: Use “add” for Add employees and “remove” for Remove employees.
{print_job[action]: {remove…}}

Sample Call:

Responses:

Response Messages:
HTTP Status Code Reason
401 Unauthorized access (blank token) OR
Token expired (you need to relogin)
404 Print Job or Employee ID not found. Check message for more details
422
Unable to process your request. Check message for more details
Sample Success Message:
Copy to Clipboard

Submit for Printing Print Job

Endpoint:
PUT https://cvs.instantcard.net/api/v1/print_jobs/submit

If you are already a CVS user, you may test the service by first logging into the CVS system and then visiting https://cvs.instantcard.net/api_test.

Parameters

KEY DATA TYPE PARAM TYPE DESCRIPTION
access_token string form data Your access_token received on authentication request required
print_job_id string form data Print Job ID # to be updated required

Sample Call:

Responses:

Response Messages:
HTTP Status Code Reason
401 Unauthorized access (blank token) OR
Token expired (you need to relogin)
404 Print Job not found
422
Unable to process your request. Check message for more details
Sample Success Message:
Copy to Clipboard