API reference

KYE Protocol™ — Consultant Program™ API

37 operations · consultant-programme.openapi.yaml

Servers
https://admin.kyeprotocol.com https://app.kyeprotocol.com https://kyeprotocol.com
Version
1.0.0
Source
consultant-programme.openapi.yaml

Admin authoring (owner-gated), tenant-scoped read endpoints, and the public lead-capture endpoint for the KYE™ Consultant Program™.

All POST endpoints accept an Idempotency-Key header; if present, the response is cached per (tenant_id, scope, key) and returned verbatim on retry. Soft-delete only — deleted_at is set; rows are never physically removed.

Patent-safety: this spec MUST stay free of mechanism vocabulary.

Base path: /api/v1/ (admin + cloud) and /api/ (public site).

consultant-programme

GET/api/v1/consultantsList consultants (admin)

Auth: bearerAuth

Parameters

nameintypedescription
statusquerystring
levelquerystring
countryquerystring
qquerystring

Responses

  • 200 OK
POST/api/v1/consultantsCreate a consultant (admin)

Auth: bearerAuth

Parameters

nameintypedescription
Idempotency-Keyheaderstring

Request body (required)

fieldtypedescription
display_name requiredstring
legal_namestring
email requiredstring
phonestring
countrystring
sectorsarray
languagesarray
biostring
websitestring
linkedinstring
statusstringOne of applied, onboarding, certified, suspended, retired
certification_levelstringOne of associate, professional, master
attribution_kidstring

Responses

  • 201 Created
  • 400 Validation error
  • 409 Duplicate email
GET/api/v1/consultants/{id}Fetch a consultant (admin)

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Responses

  • 200 OK
  • 404 Not found
PATCH/api/v1/consultants/{id}Update a consultant (admin)

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Request body (required)

fieldtypedescription
display_namestring
legal_namestring
phonestring
countrystring
sectorsarray
languagesarray
biostring
websitestring
linkedinstring
statusstring
certification_levelstring
attribution_kidstring

Responses

  • 200 OK
DELETE/api/v1/consultants/{id}Soft-delete a consultant (admin)

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Responses

  • 200 OK
POST/api/v1/consultants/{id}/certifyCertify a consultant (admin)

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring
Idempotency-Keyheaderstring

Request body (required)

fieldtypedescription
level requiredstringOne of associate, professional, master
programstring
not_beforestring
not_afterstring
evidence_pack_idstring
signature_kidstring
signature_value_b64string

Responses

  • 201 Created
POST/api/v1/consultants/{id}/suspendSuspend a consultant (admin)

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring
Idempotency-Keyheaderstring

Request body (required)

fieldtypedescription
reason requiredstring

Responses

  • 200 OK
GET/api/v1/consultant-certificationsList certifications (admin)

Auth: bearerAuth

Parameters

nameintypedescription
consultant_idquerystring
levelquerystring
programquerystring

Responses

  • 200 OK
POST/api/v1/consultant-certificationsCreate a certification (admin)

Auth: bearerAuth

Parameters

nameintypedescription
Idempotency-Keyheaderstring

Request body (required)

fieldtypedescription
consultant_id requiredstring
level requiredstringOne of associate, professional, master
programstring
not_beforestring
not_afterstring
evidence_pack_idstring
signature_kidstring
signature_value_b64string

Responses

  • 201 Created
GET/api/v1/consultant-certifications/{id}

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Responses

  • 200 OK
  • 404 Not found
PATCH/api/v1/consultant-certifications/{id}Revoke or update certification validity (admin)

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Request body (required)

fieldtypedescription
revokeboolean
revoke_reasonstring
not_afterstring

Responses

  • 200 OK
DELETE/api/v1/consultant-certifications/{id}

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Responses

  • 200 OK
POST/api/v1/consultant-tenant-linksInvite a consultant to a tenant (admin)

Auth: bearerAuth

Parameters

nameintypedescription
Idempotency-Keyheaderstring

Request body (required)

fieldtypedescription
consultant_id requiredstring
tenant_id requiredstring
scopestringOne of view_only, operate, attest
statusstringOne of invited, active

