Vector Solutions Profile Group Assignment API
The Profile Group Assignment API from Vector Solutions — 4 operation(s) for profile group assignment.
The Profile Group Assignment API from Vector Solutions — 4 operation(s) for profile group assignment.
openapi: 3.0.3
info:
title: TargetSolutions Courses Profile Group Assignment 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: Profile Group Assignment
paths:
/sites/categories/profile/{categoryid}/groups/{groupid}/users:
get:
operationId: getProfileGroupUsers
summary: Retrieve profile group members
description: Retrieve profile group members.
tags:
- Profile Group Assignment
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: categoryid
in: path
required: true
description: Category identifier
schema:
type: string
- name: groupid
in: path
required: true
description: Group identifier
schema:
type: string
/sites/{siteid}/categories/profile/{categoryid}/groups/{groupid}/users:
get:
operationId: getSiteProfileGroupUsers
summary: Retrieve site profile group members
description: Retrieve site profile group members.
tags:
- Profile Group Assignment
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: categoryid
in: path
required: true
description: Category identifier
schema:
type: string
- name: groupid
in: path
required: true
description: Group identifier
schema:
type: string
post:
operationId: addUserToProfileGroup
summary: Add a user to a profile group
description: Add a user to a profile group.
tags:
- Profile Group Assignment
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: categoryid
in: path
required: true
description: Category identifier
schema:
type: string
- name: groupid
in: path
required: true
description: Group 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).
/users/{userid}/groups:
get:
operationId: getUserGroups
summary: Retrieve a user's profile groups
description: Retrieve a user's profile groups.
tags:
- Profile Group Assignment
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}/groups/{groupid}:
get:
operationId: getUserGroup
summary: Retrieve a user's specific profile group
description: Retrieve a user's specific profile group.
tags:
- Profile Group Assignment
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: groupid
in: path
required: true
description: Group identifier
schema:
type: string
delete:
operationId: removeUserFromProfileGroup
summary: Remove a user from a profile group
description: Remove a user from a profile group.
tags:
- Profile Group Assignment
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: groupid
in: path
required: true
description: Group identifier
schema:
type: string
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.