Vector Solutions Feature Access API
The Feature Access API from Vector Solutions — 5 operation(s) for feature access.
The Feature Access API from Vector Solutions — 5 operation(s) for feature access.
openapi: 3.0.3
info:
title: TargetSolutions Courses Feature Access API
version: v1
description: REST API for the TargetSolutions online training and records-management platform by Vector Solutions. Manage sites, users, profile categories and groups, supervisor and feature access, credentials and credential assignments, courses, and training assignments. Authentication uses a customer-specific API token passed in the AccessToken header of every request; tokens are issued by a TargetSolutions account manager and can be scoped read-only or feature-specific. Responses are JSON. Generated by API Evangelist from the routes, getting-started, HTTP status code, and error code documentation at https://developers.targetsolutions.com/ - payload schemas are not published by the provider and are left untyped.
contact:
name: TargetSolutions Developer Portal
url: https://developers.targetsolutions.com/
x-provenance:
generated: '2026-07-21'
method: generated
source: https://developers.targetsolutions.com/documentation/routes
servers:
- url: https://api.targetsolutions.com/v1
description: Production
- url: https://devsandbox.targetsolutions.com/v1
description: Developer sandbox (refreshed nightly with a copy of live data)
security:
- AccessToken: []
tags:
- name: Feature Access
paths:
/sites/{siteid}/access/modules:
get:
operationId: getAccessModules
summary: Retrieve assignable application features
description: Retrieve assignable application features.
tags:
- Feature Access
responses:
'200':
description: The request was successful and the response body contains the representation requested.
content:
application/json:
schema:
type: object
'400':
description: The request was invalid or cannot be otherwise served. An accompanying error message will explain further.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: The supplied credentials, if any, are not sufficient to access the resource.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'429':
description: Your application is sending too many simultaneous requests.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: We couldn't return the representation due to an internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
parameters:
- name: siteid
in: path
required: true
description: Site identifier
schema:
type: string
/sites/{siteid}/access/modules/{accessmoduleid}:
get:
operationId: getAccessModule
summary: Retrieve an application feature
description: Retrieve an application feature.
tags:
- Feature Access
responses:
'200':
description: The request was successful and the response body contains the representation requested.
content:
application/json:
schema:
type: object
'400':
description: The request was invalid or cannot be otherwise served. An accompanying error message will explain further.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: The supplied credentials, if any, are not sufficient to access the resource.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'429':
description: Your application is sending too many simultaneous requests.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: We couldn't return the representation due to an internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
parameters:
- name: siteid
in: path
required: true
description: Site identifier
schema:
type: string
- name: accessmoduleid
in: path
required: true
description: Access module (application feature) identifier
schema:
type: string
/users/{userid}/access/modules:
get:
operationId: getUserAccessModules
summary: Retrieve a user's feature access
description: Retrieve a user's feature access.
tags:
- Feature Access
responses:
'200':
description: The request was successful and the response body contains the representation requested.
content:
application/json:
schema:
type: object
'400':
description: The request was invalid or cannot be otherwise served. An accompanying error message will explain further.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: The supplied credentials, if any, are not sufficient to access the resource.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'429':
description: Your application is sending too many simultaneous requests.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: We couldn't return the representation due to an internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
parameters:
- name: userid
in: path
required: true
description: User identifier
schema:
type: string
/users/{userid}/access/modules/{accessmoduleid}:
get:
operationId: getUserAccessModule
summary: Retrieve a user's specific feature access
description: Retrieve a user's specific feature access.
tags:
- Feature Access
responses:
'200':
description: The request was successful and the response body contains the representation requested.
content:
application/json:
schema:
type: object
'400':
description: The request was invalid or cannot be otherwise served. An accompanying error message will explain further.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: The supplied credentials, if any, are not sufficient to access the resource.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'429':
description: Your application is sending too many simultaneous requests.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: We couldn't return the representation due to an internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
parameters:
- name: userid
in: path
required: true
description: User identifier
schema:
type: string
- name: accessmoduleid
in: path
required: true
description: Access module (application feature) identifier
schema:
type: string
delete:
operationId: revokeModuleAccess
summary: Revoke access to an application feature
description: Revoke access to an application feature.
tags:
- Feature Access
responses:
'200':
description: The request was successful and the response body contains the representation requested.
content:
application/json:
schema:
type: object
'400':
description: The request was invalid or cannot be otherwise served. An accompanying error message will explain further.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: The supplied credentials, if any, are not sufficient to access the resource.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'429':
description: Your application is sending too many simultaneous requests.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: We couldn't return the representation due to an internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
parameters:
- name: userid
in: path
required: true
description: User identifier
schema:
type: string
- name: accessmoduleid
in: path
required: true
description: Access module (application feature) identifier
schema:
type: string
/sites/{siteid}/access/modules/{accessmoduleid}/users:
get:
operationId: getAccessModuleUsers
summary: Retrieve users with a feature
description: Retrieve users with a feature.
tags:
- Feature Access
responses:
'200':
description: The request was successful and the response body contains the representation requested.
content:
application/json:
schema:
type: object
'400':
description: The request was invalid or cannot be otherwise served. An accompanying error message will explain further.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: The supplied credentials, if any, are not sufficient to access the resource.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'429':
description: Your application is sending too many simultaneous requests.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: We couldn't return the representation due to an internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
parameters:
- name: siteid
in: path
required: true
description: Site identifier
schema:
type: string
- name: accessmoduleid
in: path
required: true
description: Access module (application feature) identifier
schema:
type: string
post:
operationId: grantModuleAccess
summary: Grant access to an application feature
description: Grant access to an application feature.
tags:
- Feature Access
responses:
'201':
description: The request has been fulfilled and resulted in a new resource being created.
content:
application/json:
schema:
type: object
'400':
description: The request was invalid or cannot be otherwise served. An accompanying error message will explain further.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: The supplied credentials, if any, are not sufficient to access the resource.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: The request could not be completed due to a conflict with the current state of the resource.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'429':
description: Your application is sending too many simultaneous requests.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: We couldn't return the representation due to an internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
parameters:
- name: siteid
in: path
required: true
description: Site identifier
schema:
type: string
- name: accessmoduleid
in: path
required: true
description: Access module (application feature) identifier
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
description: JSON body as documented per route in the TargetSolutions developer portal (payload schemas are not published).
components:
schemas:
Error:
type: object
description: Application error. TargetSolutions documents application error codes (701-1006) alongside HTTP status codes; see https://developers.targetsolutions.com/documentation/errorcodes.
properties:
code:
type: integer
description: Application error code (e.g. 801 Access Token not passed)
message:
type: string
description: Human-readable error message
securitySchemes:
AccessToken:
type: apiKey
in: header
name: AccessToken
description: Customer-specific API token passed in the header of all requests over HTTPS. Requested from your TargetSolutions account manager; tokens can be read-only or feature-specific.