Skip to main content

Changelog

Dates are release dates of the Deeper Signals platform. Endpoints are relative to https://api.deepersignals.com/api/external.

2026-10 — Public API extension​

New endpoints, backwards compatible:

  • Reports: GET /reports (catalog), GET|PUT|DELETE /users/{user_id}/reports[/{user_report_library_id}] (per-person report visibility), GET /pdf/v2/user/{user_id}/report/{user_report_library_id}/download/{locale} (download regardless of visibility; 409 while assessments are pending).
  • Assessments: GET /users/{user_id}/assessments, PUT|DELETE /users/{user_id}/assessments/{assessment_library_id}.
  • Locales: GET /locales lists the enabled locales (code, name, right_to_left).
  • Users: PATCH /users/{user_id} (partial update: names, e-mail, locale, employee id, active flag, groups). POST /user now validates its body.
  • Campaigns: POST /campaigns, GET /campaigns/{campaign_id}, table queries POST /campaigns/table and POST /campaigns/{campaign_id}/users/table (with GET /campaigns/columns), POST /campaigns/{campaign_id}/users, POST /campaigns/{campaign_id}/invitations, DELETE /campaigns/{campaign_id}/users/{user_id}. Campaign and participant responses carry invite_link_template; with the campaign's invite_token or a participant's users.invite_campaign_user.token it becomes the sign-up link.
  • Share links now return the full url next to the token.
  • Missing assignments on PDF and share endpoints return 404 instead of 500; user ids in paths must be numeric.
  • POST /user and PATCH /users/{user_id} apply the platform's name rules (422 for invalid names) and answer 400 for a duplicate e-mail (exception.email.taken) or employee id (exception.user.employeeIdTaken), never 500.
  • PUT /users/{user_id}/reports/{user_report_library_id} answers 404 (exception.assignedAssessment.notFound) for a single-assessment report whose assessment is not assigned to the person.
  • Share-link requests without the required id answer 422 naming it instead of 500.
  • The reference documents the 404 returned for unknown ids in the path.

Documentation moved from the Postman collection to this site, generated from the API's OpenAPI specification.

Earlier​

  • GET /user/employee-id/{employee_id}: look a user up by employee id.
  • GET /users/columns and POST /users/table: table queries over users, including assessment scores and HRIS attributes.
  • Team endpoints, team report PDFs and share tokens.
  • SCIM 2.0 provisioning at https://api.deepersignals.com/api/scim/v2.