Responses

  • 201 Created
  • 409 Duplicate consultant_id + tenant_id pair
POST/api/v1/consultant-tenant-links/{id}/revokeRevoke a consultant↔tenant link (admin)

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring
Idempotency-Keyheaderstring

Request body (required)

fieldtypedescription
reason requiredstring

Responses

  • 200 OK
GET/api/v1/white-label-configsList white-label brand configs (admin)

Auth: bearerAuth

Parameters

nameintypedescription
consultant_idquerystring
tenant_idquerystring
statusquerystring

Responses

  • 200 OK
POST/api/v1/white-label-configsCreate a white-label brand config (admin)

Auth: bearerAuth

Parameters

nameintypedescription
Idempotency-Keyheaderstring

Request body (required)

fieldtypedescription
consultant_id requiredstring
tenant_idstring
brand_name requiredstring
primary_colour_hexstring
secondary_colour_hexstring
logo_urlstring
domainstring
support_emailstring
legal_footerstring
statusstringOne of draft, active, archived

Responses

  • 201 Created
GET/api/v1/white-label-configs/{id}

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Responses

  • 200 OK
  • 404 Not found
PATCH/api/v1/white-label-configs/{id}

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Request body (required)

fieldtypedescription
brand_namestring
primary_colour_hexstring
secondary_colour_hexstring
logo_urlstring
domainstring
support_emailstring
legal_footerstring
statusstring

Responses

  • 200 OK
DELETE/api/v1/white-label-configs/{id}

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Responses

  • 200 OK
GET/api/v1/consultant-leadsList consultant leads (admin)

Auth: bearerAuth

Parameters

nameintypedescription
statusquerystring
sectorquerystring
assigned_consultant_idquerystring
qquerystring

Responses

  • 200 OK
POST/api/v1/consultant-leadsCreate a consultant lead (admin / import)

Auth: bearerAuth

Parameters

nameintypedescription
Idempotency-Keyheaderstring

Request body (required)

fieldtypedescription
submitter_email requiredstring
submitter_namestring
organisationstring
sectorstring
countrystring
messagestring
consent_marketingboolean
sourcestring
utmobject

Responses

  • 201 Created
GET/api/v1/consultant-leads/{id}

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Responses

  • 200 OK
  • 404 Not found
PATCH/api/v1/consultant-leads/{id}

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Request body (required)

fieldtypedescription
assigned_consultant_idstring
sectorstring
messagestring
statusstringOne of captured, qualified, converted, rejected

Responses

  • 200 OK
DELETE/api/v1/consultant-leads/{id}

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Responses

  • 200 OK
POST/api/v1/consultant-leads/{id}/qualifyMark a lead qualified (admin)

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring
Idempotency-Keyheaderstring

Responses

  • 200 OK
POST/api/v1/consultant-leads/{id}/convertMark a lead converted (admin)

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring
Idempotency-Keyheaderstring

Request body (required)

fieldtypedescription
converted_tenant_id requiredstring

Responses

  • 200 OK
GET/api/v1/app/consultantsList consultants attested into the caller's tenant (cloud)

Auth: bearerAuth

Parameters

nameintypedescription
levelquerystring
sectorquerystring
limitqueryinteger

Responses

  • 200 OK
GET/api/v1/app/consultants/{id}Fetch a consultant scoped to the caller's tenant (cloud)

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Responses

  • 200 OK
  • 404 Not found / not linked to tenant
GET/api/v1/app/white-label-configFetch the active white-label brand config for the caller's tenant (cloud)

Auth: bearerAuth

Responses

  • 200 OK
  • 404 Not found
GET/api/consultant-leadAggregate lead-counter (no PII; public)

Responses

  • 200 OK
POST/api/consultant-leadCapture a consultant program enquiry (public)

Request body (required)

fieldtypedescription
email requiredstring
namestring
organisationstring
sectorstring
countrystring
messagestring
consent_marketingboolean
sourcestring

Responses

  • 200 Captured
  • 400 Validation error
  • 429 Rate limited