Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.1.0
info:
title: api-settings
version: '1.0'
servers:
- url: https://app.workramp.com
components:
securitySchemes:
sec0:
type: apiKey
name: Authorization
in: header
x-bearer-format: bearer
x-default: ACCESS_TOKEN
security:
- sec0: []
paths:
/api/v1/users:
get:
summary: Get All Users
description: 'Gets all users within the enterprise.
See also: <a href="/reference/get-all-users-attributes">Get All Users (Including Attributes)</a>'
operationId: get-all-users-in-enterprise
parameters:
- name: limit
in: query
description: Limit the number of results returned per page. See warnings above -- failure to limit
can result in your request being blocked due to rate-limiting. **Best practice is to always
set to 1 when querying for one user, or less than 100 when doing batches.**
schema:
type: integer
format: int32
- name: page
in: query
description: When used in conjunction with "limit," indicate what page (zero indexed) of results
to return. The last "page" will have potentially fewer results than "limit," and pages beyond
results will have return an empty array.
schema:
type: integer
format: int32
- name: includeDeleted
in: query
description: Default behavior is to return users where isDeleted is "false". You can set this
parameter to "true" to return users for which isDeleted is either "true" or "false".
schema:
type: boolean
default: false
- name: email
in: query
description: Optional - To filter to a single email address. If a user with this email address
exists in the system, then only that user will be in the return data. If no user exists with
that email, then a blank list will be returned.
schema:
type: string
- name: name
in: query
description: Optional - To filter by name, pass in a name to search, please note this is case
sensitive
schema:
type: string
- name: custom_attributes
in: query
description: 'Optional - To filter to only users with a certain custom attribute value, pass an
object with a single key-value pair where the key represents the custom attribute name and the
value represents the custom attribute value. (ie. `{ "custom_attributes": { "isAdmin": true
} }`)'
schema:
properties: {}
type: object
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "[\n {\n \"id\": 1925,\n \"name\": \"John Doe\",\n \"email\": \"johndoe@workramp.com\"\
,\n \"isAdmin\": false,\n \"isDeleted\": false,\n \t\t\"isPermanentlyDeleted\"\
: false,\n \"createdAt\": 1466832522351.831,\n \"updatedAt\": 1469950882088.9028,\n\
\ \"directReports\": [\n {\n \"id\": 4,\n \"name\": \"Managee\
\ Doe\",\n \"email\": \"manageedoe@workramp.com\"\n }\n ],\n \"\
certifications\": [\n {\n \"id\": 1,\n \"title\": \"Certification\
\ 1\"\n }\n ]\n },\n {\n \"id\": 1954,\n \"name\": \"Beth Samuels\"\
,\n \"email\": \"bethsamuels@workramp.com\",\n \"isAdmin\": true,\n \"isDeleted\"\
: false,\n \t\t\"isPermanentlyDeleted\": false,\n \"createdAt\": 1467515797325.3892,\n\
\ \"updatedAt\": 1467515860387.0022,\n \"directReports\": [],\n \"certifications\"\
: []\n },\n {\n \"id\": 1955,\n \"name\": \"Julie Thomas\",\n \"email\"\
: \"juliethomas@workramp.com\",\n \"isAdmin\": false,\n \"isDeleted\": false,\n\
\ \t\t\"isPermanentlyDeleted\": false,\n \"createdAt\": 1467515822265.4888,\n \
\ \"updatedAt\": 1467515932613.6372,\n \"directReports\": [],\n \"certifications\"\
: []\n }\n]\n"
schema:
type: array
items:
type: object
properties:
id:
type: integer
example: 1925
default: 0
name:
type: string
example: John Doe
email:
type: string
example: johndoe@workramp.com
isAdmin:
type: boolean
example: false
default: true
isDeleted:
type: boolean
example: false
default: true
isPermanentlyDeleted:
type: boolean
example: false
default: true
createdAt:
type: number
example: 1466832522351.831
default: 0
updatedAt:
type: number
example: 1469950882088.9028
default: 0
directReports:
type: array
items:
type: object
properties:
id:
type: integer
example: 4
default: 0
name:
type: string
example: Managee Doe
email:
type: string
example: manageedoe@workramp.com
certifications:
type: array
items:
type: object
properties:
id:
type: integer
example: 1
default: 0
title:
type: string
example: Certification 1
'429':
description: Too Many Requests
content:
application/json:
schema:
type: object
properties:
error:
type: string
description: The error
default: Rate Limited...
required:
- error
examples:
Rate Limited:
summary: Rate Limited
value:
error: Rate limited. See info at https://developers.workramp.com/reference/get-all-users-in-enterprise
deprecated: false
/api/v1/users/{user_id}:
delete:
summary: Delete User
description: Delete an existing user
operationId: delete-user
parameters:
- name: user_id
in: path
description: ID of user to be deleted
schema:
type: integer
format: int32
required: true
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: 'true'
schema:
type: boolean
example: true
default: true
deprecated: false
/api/v1/groups:
get:
summary: Get all Groups
description: Get all groups within the enterprise
operationId: get-all-groups
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "[\n {\n \"id\": 8,\n \"enterpriseId\": 23,\n \"name\": \"SDR New Hires\
\ - August\",\n \"createdAt\": 1435038275166.556,\n \"updatedAt\": 1437021409461.621\n\
\ },\n {\n \"id\": 116,\n \"enterpriseId\": 23,\n \"name\": \"SDRs\",\n\
\ \"createdAt\": 1457236933952.727,\n \"updatedAt\": 1457236933952.727\n }\n\
]\n"
schema:
type: array
items:
type: object
properties:
id:
type: integer
example: 8
default: 0
enterpriseId:
type: integer
example: 23
default: 0
name:
type: string
example: SDR New Hires - August
createdAt:
type: number
example: 1435038275166.556
default: 0
updatedAt:
type: number
example: 1437021409461.621
default: 0
deprecated: false
/api/v1/groups/{group_id}/users:
get:
summary: Get All Users in a Group
description: Get all users in a specific group
operationId: get-all-users-in-a-group
parameters:
- name: Authorization
in: header
schema:
type: string
- name: group_id
in: path
schema:
type: string
required: true
- name: Content-type
in: header
schema:
type: string
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "[\n {\n \"id\": 1925,\n \"name\": \"John Doe\",\n \"email\": \"johndoe@workramp.com\"\
,\n \"isAdmin\": false,\n \"isDeleted\": false,\n \t\t\"isPermanentlyDeleted\"\
: false,\n \"createdAt\": 1656355073141,\n \"updatedAt\": 1658343360219,\n \
\ \"directReports\": [\n {\n \"id\": 4,\n \"name\": \"Managee\
\ Doe\",\n \"email\": \"manageedoe@workramp.com\"\n }\n ],\n \"\
certifications\": [\n {\n \"id\": 1,\n \"title\": \"Certification\
\ 1\"\n }\n ],\n \"customAttributes\": [\n {\n \"id\": 1,\n\
\ \"apiName\": \"alias\",\n \"value\": \"rockstar\"\n }\n ]\n\
\ },\n {\n \"id\": 1954,\n \"name\": \"Beth Samuels\",\n \"email\": \"\
bethsamuels@workramp.com\",\n \"isAdmin\": true,\n \"isDeleted\": false,\n \t\
\t\"isPermanentlyDeleted\": false,\n \"createdAt\": 1656355073125,\n \"updatedAt\"\
: 1636355073144,\n \"directReports\": [],\n \"certifications\": [],\n \"\
customAttributes\": []\n }\n]\n"
schema:
type: array
items:
type: object
properties:
id:
type: integer
example: 1925
default: 0
name:
type: string
example: John Doe
email:
type: string
example: johndoe@workramp.com
isAdmin:
type: boolean
example: false
default: true
isDeleted:
type: boolean
example: false
default: true
isPermanentlyDeleted:
type: boolean
example: false
default: true
createdAt:
type: integer
example: 1656355073141
default: 0
updatedAt:
type: integer
example: 1658343360219
default: 0
directReports:
type: array
items:
type: object
properties:
id:
type: integer
example: 4
default: 0
name:
type: string
example: Managee Doe
email:
type: string
example: manageedoe@workramp.com
certifications:
type: array
items:
type: object
properties:
id:
type: integer
example: 1
default: 0
title:
type: string
example: Certification 1
customAttributes:
type: array
items:
type: object
properties:
id:
type: integer
example: 1
default: 0
apiName:
type: string
example: alias
value:
type: string
example: rockstar
deprecated: false
x-readme:
code-samples:
- language: curl
code: 'curl https://app.workramp.com/api/v1/grous/2/users \
-H "Authorization: Bearer ACCESS_TOKEN"
-H "Content-type: application/json" \'
samples-languages:
- curl
/api/v1/users/:user_id/assignments/:
get:
summary: Get all User Assignments
description: For provided user_id, returns all Course, Training Series (Paths), Challenge, and SCORM
assignments.
operationId: get-all-user-assignments
parameters:
- name: :user_id
in: path
schema:
type: string
required: true
- name: Authorization
in: header
schema:
type: string
- name: webhook_payloads
in: query
description: Use webhook formats for assignment payloads
schema:
type: boolean
default: false
- in: query
name: legacy_mode
schema:
type: boolean
default: 'true'
description: For accounts provisioned prior to November 11, 2025, the optional query parameter
legacy_mode can be set to bypass pagination. When legacy_mode is enabled, the API will return
the entire result set in a single, non-paginated response.
responses:
'200':
description: '200'
content:
application/json:
examples:
default:
value:
page: 1
per_page: 20
has_more: false
item_count: 6
url: /api/v1/users/27483/assignments
data:
challenge_assignments:
- id: d09f7598-bc99-11e8-bb1c-06cfa4e7b2f4
user_id: 27483
title: Challenge 1 Title
challenge_id: 8b439e84-bc99-11e8-a7f4-06cfa4e7b2f4
training_series_user_assignment_id: d07067f8-bc99-11e8-bb1c-06cfa4e7b2f4
due_date: 1538784000000
reviewers_due_date: null
is_submitted: false
is_partially_graded: false
is_fully_graded: false
calculated_grade: 0
passed: false
created_at: 1537422945092
updated_at: 1541702793186
completed_at: null
completion_percentage: 0
tags: []
status: not_started
is_completed: false
is_completed_on_time: null
passing_grade_required: null
is_overdue: null
num_days_overdue: null
date_first_accessed: null
date_last_accessed: null
assigner_id: null
- id: 32509f28-4044-11e9-823e-06cfa4e7b2f4
user_id: 27483
title: Challenge 2 Title
challenge_id: eb6008b0-3ac6-11e9-b297-0260b0cd3c00
training_series_user_assignment_id: null
due_date: 1553126400000
reviewers_due_date: 1553817600000
is_submitted: false
is_partially_graded: false
is_fully_graded: false
calculated_grade: 0
passed: false
created_at: 1551899725760
updated_at: 1551899725919
completed_at: null
completion_percentage: 0
tags: []
status: not_started
is_completed: false
is_completed_on_time: null
passing_grade_required: null
is_overdue: null
num_days_overdue: null
date_first_accessed: null
date_last_accessed: null
assigner_id: null
guide_assignments:
- id: d20a8ddc-02ad-11e9-af0d-0260b0cd3c00
user_id: 27483
title: Guide 1 Title
course_id: c52ca028-02ad-11e9-8d2f-0260b0cd3c00
training_series_user_assignment_id: null
training_series_user_assignment_ids: []
assigner_id: null
due_date: 1545955200000
num_viewed_tasks: 3
num_completed_tasks: 3
num_completed_test_questions: 5
num_graded_test_questions: 4
num_correct_test_questions: 3
score: 75
is_archived: null
is_completed: false
completion_percentage: 100
created_at: 1545128118800
updated_at: 1545328427200
completed_at: 1545328427200
tags: []
status: completed
is_completed_on_time: null
passed: true
passing_grade_required: null
is_overdue: null
num_days_overdue: null
is_retaken: false
retake_count: 0
time_spent: null
first_accessed_at: null
last_accessed_at: null
- id: d07457d2-bc99-11e8-bb1c-06cfa4e7b2f4
user_id: 27483
title: Guide 2 Title
course_id: 72647668-bc99-11e8-a7f4-06cfa4e7b2f4
training_series_user_assignment_id: d07067f8-bc99-11e8-bb1c-06cfa4e7b2f4
training_series_user_assignment_ids: []
assigner_id: null
due_date: 1538784000000
num_viewed_tasks: 1
num_completed_tasks: 0
num_completed_test_questions: 0
num_graded_test_questions: 0
num_correct_test_questions: 0
score: null
is_archived: null
is_completed: false
completion_percentage: 0
created_at: 1537422944809
updated_at: 1537422969899
completed_at: null
tags: []
status: in_progress
is_completed_on_time: null
passed: false
passing_grade_required: null
is_overdue: null
num_days_overdue: null
is_retaken: false
retake_count: 0
time_spent: null
first_accessed_at: null
last_accessed_at: null
path_assignments:
- id: d07067f8-bc99-11e8-bb1c-06cfa4e7b2f4
user_id: 27483
title: Path 1 Title
training_series_id: 7d30e004-bc99-11e8-86d3-0260b0cd3c00
assigner_id: 27484
overall_grade: null
is_completed: false
due_date: 1538784000000
created_at: 1537422944784
updated_at: 1537422944784
created_through: null
num_modules: 4
modules_completed: 2
completion_percentage: 50
completed_at: null
tags: []
time_spent: 32
status: in_progress
is_completed_on_time: null
passed: false
passing_grade_required: null
is_overdue: null
num_days_overdue: null
first_accessed_at: null
last_accessed_at: null
scorm_assignments:
- assigner_user_id: null
completion_percentage: 100
due_at: 1551899725760
due_date: 1551899725760
id: 019659d6-4c16-7707-bc7e-966a6cfa3a0b
is_completed: true
score: 100
tags:
- Ad Solutions
- Trending Takeover
- Reddit Takeover
- Front Page Takeover
- Category Takeover
- Takeovers
top_level_content_id: 019659d6-6758-7f30-af63-9446f9011d1e
training_series_user_assignment_ids:
- 01965e3b-1627-7bfc-a1d3-01d28d78e873
- 01965e3b-409f-7cad-b2fa-8889cffd799d
webhook_payloads:
summary: webhook_payloads
value:
challengeAssignments: []
guideAssignments: []
pathAssignments: []
scormAssignments: []
legacy_mode:
summary: legacy_mode
value:
courseAssignments:
- id: d20a8ddc-02ad-11e9-af0d-0260b0cd3c00
userId: 27483
title: Guide 1 Title
courseId: c52ca028-02ad-11e9-8d2f-0260b0cd3c00
trainingSeriesUserAssignmentId: null
dueDate: 1545955200000
numViewedTasks: 3
numCompletedTasks: 3
numCompletedTestQuestions: 5
numGradedTestQuestions: 4
numCorrectTestQuestions: 3
score: 75
isArchived: null
isCompleted: false
createdAt: 1545128118800
updatedAt: 1545328427200
completedAt: 1545328427200
completionPercentage: 100
- id: d07457d2-bc99-11e8-bb1c-06cfa4e7b2f4
userId: 27483
title: Guide 2 Title
courseId: 72647668-bc99-11e8-a7f4-06cfa4e7b2f4
trainingSeriesUserAssignmentId: d07067f8-bc99-11e8-bb1c-06cfa4e7b2f4
dueDate: 1538784000000
numViewedTasks: 1
numCompletedTasks: 0
numCompletedTestQuestions: 0
numGradedTestQuestions: 0
numCorrectTestQuestions: 0
score: null
isArchived: null
isCompleted: false
createdAt: 1537422944809
updatedAt: 1537422969899
completedAt: null
completionPercentage: 0
trainingSeriesAssignments:
- id: d07067f8-bc99-11e8-bb1c-06cfa4e7b2f4
userId: 27483
title: Path 1 Title
trainingSeriesId: 7d30e004-bc99-11e8-86d3-0260b0cd3c00
assignerId: 27484
overallGrade: null
isCompleted: false
dueDate: 1538784000000
createdAt: 1537422944784
updatedAt: 1537422944784
createdThrough: null
numModules: 4
modulesCompleted: 2
completionPercentage: 50
timeSpent: 32
challengeAssignments:
- id: d09f7598-bc99-11e8-bb1c-06cfa4e7b2f4
userId: 27483
title: Challenge 1 Title
challengeId: 8b439e84-bc99-11e8-a7f4-06cfa4e7b2f4
trainingSeriesUserAssignmentId: d07067f8-bc99-11e8-bb1c-06cfa4e7b2f4
dueDate: 1538784000000
reviewersDueDate: null
isSubmitted: false
isPartiallyGraded: false
isFullyGraded: false
calculatedGrade: 0
passed: false
createdAt: 1537422945092
updatedAt: 1541702793186
completedAt: null
completionPercentage: 0
- id: 32509f28-4044-11e9-823e-06cfa4e7b2f4
userId: 27483
title: Challenge 2 Title
challengeId: eb6008b0-3ac6-11e9-b297-0260b0cd3c00
trainingSeriesUserAssignmentId: null
dueDate: 1553126400000
reviewersDueDate: 1553817600000
isSubmitted: false
isPartiallyGraded: false
isFullyGraded: false
calculatedGrade: 0
passed: false
createdAt: 1551899725760
updatedAt: 1551899725919
completedAt: null
completionPercentage: 0
scormAssignments:
- id: 019659d6-4c16-7707-bc7e-966a6cfa3a0b
topLevelContentId: 019659d6-6758-7f30-af63-9446f9011d1e
isCompleted: true
completionPercentage: 100
score: 100
dueAt: 1551899725760
dueDate: 1551899725760
tags:
- Ad Solutions
- Trending Takeover
- Reddit Takeover
- Front Page Takeover
- Category Takeover
- Takeovers
trainingSeriesUserAssignmentIds:
- 01965e3b-1627-7bfc-a1d3-01d28d78e873
- 01965e3b-409f-7cad-b2fa-8889cffd799d
schema:
oneOf:
- title: legacy_mode
type: object
properties:
courseAssignments:
type: array
items:
type: object
properties:
id:
type: string
example: d20a8ddc-02ad-11e9-af0d-0260b0cd3c00
userId:
type: integer
example: 27483
default: 0
title:
type: string
example: Guide 1 Title
courseId:
type: string
example: c52ca028-02ad-11e9-8d2f-0260b0cd3c00
trainingSeriesUserAssignmentId: {}
dueDate:
type: integer
example: 1545955200000
default: 0
numViewedTasks:
type: integer
example: 3
default: 0
numCompletedTasks:
type: integer
example: 3
default: 0
numCompletedTestQuestions:
type: integer
example: 5
default: 0
numGradedTestQuestions:
type: integer
example: 4
default: 0
numCorrectTestQuestions:
type: integer
example: 3
default: 0
score:
type: integer
example: 75
default: 0
isArchived: {}
isCompleted:
type: boolean
example: false
default: true
createdAt:
type: integer
example: 1545128118800
default: 0
updatedAt:
type: integer
example: 1545328427200
default: 0
completedAt:
type: integer
example: 1545328427200
default: 0
completionPercentage:
type: integer
example: 100
default: 0
trainingSeriesAssignments:
type: array
items:
type: object
properties:
id:
type: string
example: d07067f8-bc99-11e8-bb1c-06cfa4e7b2f4
userId:
type: integer
example: 27483
default: 0
title:
type: string
example: Path 1 Title
trainingSeri
# --- truncated at 32 KB (295 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/workramp/refs/heads/main/openapi/workramp-api-settings-openapi.yml