Keystone Developers
Open Keystone
API reference

Auth service

Internal

9 endpoints.

POST/api/v1/internal/account-invites/send-email

Send Account Invite Email

Parameters

NameInTypeDescription
X-Internal-Api-Keyheaderstring | null

Request bodyrequired

application/jsonInternalAccountInviteEmailRequest
FieldTypeDescription
emailrequiredstring (email)
business_namerequiredstring
invite_idrequiredstring
owner_namestringdefault ""

Responses

200Successful Response
application/jsonany
  • 422Validation Error

Error bodies: HTTPValidationError. See Errors.

POST/api/v1/internal/billing-notifications/send-email

Send Billing Notification Email

Email one business user about a billing event (DF-10). Called per recipient by sor, which owns the business↔user mapping; this service only knows how to render and send.

**422 on a kind we have no copy for.** The alternative — generic wording — produces an email that names no amount, no date and no reason, which spends the customer's one notification on nothing and reports nothing to us. The caller retries and dead-letters it, so it surfaces as a tracked failure. `notification_data` gets no such treatment: it is best-effort, and a missing or unreadable value costs a line in the callout rather than the email.

Parameters

NameInTypeDescription
X-Internal-Api-Keyheaderstring | null

Request bodyrequired

application/jsonInternalBillingNotificationEmailRequest
FieldTypeDescription
emailrequiredstring (email)
business_namerequiredstring
kindrequiredstringmax length 64
billing_urlstring (uri) | null
notification_dataobject
event_idstringdefault ""

Responses

200Successful Response
application/jsonany
  • 422Validation Error

Error bodies: HTTPValidationError. See Errors.

POST/api/v1/internal/escalation-notifications/send-email

Send Escalation Notification Email

Parameters

NameInTypeDescription
X-Internal-Api-Keyheaderstring | null

Request bodyrequired

application/jsonInternalEscalationNotificationEmailRequest
FieldTypeDescription
emailrequiredstring (email)
business_namerequiredstring
escalation_reasonstringdefault ""
consumer_labelstringdefault ""
matched_keywordstringdefault ""
last_message_previewstringdefault ""
conversation_urlstring (uri) | null

Responses

200Successful Response
application/jsonany
  • 422Validation Error

Error bodies: HTTPValidationError. See Errors.

POST/api/v1/internal/lead-notifications/send-email

Send Lead Notification Email

Parameters

NameInTypeDescription
X-Internal-Api-Keyheaderstring | null

Request bodyrequired

application/jsonInternalLeadNotificationEmailRequest
FieldTypeDescription
emailrequiredstring (email)
business_namerequiredstring
lead_namestringdefault ""
lead_emailstringdefault ""
lead_phonestringdefault ""
lead_messagestringdefault ""
contact_urlstring (uri) | null
kindstringdefault "new_lead"
sourcestringdefault "website_form"
lead_fieldsLeadFieldItem[]default []
LeadFieldItem[] fields
FieldTypeDescription
labelrequiredstring
valuerequiredstring
partial_detailsbooleandefault false
ai_pursuingbooleandefault false

Responses

200Successful Response
application/jsonany
  • 422Validation Error

Error bodies: HTTPValidationError. See Errors.

POST/api/v1/internal/review-notifications/send-email

Send Review Notification Email

Parameters

NameInTypeDescription
X-Internal-Api-Keyheaderstring | null

Request bodyrequired

application/jsonInternalReviewNotificationEmailRequest
FieldTypeDescription
emailrequiredstring (email)
business_namerequiredstring
listing_titlestringdefault ""
reviewer_namestringdefault ""
ratinginteger | null
review_bodystringdefault ""
review_urlstring (uri) | null

Responses

200Successful Response
application/jsonany
  • 422Validation Error

Error bodies: HTTPValidationError. See Errors.

GET/api/v1/internal/users

List Users

Parameters

NameInTypeDescription
role_idrequiredqueryinteger

Filter by Heimdal role_id

limitqueryintegerdefault 100
offsetqueryintegerdefault 0
X-Internal-Api-Keyheaderstring | null

Responses

200Successful Response
application/jsonInternalUserListResponse
FieldTypeDescription
usersrequiredInternalUserRecord[]
InternalUserRecord[] fields
FieldTypeDescription
user_idrequiredstring (uuid)
emailrequiredstring (email)
first_namestring | null
last_namestring | null
phonestring | null
role_idrequiredinteger
is_activerequiredboolean
email_verifiedrequiredboolean
created_atrequiredstring (date-time)
updated_atrequiredstring (date-time)
  • 422Validation Error

Error bodies: HTTPValidationError. See Errors.

PATCH/api/v1/internal/users/{user_id}

Update User

Parameters

NameInTypeDescription
user_idrequiredpathstring (uuid)
X-Internal-Api-Keyheaderstring | null

Request bodyrequired

application/jsonInternalUserUpdateRequest
FieldTypeDescription
first_namestring | null
last_namestring | null
phonestring | null
emailstring (email) | null
role_idinteger | null
is_activeboolean | null

Responses

200Successful Response
application/jsonInternalUserRecord

InternalUserRecord, expanded above.

  • 422Validation Error

Error bodies: HTTPValidationError. See Errors.

POST/api/v1/internal/users/lookup

Lookup Users

Parameters

NameInTypeDescription
X-Internal-Api-Keyheaderstring | null

Request bodyrequired

application/jsonInternalUserLookupRequest
FieldTypeDescription
user_idsstring (uuid)[]default []
string (uuid)[] fields
emailsstring (email)[]default []
string (email)[] fields

Responses

200Successful Response
application/jsonInternalUserLookupResponse
FieldTypeDescription
usersrequiredInternalUserRecord[]
InternalUserRecord[] fields

InternalUserRecord, expanded above.

  • 422Validation Error

Error bodies: HTTPValidationError. See Errors.

POST/api/v1/internal/users/provision

Provision User

Parameters

NameInTypeDescription
X-Internal-Api-Keyheaderstring | null

Request bodyrequired

application/jsonInternalProvisionUserRequest
FieldTypeDescription
emailrequiredstring (email)
first_namerequiredstring
last_namerequiredstring
phonestring | null
role_idintegerdefault 400
send_password_resetbooleandefault true

Responses

200User updated successfully
application/jsonInternalProvisionUserResponse
FieldTypeDescription
user_idrequiredstring (uuid)
emailrequiredstring (email)
first_namestring | null
last_namestring | null
phonestring | null
role_idrequiredinteger
createdrequiredboolean
password_reset_sentrequiredboolean
201Successful Response
application/jsonInternalProvisionUserResponse

InternalProvisionUserResponse, expanded above.

  • 422Validation Error

Error bodies: HTTPValidationError. See Errors.