Vector Solutions Profile Groups API

The Profile Groups API from Vector Solutions — 4 operation(s) for profile groups.

OpenAPI Specification

vectorsolutions-profile-groups-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: TargetSolutions Courses Profile Groups 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 Groups
paths:
  /sites/categories/profile/{categoryid}/groups:
    get:
      operationId: getProfileGroups
      summary: Retrieve groups in a profile category
      description: Retrieve groups in a profile category.
      tags:
      - Profile Groups
      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
  /sites/{siteid}/categories/profile/{categoryid}/groups:
    get:
      operationId: getSiteProfileGroups
      summary: Retrieve site profile groups
      description: Retrieve site profile groups.
      tags:
      - Profile Groups
      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
    post:
      operationId: createProfileGroup
      summary: Create a profile group
      description: Create a profile group.
      tags:
      - Profile Groups
      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
      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).
  /sites/categories/profile/{categoryid}/groups/{groupid}:
    get:
      operationId: getProfileGroup
      summary: Retrieve a profile group
      description: Retrieve a profile group.
      tags:
      - Profile Groups
      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}:
    get:
      operationId: getSiteProfileGroup
      summary: Retrieve a site profile group
      description: Retrieve a site profile group.
      tags:
      - Profile Groups
      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
    put:
      operationId: updateProfileGroup
      summary: Modify a profile group
      description: Modify a profile group.
      tags:
      - Profile Groups
      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'
        '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).
    delete:
      operationId: deleteProfileGroup
      summary: Remove a profile group
      description: Remove a profile group.
      tags:
      - Profile Groups
      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
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.