Vector Solutions Feature Access API

The Feature Access API from Vector Solutions — 5 operation(s) for feature access.

OpenAPI Specification

vectorsolutions-feature-access-api-openapi.yml Raw ↑
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.