Table of Contents
- Authentication
- Get JSON Web Key Set
- Get OpenID Connect discovery configuration
- End session / logout
- Get user info claims
- Get OAuth 2.0 authorization server metadata (RFC 8414)
- Initiate OAuth2 authorization request
- Submit user consent for OAuth2 authorization
- Submit login credentials for OAuth2 authorization
- Submit MFA code for OAuth2 authorization
- Submit signup details for OAuth2 authorization (prompt=create)
- Approve or deny a device authorization request
- Verify a device user code
- Initiate device authorization flow
- Introspect a token
- Revoke a token
- Exchange credentials for tokens
- Query audit logs
- List all clients
- Create a new OAuth client
- Get a client by ID
- Delete a client
- Update a client
- Rotate a client's HMAC secret (client_secret_jwt)
- Rotate a client's secret
- Get resource permissions for a client
- Set resource permissions for a client
- List all API resources
- Create a new API resource
- Get a resource by ID
- Delete a resource
- Update a resource
- Add a permission to a resource
- Remove a permission from a resource
- Get resource permissions for a role
- Set resource permissions for a role
- List all federation providers
- Create a federation provider
- Get a single federation provider
- Delete a federation provider
- Update a federation provider
- List invitations
- Create an invitation
- Delete an invitation
- List signing keys
- Rotate the signing key
- Get the active password policy (admin)
- Replace the password policy
- List all permissions
- List all roles
- Create a new role
- Get a role by ID
- Delete a role
- Update a role
- Set permissions for a role
- Get roles assigned to a user
- Assign a role to a user
- Remove a role from a user
- List all policies
- Create a new policy
- Re-evaluate a past denial against current policies
- Per-type input/modify field catalog for autocomplete
- Aggregated stats on policy denials
- Test a Rego policy with sample input
- Validate Rego syntax
- Get a policy by ID
- Delete a policy
- Update a policy
- Get all application settings
- Update application settings
- List all users
- Get a user by ID
- Delete a user by ID
- Update a user by ID
- Send a password reset email to the target user
- Finalise a federation signup by setting the local password
- Confirm a federation account link by supplying the local password
- Read-only view of a pending federation signup
- Initiate social login via a federation provider
- Handle federation provider callback
- List linked federation accounts for the current user
- Get a single linked federation account
- Unlink a federation account
- Start linking a federation account to the current user
- Request a password reset email
- Authenticate a user
- Register a new user
- Resend the email verification link
- Reset password using a token
- Consume a verification action token (one-click)
- Verify email address using a token
- Resolve an invitation token without consuming it
- Register a new user with an invitation code
- Get public registration settings
- List users (paginated)
- Create a user
- Get a user by id
- Delete a user
- Update a user (any field except id)
- Force-disable TOTP MFA for a user
- Set a user's password (no current-password check)
- Clear lock-out (failed_login_attempts + locked_until)
- Get the current user's profile
- Update the current user's profile
- Resend the verification email for the authenticated user
- Schedule own account deletion with grace period (step-up required)
- Cancel a pending account deletion using the emailed token
- Request an email address change (step-up required)
- Confirm a pending email change with the token from the email
- List own passkeys
- Begin usernameless passkey login (public)
- Finish usernameless passkey login (public). Returns the user and passkey; caller is responsible for issuing a session.
- Start a passkey-based reauth challenge
- Start passkey registration
- Finish passkey registration
- Delete a passkey (step-up required)
- Rename a passkey
- Change own password (step-up required)
- Issue a short-lived step-up reauthentication token
- Finalise federation onboarding by setting the initial local password
- Regenerate MFA backup codes
- Disable TOTP-based MFA
- Enroll in TOTP-based MFA
- Verify TOTP code to activate MFA
- List active sessions for the current user
- Revoke all sessions except the current one
- Revoke a specific session
- Get the active password policy
- Health check
- Schemas
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
- Properties
Orion Auth Backend API v1.0
Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
OAuth2/OIDC authentication server with user management, RBAC, MFA, and federation support.
Base URLs:
Authentication
- API Key (BearerAuth)
- Parameter Name: Authorization, in: header.
OIDC
Get JSON Web Key Set
Code samples
# You can also use wget
curl -X GET https://auth.nhsoul.fr/.well-known/jwks.json \
-H 'Accept: application/json'
GET https://auth.nhsoul.fr/.well-known/jwks.json HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
GET /.well-known/jwks.json
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
Response Schema
Get OpenID Connect discovery configuration
Code samples
# You can also use wget
curl -X GET https://auth.nhsoul.fr/.well-known/openid-configuration \
-H 'Accept: application/json'
GET https://auth.nhsoul.fr/.well-known/openid-configuration HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
GET /.well-known/openid-configuration
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
Response Schema
End session / logout
Code samples
# You can also use wget
curl -X GET https://auth.nhsoul.fr/end_session
GET https://auth.nhsoul.fr/end_session HTTP/1.1
Host: auth.nhsoul.fr
GET /end_session
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id_token_hint | query | string | false | Previously issued ID Token |
| post_logout_redirect_uri | query | string | false | URL to redirect after logout |
| state | query | string | false | Opaque value for the RP |
| client_id | query | string | false | Client ID |
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 302 | Found | Redirect to AuthUI logout page | None |
Get user info claims
Code samples
# You can also use wget
curl -X GET https://auth.nhsoul.fr/userinfo \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
GET https://auth.nhsoul.fr/userinfo HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
GET /userinfo
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
Response Schema
OAuth2
Get OAuth 2.0 authorization server metadata (RFC 8414)
Code samples
# You can also use wget
curl -X GET https://auth.nhsoul.fr/.well-known/oauth-authorization-server \
-H 'Accept: application/json'
GET https://auth.nhsoul.fr/.well-known/oauth-authorization-server HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
GET /.well-known/oauth-authorization-server
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
Response Schema
Initiate OAuth2 authorization request
Code samples
# You can also use wget
curl -X GET https://auth.nhsoul.fr/authorize?client_id=string&redirect_uri=string&response_type=string \
-H 'Accept: application/json'
GET https://auth.nhsoul.fr/authorize?client_id=string&redirect_uri=string&response_type=string HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
GET /authorize
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| client_id | query | string | true | Client ID |
| redirect_uri | query | string | true | Redirect URI |
| response_type | query | string | true | Response type |
| scope | query | string | false | Requested scopes |
| state | query | string | false | State parameter |
| nonce | query | string | false | Nonce for ID token |
| code_challenge | query | string | false | PKCE code challenge |
| code_challenge_method | query | string | false | PKCE code challenge method |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
Response Schema
Submit user consent for OAuth2 authorization
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/authorize/consent \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://auth.nhsoul.fr/authorize/consent HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
POST /authorize/consent
Body parameter
{
"request_id": "string",
"scopes_granted": [
"string"
]
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | oauth.AuthorizeConsentInput | true | Consent input |
| » request_id | body | string | true | none |
| » scopes_granted | body | [string] | true | none |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
Response Schema
Submit login credentials for OAuth2 authorization
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/authorize/login \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://auth.nhsoul.fr/authorize/login HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
POST /authorize/login
Body parameter
{
"email": "string",
"password": "string",
"remember_me": true,
"request_id": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | oauth.AuthorizeLoginInput | true | Login credentials |
| body | string | true | none | |
| » password | body | string | true | none |
| » remember_me | body | boolean | false | none |
| » request_id | body | string | true | none |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
Response Schema
Submit MFA code for OAuth2 authorization
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/authorize/mfa \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://auth.nhsoul.fr/authorize/mfa HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
POST /authorize/mfa
Body parameter
{
"code": "string",
"request_id": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | oauth.AuthorizeMFAInput | true | MFA verification input |
| » code | body | string | true | none |
| » request_id | body | string | true | none |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
Response Schema
Submit signup details for OAuth2 authorization (prompt=create)
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/authorize/register \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://auth.nhsoul.fr/authorize/register HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
POST /authorize/register
Body parameter
{
"display_name": "string",
"email": "string",
"extra_fields": {
"property1": null,
"property2": null
},
"password": "string",
"request_id": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | oauth.AuthorizeRegisterInput | true | Signup details |
| » display_name | body | string | false | none |
| body | string | true | none | |
| » extra_fields | body | object | false | none |
| »» additionalProperties | body | any | false | none |
| » password | body | string | true | none |
| » request_id | body | string | true | none |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 409 | Conflict | Conflict | Inline |
Response Schema
Approve or deny a device authorization request
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/device/approve \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://auth.nhsoul.fr/device/approve HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
POST /device/approve
Body parameter
{}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | object | true | Device approval input (user_code, approved, email, password) |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
Response Schema
Verify a device user code
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/device/verify \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://auth.nhsoul.fr/device/verify HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
POST /device/verify
Body parameter
{
"user_code": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | oauth.DeviceVerifyInput | true | Device verification input |
| » user_code | body | string | true | none |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
Response Schema
Initiate device authorization flow
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/device_authorization \
-H 'Content-Type: application/x-www-form-urlencoded' \
-H 'Accept: application/json'
POST https://auth.nhsoul.fr/device_authorization HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/x-www-form-urlencoded
Accept: application/json
POST /device_authorization
Body parameter
scope: string
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | object | false | none |
| » scope | body | string | false | Requested scopes |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
Response Schema
Introspect a token
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/introspect \
-H 'Content-Type: application/x-www-form-urlencoded' \
-H 'Accept: application/json'
POST https://auth.nhsoul.fr/introspect HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/x-www-form-urlencoded
Accept: application/json
POST /introspect
Body parameter
token: string
token_type_hint: string
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | object | true | none |
| » token | body | string | true | Token to introspect |
| » token_type_hint | body | string | false | Token type hint |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
Response Schema
Revoke a token
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/revoke \
-H 'Content-Type: application/x-www-form-urlencoded' \
-H 'Accept: application/json'
POST https://auth.nhsoul.fr/revoke HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/x-www-form-urlencoded
Accept: application/json
POST /revoke
Body parameter
token: string
token_type_hint: string
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | object | true | none |
| » token | body | string | true | Token to revoke |
| » token_type_hint | body | string | false | Token type hint |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
Response Schema
Exchange credentials for tokens
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/token \
-H 'Content-Type: application/x-www-form-urlencoded' \
-H 'Accept: application/json'
POST https://auth.nhsoul.fr/token HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/x-www-form-urlencoded
Accept: application/json
POST /token
Body parameter
grant_type: string
code: string
redirect_uri: string
code_verifier: string
refresh_token: string
scope: string
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | object | true | none |
| » grant_type | body | string | true | Grant type |
| » code | body | string | false | Authorization code |
| » redirect_uri | body | string | false | Redirect URI |
| » code_verifier | body | string | false | PKCE code verifier |
| » refresh_token | body | string | false | Refresh token |
| » scope | body | string | false | Requested scopes |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
Response Schema
Admin - Audit
Query audit logs
Code samples
# You can also use wget
curl -X GET https://auth.nhsoul.fr/api/v1/admin/audit-logs \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
GET https://auth.nhsoul.fr/api/v1/admin/audit-logs HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
GET /api/v1/admin/audit-logs
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| user_id | query | string | false | Filter by user ID |
| action | query | string | false | Filter by action |
| from | query | string | false | Start time (RFC3339) |
| to | query | string | false | End time (RFC3339) |
| page | query | integer | false | Page number |
| per_page | query | integer | false | Items per page |
Example responses
200 Response
{
"data": null,
"page": 0,
"per_page": 0,
"total": 0,
"total_pages": 0
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | pkg.PaginatedResponse |
| 401 | Unauthorized | Unauthorized | Inline |
| 500 | Internal Server Error | Internal Server Error | Inline |
Response Schema
Admin - Clients
List all clients
Code samples
# You can also use wget
curl -X GET https://auth.nhsoul.fr/api/v1/admin/clients \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
GET https://auth.nhsoul.fr/api/v1/admin/clients HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
GET /api/v1/admin/clients
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| page | query | integer | false | Page number |
| per_page | query | integer | false | Items per page |
Example responses
200 Response
{
"data": null,
"page": 0,
"per_page": 0,
"total": 0,
"total_pages": 0
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | pkg.PaginatedResponse |
| 500 | Internal Server Error | Internal Server Error | Inline |
Response Schema
Create a new OAuth client
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/admin/clients \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
POST https://auth.nhsoul.fr/api/v1/admin/clients HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
POST /api/v1/admin/clients
Body parameter
{
"access_token_ttl": 0,
"backchannel_logout_session_required": true,
"backchannel_logout_uri": "string",
"description": "string",
"frontchannel_logout_session_required": true,
"frontchannel_logout_uri": "string",
"grant_types": [
"string"
],
"id_token_encrypted_response_alg": "string",
"id_token_encrypted_response_enc": "string",
"id_token_ttl": 0,
"is_first_party": true,
"is_public": true,
"jwks_uri": "string",
"name": "string",
"post_logout_redirect_uris": [
"string"
],
"redirect_uris": [
"string"
],
"refresh_token_ttl": 0,
"request_uris": [
"string"
],
"require_pkce": true,
"response_types": [
"string"
],
"scopes": [
"string"
],
"sector_identifier_uri": "string",
"subject_type": "string",
"token_auth_method": "string",
"userinfo_encrypted_response_alg": "string",
"userinfo_encrypted_response_enc": "string",
"userinfo_signed_response_alg": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | client.CreateInput | true | Client creation payload |
| » access_token_ttl | body | integer | false | none |
| » backchannel_logout_session_required | body | boolean | false | none |
| » backchannel_logout_uri | body | string | false | none |
| » description | body | string | false | none |
| » frontchannel_logout_session_required | body | boolean | false | none |
| » frontchannel_logout_uri | body | string | false | none |
| » grant_types | body | [string] | true | none |
| » id_token_encrypted_response_alg | body | string | false | JWE encryption (OIDC Core §10.2 / §5.3.2) |
| » id_token_encrypted_response_enc | body | string | false | none |
| » id_token_ttl | body | integer | false | none |
| » is_first_party | body | boolean | false | none |
| » is_public | body | boolean | false | none |
| » jwks_uri | body | string | false | none |
| » name | body | string | true | none |
| » post_logout_redirect_uris | body | [string] | false | Logout (OIDC RP-Initiated / Front-Channel / Back-Channel Logout 1.0) |
| » redirect_uris | body | [string] | true | none |
| » refresh_token_ttl | body | integer | false | none |
| » request_uris | body | [string] | false | none |
| » require_pkce | body | boolean | false | none |
| » response_types | body | [string] | false | none |
| » scopes | body | [string] | true | none |
| » sector_identifier_uri | body | string | false | none |
| » subject_type | body | string | false | OIDC subject + signed UserInfo |
| » token_auth_method | body | string | false | none |
| » userinfo_encrypted_response_alg | body | string | false | none |
| » userinfo_encrypted_response_enc | body | string | false | none |
| » userinfo_signed_response_alg | body | string | false | none |
Example responses
201 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Created | Created | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 500 | Internal Server Error | Internal Server Error | Inline |
Response Schema
Get a client by ID
Code samples
# You can also use wget
curl -X GET https://auth.nhsoul.fr/api/v1/admin/clients/{id} \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
GET https://auth.nhsoul.fr/api/v1/admin/clients/{id} HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
GET /api/v1/admin/clients/{id}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Client ID |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 404 | Not Found | Not Found | Inline |
Response Schema
Delete a client
Code samples
# You can also use wget
curl -X DELETE https://auth.nhsoul.fr/api/v1/admin/clients/{id} \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
DELETE https://auth.nhsoul.fr/api/v1/admin/clients/{id} HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
DELETE /api/v1/admin/clients/{id}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Client ID |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 404 | Not Found | Not Found | Inline |
Response Schema
Update a client
Code samples
# You can also use wget
curl -X PATCH https://auth.nhsoul.fr/api/v1/admin/clients/{id} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
PATCH https://auth.nhsoul.fr/api/v1/admin/clients/{id} HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
PATCH /api/v1/admin/clients/{id}
Body parameter
{
"access_token_ttl": 0,
"active": true,
"backchannel_logout_session_required": true,
"backchannel_logout_uri": "string",
"description": "string",
"frontchannel_logout_session_required": true,
"frontchannel_logout_uri": "string",
"grant_types": [
"string"
],
"id_token_encrypted_response_alg": "string",
"id_token_encrypted_response_enc": "string",
"id_token_ttl": 0,
"is_first_party": true,
"jwks_uri": "string",
"name": "string",
"post_logout_redirect_uris": [
"string"
],
"redirect_uris": [
"string"
],
"refresh_token_ttl": 0,
"request_uris": [
"string"
],
"require_pkce": true,
"response_types": [
"string"
],
"scopes": [
"string"
],
"sector_identifier_uri": "string",
"subject_type": "string",
"token_auth_method": "string",
"userinfo_encrypted_response_alg": "string",
"userinfo_encrypted_response_enc": "string",
"userinfo_signed_response_alg": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Client ID |
| body | body | client.UpdateInput | true | Client update payload |
| » access_token_ttl | body | integer | false | none |
| » active | body | boolean | false | none |
| » backchannel_logout_session_required | body | boolean | false | none |
| » backchannel_logout_uri | body | string | false | none |
| » description | body | string | false | none |
| » frontchannel_logout_session_required | body | boolean | false | none |
| » frontchannel_logout_uri | body | string | false | none |
| » grant_types | body | [string] | false | none |
| » id_token_encrypted_response_alg | body | string | false | none |
| » id_token_encrypted_response_enc | body | string | false | none |
| » id_token_ttl | body | integer | false | none |
| » is_first_party | body | boolean | false | none |
| » jwks_uri | body | string | false | none |
| » name | body | string | false | none |
| » post_logout_redirect_uris | body | [string] | false | none |
| » redirect_uris | body | [string] | false | none |
| » refresh_token_ttl | body | integer | false | none |
| » request_uris | body | [string] | false | none |
| » require_pkce | body | boolean | false | none |
| » response_types | body | [string] | false | none |
| » scopes | body | [string] | false | none |
| » sector_identifier_uri | body | string | false | none |
| » subject_type | body | string | false | none |
| » token_auth_method | body | string | false | none |
| » userinfo_encrypted_response_alg | body | string | false | none |
| » userinfo_encrypted_response_enc | body | string | false | none |
| » userinfo_signed_response_alg | body | string | false | none |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 404 | Not Found | Not Found | Inline |
Response Schema
Rotate a client's HMAC secret (client_secret_jwt)
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/admin/clients/{id}/rotate-hmac-secret \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
POST https://auth.nhsoul.fr/api/v1/admin/clients/{id}/rotate-hmac-secret HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
POST /api/v1/admin/clients/{id}/rotate-hmac-secret
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Client ID |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 404 | Not Found | Not Found | Inline |
Response Schema
Rotate a client's secret
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/admin/clients/{id}/rotate-secret \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
POST https://auth.nhsoul.fr/api/v1/admin/clients/{id}/rotate-secret HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
POST /api/v1/admin/clients/{id}/rotate-secret
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Client ID |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 404 | Not Found | Not Found | Inline |
Response Schema
Admin - Resources
Get resource permissions for a client
Code samples
# You can also use wget
curl -X GET https://auth.nhsoul.fr/api/v1/admin/clients/{id}/resource-permissions \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
GET https://auth.nhsoul.fr/api/v1/admin/clients/{id}/resource-permissions HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
GET /api/v1/admin/clients/{id}/resource-permissions
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Client ID |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 500 | Internal Server Error | Internal Server Error | Inline |
Response Schema
Set resource permissions for a client
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/admin/clients/{id}/resource-permissions \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
POST https://auth.nhsoul.fr/api/v1/admin/clients/{id}/resource-permissions HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
POST /api/v1/admin/clients/{id}/resource-permissions
Body parameter
{
"permission_ids": [
"string"
]
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Client ID |
| body | body | resource.SetClientPermissionsInput | true | Permission IDs |
| » permission_ids | body | [string] | true | none |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 500 | Internal Server Error | Internal Server Error | Inline |
Response Schema
List all API resources
Code samples
# You can also use wget
curl -X GET https://auth.nhsoul.fr/api/v1/admin/resources \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
GET https://auth.nhsoul.fr/api/v1/admin/resources HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
GET /api/v1/admin/resources
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| page | query | integer | false | Page number |
| per_page | query | integer | false | Items per page |
Example responses
200 Response
{
"data": null,
"page": 0,
"per_page": 0,
"total": 0,
"total_pages": 0
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | pkg.PaginatedResponse |
| 500 | Internal Server Error | Internal Server Error | Inline |
Response Schema
Create a new API resource
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/admin/resources \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
POST https://auth.nhsoul.fr/api/v1/admin/resources HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
POST /api/v1/admin/resources
Body parameter
{
"access_token_ttl": 0,
"description": "string",
"identifier": "string",
"name": "string",
"signing_alg": "string",
"token_format": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | resource.CreateInput | true | Resource creation payload |
| » access_token_ttl | body | integer | false | none |
| » description | body | string | false | none |
| » identifier | body | string | true | none |
| » name | body | string | true | none |
| » signing_alg | body | string | false | none |
| » token_format | body | string | false | none |
Example responses
201 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Created | Created | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 409 | Conflict | Conflict | Inline |
| 500 | Internal Server Error | Internal Server Error | Inline |
Response Schema
Get a resource by ID
Code samples
# You can also use wget
curl -X GET https://auth.nhsoul.fr/api/v1/admin/resources/{id} \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
GET https://auth.nhsoul.fr/api/v1/admin/resources/{id} HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
GET /api/v1/admin/resources/{id}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Resource ID |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 404 | Not Found | Not Found | Inline |
Response Schema
Delete a resource
Code samples
# You can also use wget
curl -X DELETE https://auth.nhsoul.fr/api/v1/admin/resources/{id} \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
DELETE https://auth.nhsoul.fr/api/v1/admin/resources/{id} HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
DELETE /api/v1/admin/resources/{id}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Resource ID |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 404 | Not Found | Not Found | Inline |
Response Schema
Update a resource
Code samples
# You can also use wget
curl -X PATCH https://auth.nhsoul.fr/api/v1/admin/resources/{id} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
PATCH https://auth.nhsoul.fr/api/v1/admin/resources/{id} HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
PATCH /api/v1/admin/resources/{id}
Body parameter
{
"access_token_ttl": 0,
"active": true,
"description": "string",
"name": "string",
"signing_alg": "string",
"token_format": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Resource ID |
| body | body | resource.UpdateInput | true | Resource update payload |
| » access_token_ttl | body | integer | false | none |
| » active | body | boolean | false | none |
| » description | body | string | false | none |
| » name | body | string | false | none |
| » signing_alg | body | string | false | none |
| » token_format | body | string | false | none |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 404 | Not Found | Not Found | Inline |
Response Schema
Add a permission to a resource
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/admin/resources/{id}/permissions \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
POST https://auth.nhsoul.fr/api/v1/admin/resources/{id}/permissions HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
POST /api/v1/admin/resources/{id}/permissions
Body parameter
{
"description": "string",
"name": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Resource ID |
| body | body | resource.AddPermissionInput | true | Permission payload |
| » description | body | string | false | none |
| » name | body | string | true | none |
Example responses
201 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Created | Created | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 404 | Not Found | Not Found | Inline |
| 500 | Internal Server Error | Internal Server Error | Inline |
Response Schema
Remove a permission from a resource
Code samples
# You can also use wget
curl -X DELETE https://auth.nhsoul.fr/api/v1/admin/resources/{id}/permissions/{permId} \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
DELETE https://auth.nhsoul.fr/api/v1/admin/resources/{id}/permissions/{permId} HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
DELETE /api/v1/admin/resources/{id}/permissions/{permId}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Resource ID |
| permId | path | string | true | Permission ID |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 404 | Not Found | Not Found | Inline |
Response Schema
Get resource permissions for a role
Code samples
# You can also use wget
curl -X GET https://auth.nhsoul.fr/api/v1/admin/roles/{id}/resource-permissions \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
GET https://auth.nhsoul.fr/api/v1/admin/roles/{id}/resource-permissions HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
GET /api/v1/admin/roles/{id}/resource-permissions
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Role ID |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 500 | Internal Server Error | Internal Server Error | Inline |
Response Schema
Set resource permissions for a role
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/admin/roles/{id}/resource-permissions \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
POST https://auth.nhsoul.fr/api/v1/admin/roles/{id}/resource-permissions HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
POST /api/v1/admin/roles/{id}/resource-permissions
Body parameter
{
"permission_ids": [
"string"
]
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Role ID |
| body | body | resource.SetRolePermissionsInput | true | Permission IDs |
| » permission_ids | body | [string] | true | none |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 500 | Internal Server Error | Internal Server Error | Inline |
Response Schema
Admin - Federation
List all federation providers
Code samples
# You can also use wget
curl -X GET https://auth.nhsoul.fr/api/v1/admin/federation \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
GET https://auth.nhsoul.fr/api/v1/admin/federation HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
GET /api/v1/admin/federation
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 500 | Internal Server Error | Internal Server Error | Inline |
Response Schema
Create a federation provider
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/admin/federation \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
POST https://auth.nhsoul.fr/api/v1/admin/federation HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
POST /api/v1/admin/federation
Body parameter
{}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | federation.CreateProviderInput | true | Provider creation payload |
Example responses
201 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Created | Created | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 500 | Internal Server Error | Internal Server Error | Inline |
Response Schema
Get a single federation provider
Code samples
# You can also use wget
curl -X GET https://auth.nhsoul.fr/api/v1/admin/federation/{id} \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
GET https://auth.nhsoul.fr/api/v1/admin/federation/{id} HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
GET /api/v1/admin/federation/{id}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Provider ID |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 404 | Not Found | Not Found | Inline |
Response Schema
Delete a federation provider
Code samples
# You can also use wget
curl -X DELETE https://auth.nhsoul.fr/api/v1/admin/federation/{id} \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
DELETE https://auth.nhsoul.fr/api/v1/admin/federation/{id} HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
DELETE /api/v1/admin/federation/{id}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Provider ID |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 404 | Not Found | Not Found | Inline |
Response Schema
Update a federation provider
Code samples
# You can also use wget
curl -X PATCH https://auth.nhsoul.fr/api/v1/admin/federation/{id} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
PATCH https://auth.nhsoul.fr/api/v1/admin/federation/{id} HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
PATCH /api/v1/admin/federation/{id}
Body parameter
{}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Provider ID |
| body | body | federation.UpdateProviderInput | true | Provider update payload |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 404 | Not Found | Not Found | Inline |
Response Schema
Admin - Invitations
List invitations
Code samples
# You can also use wget
curl -X GET https://auth.nhsoul.fr/api/v1/admin/invitations \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
GET https://auth.nhsoul.fr/api/v1/admin/invitations HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
GET /api/v1/admin/invitations
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| page | query | integer | false | Page number |
| per_page | query | integer | false | Items per page |
Example responses
200 Response
{
"data": null,
"page": 0,
"per_page": 0,
"total": 0,
"total_pages": 0
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | pkg.PaginatedResponse |
| 500 | Internal Server Error | Internal Server Error | Inline |
Response Schema
Create an invitation
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/admin/invitations \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
POST https://auth.nhsoul.fr/api/v1/admin/invitations HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
POST /api/v1/admin/invitations
Body parameter
{
"email": "string",
"role_ids": [
"string"
]
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | invitation.CreateInput | true | Invitation creation payload |
| body | string | true | none | |
| » role_ids | body | [string] | false | none |
Example responses
201 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Created | Created | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 500 | Internal Server Error | Internal Server Error | Inline |
Response Schema
Delete an invitation
Code samples
# You can also use wget
curl -X DELETE https://auth.nhsoul.fr/api/v1/admin/invitations/{id} \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
DELETE https://auth.nhsoul.fr/api/v1/admin/invitations/{id} HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
DELETE /api/v1/admin/invitations/{id}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Invitation ID |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 404 | Not Found | Not Found | Inline |
Response Schema
Admin - Keys
List signing keys
Code samples
# You can also use wget
curl -X GET https://auth.nhsoul.fr/api/v1/admin/keys \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
GET https://auth.nhsoul.fr/api/v1/admin/keys HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
GET /api/v1/admin/keys
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
Response Schema
Rotate the signing key
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/admin/keys/rotate \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
POST https://auth.nhsoul.fr/api/v1/admin/keys/rotate HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
POST /api/v1/admin/keys/rotate
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 500 | Internal Server Error | Internal Server Error | Inline |
Response Schema
Admin - Password Policy
Get the active password policy (admin)
Code samples
# You can also use wget
curl -X GET https://auth.nhsoul.fr/api/v1/admin/password-policy \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
GET https://auth.nhsoul.fr/api/v1/admin/password-policy HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
GET /api/v1/admin/password-policy
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
Response Schema
Replace the password policy
Code samples
# You can also use wget
curl -X PATCH https://auth.nhsoul.fr/api/v1/admin/password-policy \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
PATCH https://auth.nhsoul.fr/api/v1/admin/password-policy HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
PATCH /api/v1/admin/password-policy
Body parameter
{
"max_length": 0,
"min_length": 0,
"min_score": 0,
"require_digit": true,
"require_lowercase": true,
"require_symbol": true,
"require_uppercase": true
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | password.Policy | true | Full policy |
| » max_length | body | integer | false | none |
| » min_length | body | integer | false | none |
| » min_score | body | integer | false | none |
| » require_digit | body | boolean | false | none |
| » require_lowercase | body | boolean | false | none |
| » require_symbol | body | boolean | false | none |
| » require_uppercase | body | boolean | false | none |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
Response Schema
Admin - RBAC
List all permissions
Code samples
# You can also use wget
curl -X GET https://auth.nhsoul.fr/api/v1/admin/permissions \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
GET https://auth.nhsoul.fr/api/v1/admin/permissions HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
GET /api/v1/admin/permissions
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 500 | Internal Server Error | Internal Server Error | Inline |
Response Schema
List all roles
Code samples
# You can also use wget
curl -X GET https://auth.nhsoul.fr/api/v1/admin/roles \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
GET https://auth.nhsoul.fr/api/v1/admin/roles HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
GET /api/v1/admin/roles
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 500 | Internal Server Error | Internal Server Error | Inline |
Response Schema
Create a new role
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/admin/roles \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
POST https://auth.nhsoul.fr/api/v1/admin/roles HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
POST /api/v1/admin/roles
Body parameter
{
"description": "string",
"name": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | rbac.CreateRoleInput | true | Role creation payload |
| » description | body | string | false | none |
| » name | body | string | true | none |
Example responses
201 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Created | Created | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 500 | Internal Server Error | Internal Server Error | Inline |
Response Schema
Get a role by ID
Code samples
# You can also use wget
curl -X GET https://auth.nhsoul.fr/api/v1/admin/roles/{id} \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
GET https://auth.nhsoul.fr/api/v1/admin/roles/{id} HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
GET /api/v1/admin/roles/{id}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Role ID |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 404 | Not Found | Not Found | Inline |
Response Schema
Delete a role
Code samples
# You can also use wget
curl -X DELETE https://auth.nhsoul.fr/api/v1/admin/roles/{id} \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
DELETE https://auth.nhsoul.fr/api/v1/admin/roles/{id} HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
DELETE /api/v1/admin/roles/{id}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Role ID |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 404 | Not Found | Not Found | Inline |
Response Schema
Update a role
Code samples
# You can also use wget
curl -X PATCH https://auth.nhsoul.fr/api/v1/admin/roles/{id} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
PATCH https://auth.nhsoul.fr/api/v1/admin/roles/{id} HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
PATCH /api/v1/admin/roles/{id}
Body parameter
{
"description": "string",
"name": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Role ID |
| body | body | rbac.UpdateRoleInput | true | Role update payload |
| » description | body | string | false | none |
| » name | body | string | false | none |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 404 | Not Found | Not Found | Inline |
Response Schema
Set permissions for a role
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/admin/roles/{id}/permissions \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
POST https://auth.nhsoul.fr/api/v1/admin/roles/{id}/permissions HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
POST /api/v1/admin/roles/{id}/permissions
Body parameter
{
"permission_ids": [
"string"
]
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Role ID |
| body | body | rbac.SetPermissionsInput | true | Permissions payload |
| » permission_ids | body | [string] | true | none |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 404 | Not Found | Not Found | Inline |
Response Schema
Get roles assigned to a user
Code samples
# You can also use wget
curl -X GET https://auth.nhsoul.fr/api/v1/admin/users/{id}/roles \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
GET https://auth.nhsoul.fr/api/v1/admin/users/{id}/roles HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
GET /api/v1/admin/users/{id}/roles
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | User ID |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 500 | Internal Server Error | Internal Server Error | Inline |
Response Schema
Assign a role to a user
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/admin/users/{id}/roles \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
POST https://auth.nhsoul.fr/api/v1/admin/users/{id}/roles HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
POST /api/v1/admin/users/{id}/roles
Body parameter
{
"role_id": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | User ID |
| body | body | rbac.AssignRoleInput | true | Role assignment payload |
| » role_id | body | string | true | none |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 500 | Internal Server Error | Internal Server Error | Inline |
Response Schema
Remove a role from a user
Code samples
# You can also use wget
curl -X DELETE https://auth.nhsoul.fr/api/v1/admin/users/{id}/roles/{roleId} \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
DELETE https://auth.nhsoul.fr/api/v1/admin/users/{id}/roles/{roleId} HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
DELETE /api/v1/admin/users/{id}/roles/{roleId}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | User ID |
| roleId | path | string | true | Role ID |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 404 | Not Found | Not Found | Inline |
Response Schema
Admin - Policies
List all policies
Code samples
# You can also use wget
curl -X GET https://auth.nhsoul.fr/api/v1/admin/policies \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
GET https://auth.nhsoul.fr/api/v1/admin/policies HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
GET /api/v1/admin/policies
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| type | query | string | false | Filter by policy type |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 500 | Internal Server Error | Internal Server Error | Inline |
Response Schema
Create a new policy
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/admin/policies \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
POST https://auth.nhsoul.fr/api/v1/admin/policies HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
POST /api/v1/admin/policies
Body parameter
{
"active": true,
"description": "string",
"name": "string",
"priority": 0,
"rego": "string",
"type": "token_issuance"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | policy.CreatePolicyInput | true | Policy creation payload |
| » active | body | boolean | false | none |
| » description | body | string | false | none |
| » name | body | string | true | none |
| » priority | body | integer | false | none |
| » rego | body | string | true | none |
| » type | body | string | true | none |
Enumerated Values
| Parameter | Value |
|---|---|
| » type | token_issuance |
| » type | login |
| » type | client_auth |
| » type | admin_api |
| » type | consent |
| » type | refresh |
| » type | introspect |
| » type | device_approval |
| » type | mfa |
| » type | account_action |
| » type | custom |
Example responses
201 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Created | Created | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 409 | Conflict | Conflict | Inline |
Response Schema
Re-evaluate a past denial against current policies
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/admin/policies/replay \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
POST https://auth.nhsoul.fr/api/v1/admin/policies/replay HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
POST /api/v1/admin/policies/replay
Body parameter
{}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | object | true | Replay payload {audit_log_id} |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 404 | Not Found | Not Found | Inline |
Response Schema
Per-type input/modify field catalog for autocomplete
Code samples
# You can also use wget
curl -X GET https://auth.nhsoul.fr/api/v1/admin/policies/schemas \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
GET https://auth.nhsoul.fr/api/v1/admin/policies/schemas HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
GET /api/v1/admin/policies/schemas
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
Response Schema
Aggregated stats on policy denials
Code samples
# You can also use wget
curl -X GET https://auth.nhsoul.fr/api/v1/admin/policies/stats \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
GET https://auth.nhsoul.fr/api/v1/admin/policies/stats HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
GET /api/v1/admin/policies/stats
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| days | query | integer | false | Window size in days (default 7) |
| limit | query | integer | false | Top-N + recent items cap (default 10) |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
Response Schema
Test a Rego policy with sample input
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/admin/policies/test \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
POST https://auth.nhsoul.fr/api/v1/admin/policies/test HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
POST /api/v1/admin/policies/test
Body parameter
{
"input": {
"property1": null,
"property2": null
},
"rego": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | policy.TestPolicyInput | true | Test payload |
| » input | body | object | true | none |
| »» additionalProperties | body | any | false | none |
| » rego | body | string | true | none |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
Response Schema
Validate Rego syntax
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/admin/policies/validate \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
POST https://auth.nhsoul.fr/api/v1/admin/policies/validate HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
POST /api/v1/admin/policies/validate
Body parameter
{
"property1": "string",
"property2": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | object | true | Rego code |
| » additionalProperties | body | string | false | none |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
Response Schema
Get a policy by ID
Code samples
# You can also use wget
curl -X GET https://auth.nhsoul.fr/api/v1/admin/policies/{id} \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
GET https://auth.nhsoul.fr/api/v1/admin/policies/{id} HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
GET /api/v1/admin/policies/{id}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Policy ID |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 404 | Not Found | Not Found | Inline |
Response Schema
Delete a policy
Code samples
# You can also use wget
curl -X DELETE https://auth.nhsoul.fr/api/v1/admin/policies/{id} \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
DELETE https://auth.nhsoul.fr/api/v1/admin/policies/{id} HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
DELETE /api/v1/admin/policies/{id}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Policy ID |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 404 | Not Found | Not Found | Inline |
Response Schema
Update a policy
Code samples
# You can also use wget
curl -X PATCH https://auth.nhsoul.fr/api/v1/admin/policies/{id} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
PATCH https://auth.nhsoul.fr/api/v1/admin/policies/{id} HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
PATCH /api/v1/admin/policies/{id}
Body parameter
{
"active": true,
"description": "string",
"name": "string",
"priority": 0,
"rego": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Policy ID |
| body | body | policy.UpdatePolicyInput | true | Policy update payload |
| » active | body | boolean | false | none |
| » description | body | string | false | none |
| » name | body | string | false | none |
| » priority | body | integer | false | none |
| » rego | body | string | false | none |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 404 | Not Found | Not Found | Inline |
Response Schema
Admin - Settings
Get all application settings
Code samples
# You can also use wget
curl -X GET https://auth.nhsoul.fr/api/v1/admin/settings \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
GET https://auth.nhsoul.fr/api/v1/admin/settings HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
GET /api/v1/admin/settings
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 500 | Internal Server Error | Internal Server Error | Inline |
Response Schema
Update application settings
Code samples
# You can also use wget
curl -X PATCH https://auth.nhsoul.fr/api/v1/admin/settings \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
PATCH https://auth.nhsoul.fr/api/v1/admin/settings HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
PATCH /api/v1/admin/settings
Body parameter
{
"default_access_token_ttl": 0,
"default_id_token_ttl": 0,
"default_post_register_redirect_url": "string",
"default_refresh_token_ttl": 0,
"default_session_extended_ttl": 0,
"default_session_ttl": 0,
"invitations_default_role": "string",
"registration_email_verification_required": true,
"registration_enabled": true
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | invitation.UpdateSettingsInput | true | Settings update payload |
| » default_access_token_ttl | body | integer | false | none |
| » default_id_token_ttl | body | integer | false | none |
| » default_post_register_redirect_url | body | string | false | none |
| » default_refresh_token_ttl | body | integer | false | none |
| » default_session_extended_ttl | body | integer | false | none |
| » default_session_ttl | body | integer | false | none |
| » invitations_default_role | body | string | false | none |
| » registration_email_verification_required | body | boolean | false | none |
| » registration_enabled | body | boolean | false | none |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 500 | Internal Server Error | Internal Server Error | Inline |
Response Schema
Admin - Users
List all users
Code samples
# You can also use wget
curl -X GET https://auth.nhsoul.fr/api/v1/admin/users \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
GET https://auth.nhsoul.fr/api/v1/admin/users HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
GET /api/v1/admin/users
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| page | query | integer | false | Page number |
| per_page | query | integer | false | Items per page |
Example responses
200 Response
{
"data": null,
"page": 0,
"per_page": 0,
"total": 0,
"total_pages": 0
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | pkg.PaginatedResponse |
| 401 | Unauthorized | Unauthorized | pkg.AppError |
| 500 | Internal Server Error | Internal Server Error | pkg.AppError |
Get a user by ID
Code samples
# You can also use wget
curl -X GET https://auth.nhsoul.fr/api/v1/admin/users/{id} \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
GET https://auth.nhsoul.fr/api/v1/admin/users/{id} HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
GET /api/v1/admin/users/{id}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | User ID (UUID) |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | pkg.AppError |
| 401 | Unauthorized | Unauthorized | pkg.AppError |
| 404 | Not Found | Not Found | pkg.AppError |
Response Schema
Delete a user by ID
Code samples
# You can also use wget
curl -X DELETE https://auth.nhsoul.fr/api/v1/admin/users/{id} \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
DELETE https://auth.nhsoul.fr/api/v1/admin/users/{id} HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
DELETE /api/v1/admin/users/{id}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | User ID (UUID) |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | pkg.AppError |
| 401 | Unauthorized | Unauthorized | pkg.AppError |
| 404 | Not Found | Not Found | pkg.AppError |
Response Schema
Update a user by ID
Code samples
# You can also use wget
curl -X PATCH https://auth.nhsoul.fr/api/v1/admin/users/{id} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
PATCH https://auth.nhsoul.fr/api/v1/admin/users/{id} HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
PATCH /api/v1/admin/users/{id}
Body parameter
{
"active": true,
"display_name": "string",
"email": "string",
"email_verified": true
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | User ID (UUID) |
| body | body | user.AdminUpdateInput | true | Fields to update |
| » active | body | boolean | false | none |
| » display_name | body | string | false | none |
| body | string | false | none | |
| » email_verified | body | boolean | false | none |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | pkg.AppError |
| 401 | Unauthorized | Unauthorized | pkg.AppError |
| 404 | Not Found | Not Found | pkg.AppError |
Response Schema
Send a password reset email to the target user
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/admin/users/{id}/reset-password \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
POST https://auth.nhsoul.fr/api/v1/admin/users/{id}/reset-password HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
POST /api/v1/admin/users/{id}/reset-password
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | User ID (UUID) |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | pkg.AppError |
| 401 | Unauthorized | Unauthorized | pkg.AppError |
| 404 | Not Found | Not Found | pkg.AppError |
Response Schema
Federation
Finalise a federation signup by setting the local password
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/auth/federation/complete-signup \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://auth.nhsoul.fr/api/v1/auth/federation/complete-signup HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
POST /api/v1/auth/federation/complete-signup
Body parameter
{
"display_name": "string",
"extra_fields": {
"property1": null,
"property2": null
},
"password": "string",
"token": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | federation.CompleteSignupHTTPInput | true | Pending signup token + chosen password |
| » display_name | body | string | false | none |
| » extra_fields | body | object | false | none |
| »» additionalProperties | body | any | false | none |
| » password | body | string | true | none |
| » token | body | string | true | none |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
Response Schema
Confirm a federation account link by supplying the local password
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/auth/federation/confirm-link \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://auth.nhsoul.fr/api/v1/auth/federation/confirm-link HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
POST /api/v1/auth/federation/confirm-link
Body parameter
{
"password": "string",
"token": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | federation.ConfirmLinkInput | true | Pending link token + local password |
| » password | body | string | true | none |
| » token | body | string | true | none |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
Response Schema
Read-only view of a pending federation signup
Code samples
# You can also use wget
curl -X GET https://auth.nhsoul.fr/api/v1/auth/federation/pending-signup?token=string \
-H 'Accept: application/json'
GET https://auth.nhsoul.fr/api/v1/auth/federation/pending-signup?token=string HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
GET /api/v1/auth/federation/pending-signup
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| token | query | string | true | Pending signup token from /complete-account redirect |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
Response Schema
Initiate social login via a federation provider
Code samples
# You can also use wget
curl -X GET https://auth.nhsoul.fr/api/v1/auth/federation/{provider} \
-H 'Accept: */*'
GET https://auth.nhsoul.fr/api/v1/auth/federation/{provider} HTTP/1.1
Host: auth.nhsoul.fr
Accept: */*
GET /api/v1/auth/federation/{provider}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| provider | path | string | true | Provider name |
| return_to | query | string | false | Absolute URL to redirect to after success |
| oauth_request_id | query | string | false | Continuation: in-progress OrionAuth authorize request ID |
| invitation_token | query | string | false | Pre-bind a social signup to an invitation |
Example responses
400 Response
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 302 | Found | Found | None |
| 400 | Bad Request | Bad Request | Inline |
| 404 | Not Found | Not Found | Inline |
Response Schema
Handle federation provider callback
Code samples
# You can also use wget
curl -X GET https://auth.nhsoul.fr/api/v1/auth/federation/{provider}/callback?code=string&state=string \
-H 'Accept: */*'
GET https://auth.nhsoul.fr/api/v1/auth/federation/{provider}/callback?code=string&state=string HTTP/1.1
Host: auth.nhsoul.fr
Accept: */*
GET /api/v1/auth/federation/{provider}/callback
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| provider | path | string | true | Provider name |
| code | query | string | true | Authorization code from provider |
| state | query | string | true | State previously generated by InitSocialLogin |
Example responses
400 Response
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 302 | Found | Found | None |
| 400 | Bad Request | Bad Request | Inline |
| 500 | Internal Server Error | Internal Server Error | Inline |
Response Schema
List linked federation accounts for the current user
Code samples
# You can also use wget
curl -X GET https://auth.nhsoul.fr/api/v1/me/linked-accounts \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
GET https://auth.nhsoul.fr/api/v1/me/linked-accounts HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
GET /api/v1/me/linked-accounts
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 500 | Internal Server Error | Internal Server Error | Inline |
Response Schema
Get a single linked federation account
Code samples
# You can also use wget
curl -X GET https://auth.nhsoul.fr/api/v1/me/linked-accounts/{id} \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
GET https://auth.nhsoul.fr/api/v1/me/linked-accounts/{id} HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
GET /api/v1/me/linked-accounts/{id}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Linked account ID |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 404 | Not Found | Not Found | Inline |
Response Schema
Unlink a federation account
Code samples
# You can also use wget
curl -X DELETE https://auth.nhsoul.fr/api/v1/me/linked-accounts/{id} \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
DELETE https://auth.nhsoul.fr/api/v1/me/linked-accounts/{id} HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
DELETE /api/v1/me/linked-accounts/{id}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Linked account ID |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
Response Schema
Start linking a federation account to the current user
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/me/linked-accounts/{provider}/begin-link \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
POST https://auth.nhsoul.fr/api/v1/me/linked-accounts/{provider}/begin-link HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
POST /api/v1/me/linked-accounts/{provider}/begin-link
Body parameter
{
"return_to": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| provider | path | string | true | Provider name |
| body | body | federation.BeginLinkAccountInput | false | Optional return_to |
| » return_to | body | string | false | ReturnTo is the URL the AuthUI wants the user to land on after the |
Detailed descriptions
» return_to: ReturnTo is the URL the AuthUI wants the user to land on after the provider callback completes (must be same-origin with the AuthUI base). Defaults to AuthUI /linked-accounts when empty.
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 403 | Forbidden | Forbidden | Inline |
| 404 | Not Found | Not Found | Inline |
Response Schema
Auth
Request a password reset email
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/auth/forgot-password \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://auth.nhsoul.fr/api/v1/auth/forgot-password HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
POST /api/v1/auth/forgot-password
Body parameter
{
"email": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | user.ForgotPasswordInput | true | Email address |
| body | string | true | none |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | pkg.AppError |
Response Schema
Authenticate a user
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/auth/login \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://auth.nhsoul.fr/api/v1/auth/login HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
POST /api/v1/auth/login
Body parameter
{
"email": "string",
"password": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | user.LoginInput | true | Login credentials |
| body | string | true | none | |
| » password | body | string | true | none |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | pkg.AppError |
| 401 | Unauthorized | Unauthorized | pkg.AppError |
Response Schema
Register a new user
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/auth/register \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://auth.nhsoul.fr/api/v1/auth/register HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
POST /api/v1/auth/register
Body parameter
{
"display_name": "string",
"email": "string",
"extra_fields": {
"property1": null,
"property2": null
},
"password": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | user.RegisterInput | true | Registration payload |
| » display_name | body | string | false | none |
| body | string | true | none | |
| » extra_fields | body | object | false | none |
| »» additionalProperties | body | any | false | none |
| » password | body | string | true | none |
Example responses
201 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Created | Created | Inline |
| 400 | Bad Request | Bad Request | pkg.AppError |
| 403 | Forbidden | Forbidden | pkg.AppError |
| 409 | Conflict | Conflict | pkg.AppError |
Response Schema
Resend the email verification link
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/auth/resend-verification \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://auth.nhsoul.fr/api/v1/auth/resend-verification HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
POST /api/v1/auth/resend-verification
Anti-enumeration: always returns 200 even when the email is unknown or already verified.
Body parameter
{
"email": "string",
"oauth_request_id": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | user.ResendVerificationInput | true | Email + optional oauth_request_id |
| body | string | true | none | |
| » oauth_request_id | body | string | false | none |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
Response Schema
Reset password using a token
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/auth/reset-password \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://auth.nhsoul.fr/api/v1/auth/reset-password HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
POST /api/v1/auth/reset-password
Body parameter
{
"new_password": "string",
"token": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | user.ResetPasswordInput | true | Reset token and new password |
| » new_password | body | string | true | none |
| » token | body | string | true | none |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | pkg.AppError |
Response Schema
Consume a verification action token (one-click)
Code samples
# You can also use wget
curl -X GET https://auth.nhsoul.fr/api/v1/auth/verify-email?token=string \
-H 'Accept: text/html'
GET https://auth.nhsoul.fr/api/v1/auth/verify-email?token=string HTTP/1.1
Host: auth.nhsoul.fr
Accept: text/html
GET /api/v1/auth/verify-email
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| token | query | string | true | Action token (JWT) |
Example responses
302 Response
"string"
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 302 | Found | Redirect to AuthUI error page | string |
Verify email address using a token
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/auth/verify-email \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://auth.nhsoul.fr/api/v1/auth/verify-email HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
POST /api/v1/auth/verify-email
Body parameter
{
"token": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | user.VerifyEmailInput | true | Verification token |
| » token | body | string | true | none |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | pkg.AppError |
Response Schema
Invitations
Resolve an invitation token without consuming it
Code samples
# You can also use wget
curl -X GET https://auth.nhsoul.fr/api/v1/auth/invitations/lookup?token=string \
-H 'Accept: application/json'
GET https://auth.nhsoul.fr/api/v1/auth/invitations/lookup?token=string HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
GET /api/v1/auth/invitations/lookup
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| token | query | string | true | Raw invitation token |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 404 | Not Found | Not Found | Inline |
Response Schema
Register a new user with an invitation code
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/auth/register/invite \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://auth.nhsoul.fr/api/v1/auth/register/invite HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
POST /api/v1/auth/register/invite
Body parameter
{
"display_name": "string",
"password": "string",
"token": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | invitation.RegisterInviteInput | true | Registration payload |
| » display_name | body | string | false | none |
| » password | body | string | true | none |
| » token | body | string | true | none |
Example responses
201 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Created | Created | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 500 | Internal Server Error | Internal Server Error | Inline |
Response Schema
Get public registration settings
Code samples
# You can also use wget
curl -X GET https://auth.nhsoul.fr/api/v1/auth/settings \
-H 'Accept: application/json'
GET https://auth.nhsoul.fr/api/v1/auth/settings HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
GET /api/v1/auth/settings
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
Response Schema
M2M - Users
List users (paginated)
Code samples
# You can also use wget
curl -X GET https://auth.nhsoul.fr/api/v1/m2m/users \
-H 'Accept: application/json'
GET https://auth.nhsoul.fr/api/v1/m2m/users HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
GET /api/v1/m2m/users
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| page | query | integer | false | Page (default 1) |
| per_page | query | integer | false | Per page (default 20, max 100) |
Example responses
200 Response
{
"data": null,
"page": 0,
"per_page": 0,
"total": 0,
"total_pages": 0
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | pkg.PaginatedResponse |
Create a user
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/m2m/users \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://auth.nhsoul.fr/api/v1/m2m/users HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
POST /api/v1/m2m/users
Body parameter
{
"active": true,
"avatar_url": "string",
"display_name": "string",
"email": "string",
"email_verified": true,
"metadata": {
"address": {
"country": "string",
"formatted": "string",
"locality": "string",
"postal_code": "string",
"region": "string",
"street_address": "string"
},
"birthdate": "string",
"family_name": "string",
"gender": "string",
"given_name": "string",
"locale": "string",
"middle_name": "string",
"nickname": "string",
"phone_number_verified": true,
"preferred_username": "string",
"profile": "string",
"website": "string",
"zoneinfo": "string"
},
"password": "string",
"phone": "string",
"role_ids": [
"string"
]
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | m2m.CreateUserInput | true | User to create |
| » active | body | boolean | false | none |
| » avatar_url | body | string | false | none |
| » display_name | body | string | false | none |
| body | string | true | none | |
| » email_verified | body | boolean | false | none |
| » metadata | body | model.ProfileMetadata | false | none |
| »» address | body | model.AddressClaim | false | none |
| »»» country | body | string | false | none |
| »»» formatted | body | string | false | none |
| »»» locality | body | string | false | none |
| »»» postal_code | body | string | false | none |
| »»» region | body | string | false | none |
| »»» street_address | body | string | false | none |
| »» birthdate | body | string | false | none |
| »» family_name | body | string | false | none |
| »» gender | body | string | false | none |
| »» given_name | body | string | false | none |
| »» locale | body | string | false | none |
| »» middle_name | body | string | false | none |
| »» nickname | body | string | false | none |
| »» phone_number_verified | body | boolean | false | none |
| »» preferred_username | body | string | false | none |
| »» profile | body | string | false | none |
| »» website | body | string | false | none |
| »» zoneinfo | body | string | false | none |
| » password | body | string | false | none |
| » phone | body | string | false | none |
| » role_ids | body | [string] | false | none |
Example responses
201 Response
{
"generated_password": "string",
"user": {
"property1": null,
"property2": null
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Created | Created | m2m.CreateUserResult |
Get a user by id
Code samples
# You can also use wget
curl -X GET https://auth.nhsoul.fr/api/v1/m2m/users/{id} \
-H 'Accept: application/json'
GET https://auth.nhsoul.fr/api/v1/m2m/users/{id} HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
GET /api/v1/m2m/users/{id}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | User id |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
Response Schema
Delete a user
Code samples
# You can also use wget
curl -X DELETE https://auth.nhsoul.fr/api/v1/m2m/users/{id} \
-H 'Accept: */*'
DELETE https://auth.nhsoul.fr/api/v1/m2m/users/{id} HTTP/1.1
Host: auth.nhsoul.fr
Accept: */*
DELETE /api/v1/m2m/users/{id}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | User id |
Example responses
200 Response
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
Response Schema
Update a user (any field except id)
Code samples
# You can also use wget
curl -X PATCH https://auth.nhsoul.fr/api/v1/m2m/users/{id} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
PATCH https://auth.nhsoul.fr/api/v1/m2m/users/{id} HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
PATCH /api/v1/m2m/users/{id}
Body parameter
{
"active": true,
"avatar_url": "string",
"display_name": "string",
"email": "string",
"email_verified": true,
"metadata": {
"address": {
"country": "string",
"formatted": "string",
"locality": "string",
"postal_code": "string",
"region": "string",
"street_address": "string"
},
"birthdate": "string",
"family_name": "string",
"gender": "string",
"given_name": "string",
"locale": "string",
"middle_name": "string",
"nickname": "string",
"phone_number_verified": true,
"preferred_username": "string",
"profile": "string",
"website": "string",
"zoneinfo": "string"
},
"phone": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | User id |
| body | body | m2m.UpdateUserInput | true | Fields to update |
| » active | body | boolean | false | none |
| » avatar_url | body | string | false | none |
| » display_name | body | string | false | none |
| body | string | false | none | |
| » email_verified | body | boolean | false | none |
| » metadata | body | model.ProfileMetadata | false | none |
| »» address | body | model.AddressClaim | false | none |
| »»» country | body | string | false | none |
| »»» formatted | body | string | false | none |
| »»» locality | body | string | false | none |
| »»» postal_code | body | string | false | none |
| »»» region | body | string | false | none |
| »»» street_address | body | string | false | none |
| »» birthdate | body | string | false | none |
| »» family_name | body | string | false | none |
| »» gender | body | string | false | none |
| »» given_name | body | string | false | none |
| »» locale | body | string | false | none |
| »» middle_name | body | string | false | none |
| »» nickname | body | string | false | none |
| »» phone_number_verified | body | boolean | false | none |
| »» preferred_username | body | string | false | none |
| »» profile | body | string | false | none |
| »» website | body | string | false | none |
| »» zoneinfo | body | string | false | none |
| » phone | body | string | false | none |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
Response Schema
Force-disable TOTP MFA for a user
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/m2m/users/{id}/mfa/reset \
-H 'Accept: */*'
POST https://auth.nhsoul.fr/api/v1/m2m/users/{id}/mfa/reset HTTP/1.1
Host: auth.nhsoul.fr
Accept: */*
POST /api/v1/m2m/users/{id}/mfa/reset
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | User id |
Example responses
200 Response
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
Response Schema
Set a user's password (no current-password check)
Code samples
# You can also use wget
curl -X PUT https://auth.nhsoul.fr/api/v1/m2m/users/{id}/password \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
PUT https://auth.nhsoul.fr/api/v1/m2m/users/{id}/password HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
PUT /api/v1/m2m/users/{id}/password
Body parameter
{
"password": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | User id |
| body | body | m2m.SetPasswordInput | true | New password |
| » password | body | string | true | none |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
Response Schema
Clear lock-out (failed_login_attempts + locked_until)
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/m2m/users/{id}/unlock \
-H 'Accept: */*'
POST https://auth.nhsoul.fr/api/v1/m2m/users/{id}/unlock HTTP/1.1
Host: auth.nhsoul.fr
Accept: */*
POST /api/v1/m2m/users/{id}/unlock
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | User id |
Example responses
200 Response
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
Response Schema
Profile
Get the current user's profile
Code samples
# You can also use wget
curl -X GET https://auth.nhsoul.fr/api/v1/me \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
GET https://auth.nhsoul.fr/api/v1/me HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
GET /api/v1/me
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 401 | Unauthorized | Unauthorized | pkg.AppError |
| 404 | Not Found | Not Found | pkg.AppError |
Response Schema
Update the current user's profile
Code samples
# You can also use wget
curl -X PATCH https://auth.nhsoul.fr/api/v1/me \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
PATCH https://auth.nhsoul.fr/api/v1/me HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
PATCH /api/v1/me
Body parameter
{
"avatar_url": "string",
"display_name": "string",
"metadata": {
"address": {
"country": "string",
"formatted": "string",
"locality": "string",
"postal_code": "string",
"region": "string",
"street_address": "string"
},
"birthdate": "string",
"family_name": "string",
"gender": "string",
"given_name": "string",
"locale": "string",
"middle_name": "string",
"nickname": "string",
"phone_number_verified": true,
"preferred_username": "string",
"profile": "string",
"website": "string",
"zoneinfo": "string"
},
"phone": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | user.UpdateProfileInput | true | Profile fields to update |
| » avatar_url | body | string | false | none |
| » display_name | body | string | false | none |
| » metadata | body | model.ProfileMetadata | false | none |
| »» address | body | model.AddressClaim | false | none |
| »»» country | body | string | false | none |
| »»» formatted | body | string | false | none |
| »»» locality | body | string | false | none |
| »»» postal_code | body | string | false | none |
| »»» region | body | string | false | none |
| »»» street_address | body | string | false | none |
| »» birthdate | body | string | false | none |
| »» family_name | body | string | false | none |
| »» gender | body | string | false | none |
| »» given_name | body | string | false | none |
| »» locale | body | string | false | none |
| »» middle_name | body | string | false | none |
| »» nickname | body | string | false | none |
| »» phone_number_verified | body | boolean | false | none |
| »» preferred_username | body | string | false | none |
| »» profile | body | string | false | none |
| »» website | body | string | false | none |
| »» zoneinfo | body | string | false | none |
| » phone | body | string | false | none |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | pkg.AppError |
| 401 | Unauthorized | Unauthorized | pkg.AppError |
Response Schema
Resend the verification email for the authenticated user
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/me/resend-verification \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
POST https://auth.nhsoul.fr/api/v1/me/resend-verification HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
POST /api/v1/me/resend-verification
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | pkg.AppError |
| 401 | Unauthorized | Unauthorized | pkg.AppError |
Response Schema
Account
Schedule own account deletion with grace period (step-up required)
Code samples
# You can also use wget
curl -X DELETE https://auth.nhsoul.fr/api/v1/me \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
DELETE https://auth.nhsoul.fr/api/v1/me HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
DELETE /api/v1/me
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
Response Schema
Cancel a pending account deletion using the emailed token
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/me/account/cancel-deletion \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://auth.nhsoul.fr/api/v1/me/account/cancel-deletion HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
POST /api/v1/me/account/cancel-deletion
Body parameter
{
"token": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | account.CancelDeletionInput | true | token |
| » token | body | string | true | none |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
Response Schema
Request an email address change (step-up required)
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/me/account/email/change-request \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
POST https://auth.nhsoul.fr/api/v1/me/account/email/change-request HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
POST /api/v1/me/account/email/change-request
Body parameter
{
"new_email": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | account.ChangeEmailRequestInput | true | new email |
| » new_email | body | string | true | none |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
Response Schema
Confirm a pending email change with the token from the email
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/me/account/email/confirm \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://auth.nhsoul.fr/api/v1/me/account/email/confirm HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
POST /api/v1/me/account/email/confirm
Body parameter
{
"token": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | account.ConfirmEmailChangeInput | true | token |
| » token | body | string | true | none |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
Response Schema
List own passkeys
Code samples
# You can also use wget
curl -X GET https://auth.nhsoul.fr/api/v1/me/passkeys \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
GET https://auth.nhsoul.fr/api/v1/me/passkeys HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
GET /api/v1/me/passkeys
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
Response Schema
Begin usernameless passkey login (public)
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/me/passkeys/login/begin \
-H 'Accept: application/json'
POST https://auth.nhsoul.fr/api/v1/me/passkeys/login/begin HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
POST /api/v1/me/passkeys/login/begin
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | challenge_id (uuid) + options (PublicKeyCredentialRequestOptions JSON) | Inline |
Response Schema
Finish usernameless passkey login (public). Returns the user and passkey; caller is responsible for issuing a session.
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/me/passkeys/login/finish \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://auth.nhsoul.fr/api/v1/me/passkeys/login/finish HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
POST /api/v1/me/passkeys/login/finish
Body parameter
{
"challenge_id": "string",
"response": [
0
]
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | passkey.FinishLoginInput | true | challenge id + raw response |
| » challenge_id | body | string | true | none |
| » response | body | [integer] | true | none |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
Response Schema
Start a passkey-based reauth challenge
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/me/passkeys/reauth/begin \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
POST https://auth.nhsoul.fr/api/v1/me/passkeys/reauth/begin HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
POST /api/v1/me/passkeys/reauth/begin
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | challenge_id (uuid) + options (PublicKeyCredentialRequestOptions JSON) | Inline |
Response Schema
Start passkey registration
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/me/passkeys/register/begin \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
POST https://auth.nhsoul.fr/api/v1/me/passkeys/register/begin HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
POST /api/v1/me/passkeys/register/begin
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | challenge_id (uuid) + options (PublicKeyCredentialCreationOptions JSON) | Inline |
Response Schema
Finish passkey registration
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/me/passkeys/register/finish \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
POST https://auth.nhsoul.fr/api/v1/me/passkeys/register/finish HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
POST /api/v1/me/passkeys/register/finish
Body parameter
{
"challenge_id": "string",
"name": "string",
"response": [
0
]
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | passkey.FinishRegistrationInput | true | challenge id + raw response |
| » challenge_id | body | string | true | none |
| » name | body | string | false | none |
| » response | body | [integer] | true | raw PublicKeyCredential JSON |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
Response Schema
Delete a passkey (step-up required)
Code samples
# You can also use wget
curl -X DELETE https://auth.nhsoul.fr/api/v1/me/passkeys/{id} \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
DELETE https://auth.nhsoul.fr/api/v1/me/passkeys/{id} HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
DELETE /api/v1/me/passkeys/{id}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Passkey ID |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
Response Schema
Rename a passkey
Code samples
# You can also use wget
curl -X PATCH https://auth.nhsoul.fr/api/v1/me/passkeys/{id} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
PATCH https://auth.nhsoul.fr/api/v1/me/passkeys/{id} HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
PATCH /api/v1/me/passkeys/{id}
Body parameter
{
"name": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Passkey ID |
| body | body | passkey.RenameInput | true | new name |
| » name | body | string | true | none |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
Response Schema
Change own password (step-up required)
Code samples
# You can also use wget
curl -X PUT https://auth.nhsoul.fr/api/v1/me/password \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
PUT https://auth.nhsoul.fr/api/v1/me/password HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
PUT /api/v1/me/password
Body parameter
{
"current_password": "string",
"new_password": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | user.ChangePasswordInput | true | current + new password |
| » current_password | body | string | true | none |
| » new_password | body | string | true | none |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
Response Schema
Issue a short-lived step-up reauthentication token
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/me/reauth \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
POST https://auth.nhsoul.fr/api/v1/me/reauth HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
POST /api/v1/me/reauth
Validates a fresh credential (password, TOTP, backup code, or passkey assertion) and returns a single-use reauth token to use as X-Reauth-Token on sensitive endpoints.
Body parameter
{
"code": "string",
"method": "string",
"passkey_challenge_id": "string",
"passkey_response": [
0
],
"password": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | reauth.IssueRequest | true | Credential payload |
| » code | body | string | false | TOTP or backup code |
| » method | body | string | true | none |
| » passkey_challenge_id | body | string | false | none |
| » passkey_response | body | [integer] | false | raw assertion JSON |
| » password | body | string | false | none |
Example responses
200 Response
{
"expires_at": "string",
"method": "string",
"reauth_token": "string"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | reauth.IssueResponse |
| 400 | Bad Request | Bad Request | pkg.AppError |
| 401 | Unauthorized | Unauthorized | pkg.AppError |
Finalise federation onboarding by setting the initial local password
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/me/set-password \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
POST https://auth.nhsoul.fr/api/v1/me/set-password HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
POST /api/v1/me/set-password
Body parameter
{
"password": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | account.SetInitialPasswordInput | true | new password |
| » password | body | string | true | none |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
Response Schema
MFA
Regenerate MFA backup codes
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/me/mfa/backup-codes \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
POST https://auth.nhsoul.fr/api/v1/me/mfa/backup-codes HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
POST /api/v1/me/mfa/backup-codes
Body parameter
{
"code": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | mfa.BackupCodesInput | true | TOTP code for confirmation |
| » code | body | string | true | none |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | pkg.AppError |
| 401 | Unauthorized | Unauthorized | pkg.AppError |
Response Schema
Disable TOTP-based MFA
Code samples
# You can also use wget
curl -X DELETE https://auth.nhsoul.fr/api/v1/me/mfa/totp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
DELETE https://auth.nhsoul.fr/api/v1/me/mfa/totp HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
DELETE /api/v1/me/mfa/totp
Body parameter
{
"code": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | mfa.DisableInput | true | TOTP code for confirmation |
| » code | body | string | true | none |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | pkg.AppError |
| 401 | Unauthorized | Unauthorized | pkg.AppError |
Response Schema
Enroll in TOTP-based MFA
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/me/mfa/totp/enroll \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
POST https://auth.nhsoul.fr/api/v1/me/mfa/totp/enroll HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
POST /api/v1/me/mfa/totp/enroll
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 401 | Unauthorized | Unauthorized | pkg.AppError |
| 409 | Conflict | Conflict | pkg.AppError |
Response Schema
Verify TOTP code to activate MFA
Code samples
# You can also use wget
curl -X POST https://auth.nhsoul.fr/api/v1/me/mfa/totp/verify \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
POST https://auth.nhsoul.fr/api/v1/me/mfa/totp/verify HTTP/1.1
Host: auth.nhsoul.fr
Content-Type: application/json
Accept: application/json
POST /api/v1/me/mfa/totp/verify
Body parameter
{
"code": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | mfa.VerifyInput | true | TOTP code |
| » code | body | string | true | none |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | pkg.AppError |
| 401 | Unauthorized | Unauthorized | pkg.AppError |
Response Schema
Sessions
List active sessions for the current user
Code samples
# You can also use wget
curl -X GET https://auth.nhsoul.fr/api/v1/me/sessions \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
GET https://auth.nhsoul.fr/api/v1/me/sessions HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
GET /api/v1/me/sessions
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 401 | Unauthorized | Unauthorized | pkg.AppError |
| 500 | Internal Server Error | Internal Server Error | pkg.AppError |
Response Schema
Revoke all sessions except the current one
Code samples
# You can also use wget
curl -X DELETE https://auth.nhsoul.fr/api/v1/me/sessions \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
DELETE https://auth.nhsoul.fr/api/v1/me/sessions HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
DELETE /api/v1/me/sessions
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 401 | Unauthorized | Unauthorized | pkg.AppError |
| 500 | Internal Server Error | Internal Server Error | pkg.AppError |
Response Schema
Revoke a specific session
Code samples
# You can also use wget
curl -X DELETE https://auth.nhsoul.fr/api/v1/me/sessions/{id} \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
DELETE https://auth.nhsoul.fr/api/v1/me/sessions/{id} HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
DELETE /api/v1/me/sessions/{id}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Session ID (UUID) |
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | pkg.AppError |
| 401 | Unauthorized | Unauthorized | pkg.AppError |
| 404 | Not Found | Not Found | pkg.AppError |
Response Schema
Password Policy
Get the active password policy
Code samples
# You can also use wget
curl -X GET https://auth.nhsoul.fr/api/v1/password-policy \
-H 'Accept: application/json'
GET https://auth.nhsoul.fr/api/v1/password-policy HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
GET /api/v1/password-policy
Example responses
200 Response
{}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
Response Schema
Health
Health check
Code samples
# You can also use wget
curl -X GET https://auth.nhsoul.fr/health \
-H 'Accept: application/json'
GET https://auth.nhsoul.fr/health HTTP/1.1
Host: auth.nhsoul.fr
Accept: application/json
GET /health
Example responses
200 Response
{
"property1": "string",
"property2": "string"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » additionalProperties | string | false | none | none |
Schemas
account.CancelDeletionInput
{
"token": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| token | string | true | none | none |
account.ChangeEmailRequestInput
{
"new_email": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| new_email | string | true | none | none |
account.ConfirmEmailChangeInput
{
"token": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| token | string | true | none | none |
account.SetInitialPasswordInput
{
"password": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| password | string | true | none | none |
client.CreateInput
{
"access_token_ttl": 0,
"backchannel_logout_session_required": true,
"backchannel_logout_uri": "string",
"description": "string",
"frontchannel_logout_session_required": true,
"frontchannel_logout_uri": "string",
"grant_types": [
"string"
],
"id_token_encrypted_response_alg": "string",
"id_token_encrypted_response_enc": "string",
"id_token_ttl": 0,
"is_first_party": true,
"is_public": true,
"jwks_uri": "string",
"name": "string",
"post_logout_redirect_uris": [
"string"
],
"redirect_uris": [
"string"
],
"refresh_token_ttl": 0,
"request_uris": [
"string"
],
"require_pkce": true,
"response_types": [
"string"
],
"scopes": [
"string"
],
"sector_identifier_uri": "string",
"subject_type": "string",
"token_auth_method": "string",
"userinfo_encrypted_response_alg": "string",
"userinfo_encrypted_response_enc": "string",
"userinfo_signed_response_alg": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| access_token_ttl | integer | false | none | none |
| backchannel_logout_session_required | boolean | false | none | none |
| backchannel_logout_uri | string | false | none | none |
| description | string | false | none | none |
| frontchannel_logout_session_required | boolean | false | none | none |
| frontchannel_logout_uri | string | false | none | none |
| grant_types | [string] | true | none | none |
| id_token_encrypted_response_alg | string | false | none | JWE encryption (OIDC Core §10.2 / §5.3.2) |
| id_token_encrypted_response_enc | string | false | none | none |
| id_token_ttl | integer | false | none | none |
| is_first_party | boolean | false | none | none |
| is_public | boolean | false | none | none |
| jwks_uri | string | false | none | none |
| name | string | true | none | none |
| post_logout_redirect_uris | [string] | false | none | Logout (OIDC RP-Initiated / Front-Channel / Back-Channel Logout 1.0) |
| redirect_uris | [string] | true | none | none |
| refresh_token_ttl | integer | false | none | none |
| request_uris | [string] | false | none | none |
| require_pkce | boolean | false | none | none |
| response_types | [string] | false | none | none |
| scopes | [string] | true | none | none |
| sector_identifier_uri | string | false | none | none |
| subject_type | string | false | none | OIDC subject + signed UserInfo |
| token_auth_method | string | false | none | none |
| userinfo_encrypted_response_alg | string | false | none | none |
| userinfo_encrypted_response_enc | string | false | none | none |
| userinfo_signed_response_alg | string | false | none | none |
client.UpdateInput
{
"access_token_ttl": 0,
"active": true,
"backchannel_logout_session_required": true,
"backchannel_logout_uri": "string",
"description": "string",
"frontchannel_logout_session_required": true,
"frontchannel_logout_uri": "string",
"grant_types": [
"string"
],
"id_token_encrypted_response_alg": "string",
"id_token_encrypted_response_enc": "string",
"id_token_ttl": 0,
"is_first_party": true,
"jwks_uri": "string",
"name": "string",
"post_logout_redirect_uris": [
"string"
],
"redirect_uris": [
"string"
],
"refresh_token_ttl": 0,
"request_uris": [
"string"
],
"require_pkce": true,
"response_types": [
"string"
],
"scopes": [
"string"
],
"sector_identifier_uri": "string",
"subject_type": "string",
"token_auth_method": "string",
"userinfo_encrypted_response_alg": "string",
"userinfo_encrypted_response_enc": "string",
"userinfo_signed_response_alg": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| access_token_ttl | integer | false | none | none |
| active | boolean | false | none | none |
| backchannel_logout_session_required | boolean | false | none | none |
| backchannel_logout_uri | string | false | none | none |
| description | string | false | none | none |
| frontchannel_logout_session_required | boolean | false | none | none |
| frontchannel_logout_uri | string | false | none | none |
| grant_types | [string] | false | none | none |
| id_token_encrypted_response_alg | string | false | none | none |
| id_token_encrypted_response_enc | string | false | none | none |
| id_token_ttl | integer | false | none | none |
| is_first_party | boolean | false | none | none |
| jwks_uri | string | false | none | none |
| name | string | false | none | none |
| post_logout_redirect_uris | [string] | false | none | none |
| redirect_uris | [string] | false | none | none |
| refresh_token_ttl | integer | false | none | none |
| request_uris | [string] | false | none | none |
| require_pkce | boolean | false | none | none |
| response_types | [string] | false | none | none |
| scopes | [string] | false | none | none |
| sector_identifier_uri | string | false | none | none |
| subject_type | string | false | none | none |
| token_auth_method | string | false | none | none |
| userinfo_encrypted_response_alg | string | false | none | none |
| userinfo_encrypted_response_enc | string | false | none | none |
| userinfo_signed_response_alg | string | false | none | none |
federation.BeginLinkAccountInput
{
"return_to": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| return_to | string | false | none | ReturnTo is the URL the AuthUI wants the user to land on after the provider callback completes (must be same-origin with the AuthUI base). Defaults to AuthUI /linked-accounts when empty. |
federation.CompleteSignupHTTPInput
{
"display_name": "string",
"extra_fields": {
"property1": null,
"property2": null
},
"password": "string",
"token": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| display_name | string | false | none | none |
| extra_fields | object | false | none | none |
| » additionalProperties | any | false | none | none |
| password | string | true | none | none |
| token | string | true | none | none |
federation.ConfirmLinkInput
{
"password": "string",
"token": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| password | string | true | none | none |
| token | string | true | none | none |
federation.CreateProviderInput
{}
Properties
None
federation.UpdateProviderInput
{}
Properties
None
invitation.CreateInput
{
"email": "string",
"role_ids": [
"string"
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| string | true | none | none | |
| role_ids | [string] | false | none | none |
invitation.RegisterInviteInput
{
"display_name": "string",
"password": "string",
"token": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| display_name | string | false | none | none |
| password | string | true | none | none |
| token | string | true | none | none |
invitation.UpdateSettingsInput
{
"default_access_token_ttl": 0,
"default_id_token_ttl": 0,
"default_post_register_redirect_url": "string",
"default_refresh_token_ttl": 0,
"default_session_extended_ttl": 0,
"default_session_ttl": 0,
"invitations_default_role": "string",
"registration_email_verification_required": true,
"registration_enabled": true
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| default_access_token_ttl | integer | false | none | none |
| default_id_token_ttl | integer | false | none | none |
| default_post_register_redirect_url | string | false | none | none |
| default_refresh_token_ttl | integer | false | none | none |
| default_session_extended_ttl | integer | false | none | none |
| default_session_ttl | integer | false | none | none |
| invitations_default_role | string | false | none | none |
| registration_email_verification_required | boolean | false | none | none |
| registration_enabled | boolean | false | none | none |
m2m.CreateUserInput
{
"active": true,
"avatar_url": "string",
"display_name": "string",
"email": "string",
"email_verified": true,
"metadata": {
"address": {
"country": "string",
"formatted": "string",
"locality": "string",
"postal_code": "string",
"region": "string",
"street_address": "string"
},
"birthdate": "string",
"family_name": "string",
"gender": "string",
"given_name": "string",
"locale": "string",
"middle_name": "string",
"nickname": "string",
"phone_number_verified": true,
"preferred_username": "string",
"profile": "string",
"website": "string",
"zoneinfo": "string"
},
"password": "string",
"phone": "string",
"role_ids": [
"string"
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| active | boolean | false | none | none |
| avatar_url | string | false | none | none |
| display_name | string | false | none | none |
| string | true | none | none | |
| email_verified | boolean | false | none | none |
| metadata | model.ProfileMetadata | false | none | none |
| password | string | false | none | none |
| phone | string | false | none | none |
| role_ids | [string] | false | none | none |
m2m.CreateUserResult
{
"generated_password": "string",
"user": {
"property1": null,
"property2": null
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| generated_password | string | false | none | none |
| user | object | false | none | none |
| » additionalProperties | any | false | none | none |
m2m.SetPasswordInput
{
"password": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| password | string | true | none | none |
m2m.UpdateUserInput
{
"active": true,
"avatar_url": "string",
"display_name": "string",
"email": "string",
"email_verified": true,
"metadata": {
"address": {
"country": "string",
"formatted": "string",
"locality": "string",
"postal_code": "string",
"region": "string",
"street_address": "string"
},
"birthdate": "string",
"family_name": "string",
"gender": "string",
"given_name": "string",
"locale": "string",
"middle_name": "string",
"nickname": "string",
"phone_number_verified": true,
"preferred_username": "string",
"profile": "string",
"website": "string",
"zoneinfo": "string"
},
"phone": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| active | boolean | false | none | none |
| avatar_url | string | false | none | none |
| display_name | string | false | none | none |
| string | false | none | none | |
| email_verified | boolean | false | none | none |
| metadata | model.ProfileMetadata | false | none | none |
| phone | string | false | none | none |
mfa.BackupCodesInput
{
"code": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| code | string | true | none | none |
mfa.DisableInput
{
"code": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| code | string | true | none | none |
mfa.VerifyInput
{
"code": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| code | string | true | none | none |
model.AddressClaim
{
"country": "string",
"formatted": "string",
"locality": "string",
"postal_code": "string",
"region": "string",
"street_address": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| country | string | false | none | none |
| formatted | string | false | none | none |
| locality | string | false | none | none |
| postal_code | string | false | none | none |
| region | string | false | none | none |
| street_address | string | false | none | none |
model.ProfileMetadata
{
"address": {
"country": "string",
"formatted": "string",
"locality": "string",
"postal_code": "string",
"region": "string",
"street_address": "string"
},
"birthdate": "string",
"family_name": "string",
"gender": "string",
"given_name": "string",
"locale": "string",
"middle_name": "string",
"nickname": "string",
"phone_number_verified": true,
"preferred_username": "string",
"profile": "string",
"website": "string",
"zoneinfo": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| address | model.AddressClaim | false | none | none |
| birthdate | string | false | none | none |
| family_name | string | false | none | none |
| gender | string | false | none | none |
| given_name | string | false | none | none |
| locale | string | false | none | none |
| middle_name | string | false | none | none |
| nickname | string | false | none | none |
| phone_number_verified | boolean | false | none | none |
| preferred_username | string | false | none | none |
| profile | string | false | none | none |
| website | string | false | none | none |
| zoneinfo | string | false | none | none |
oauth.AuthorizeConsentInput
{
"request_id": "string",
"scopes_granted": [
"string"
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| request_id | string | true | none | none |
| scopes_granted | [string] | true | none | none |
oauth.AuthorizeLoginInput
{
"email": "string",
"password": "string",
"remember_me": true,
"request_id": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| string | true | none | none | |
| password | string | true | none | none |
| remember_me | boolean | false | none | none |
| request_id | string | true | none | none |
oauth.AuthorizeMFAInput
{
"code": "string",
"request_id": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| code | string | true | none | none |
| request_id | string | true | none | none |
oauth.AuthorizeRegisterInput
{
"display_name": "string",
"email": "string",
"extra_fields": {
"property1": null,
"property2": null
},
"password": "string",
"request_id": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| display_name | string | false | none | none |
| string | true | none | none | |
| extra_fields | object | false | none | none |
| » additionalProperties | any | false | none | none |
| password | string | true | none | none |
| request_id | string | true | none | none |
oauth.DeviceVerifyInput
{
"user_code": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| user_code | string | true | none | none |
passkey.FinishLoginInput
{
"challenge_id": "string",
"response": [
0
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| challenge_id | string | true | none | none |
| response | [integer] | true | none | none |
passkey.FinishRegistrationInput
{
"challenge_id": "string",
"name": "string",
"response": [
0
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| challenge_id | string | true | none | none |
| name | string | false | none | none |
| response | [integer] | true | none | raw PublicKeyCredential JSON |
passkey.RenameInput
{
"name": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| name | string | true | none | none |
password.Policy
{
"max_length": 0,
"min_length": 0,
"min_score": 0,
"require_digit": true,
"require_lowercase": true,
"require_symbol": true,
"require_uppercase": true
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| max_length | integer | false | none | none |
| min_length | integer | false | none | none |
| min_score | integer | false | none | none |
| require_digit | boolean | false | none | none |
| require_lowercase | boolean | false | none | none |
| require_symbol | boolean | false | none | none |
| require_uppercase | boolean | false | none | none |
pkg.AppError
{
"code": "string",
"message": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| code | string | false | none | none |
| message | string | false | none | none |
pkg.PaginatedResponse
{
"data": null,
"page": 0,
"per_page": 0,
"total": 0,
"total_pages": 0
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| data | any | false | none | none |
| page | integer | false | none | none |
| per_page | integer | false | none | none |
| total | integer | false | none | none |
| total_pages | integer | false | none | none |
policy.CreatePolicyInput
{
"active": true,
"description": "string",
"name": "string",
"priority": 0,
"rego": "string",
"type": "token_issuance"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| active | boolean | false | none | none |
| description | string | false | none | none |
| name | string | true | none | none |
| priority | integer | false | none | none |
| rego | string | true | none | none |
| type | string | true | none | none |
Enumerated Values
| Property | Value |
|---|---|
| type | token_issuance |
| type | login |
| type | client_auth |
| type | admin_api |
| type | consent |
| type | refresh |
| type | introspect |
| type | device_approval |
| type | mfa |
| type | account_action |
| type | custom |
policy.TestPolicyInput
{
"input": {
"property1": null,
"property2": null
},
"rego": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| input | object | true | none | none |
| » additionalProperties | any | false | none | none |
| rego | string | true | none | none |
policy.UpdatePolicyInput
{
"active": true,
"description": "string",
"name": "string",
"priority": 0,
"rego": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| active | boolean | false | none | none |
| description | string | false | none | none |
| name | string | false | none | none |
| priority | integer | false | none | none |
| rego | string | false | none | none |
rbac.AssignRoleInput
{
"role_id": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| role_id | string | true | none | none |
rbac.CreateRoleInput
{
"description": "string",
"name": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| description | string | false | none | none |
| name | string | true | none | none |
rbac.SetPermissionsInput
{
"permission_ids": [
"string"
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| permission_ids | [string] | true | none | none |
rbac.UpdateRoleInput
{
"description": "string",
"name": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| description | string | false | none | none |
| name | string | false | none | none |
reauth.IssueRequest
{
"code": "string",
"method": "string",
"passkey_challenge_id": "string",
"passkey_response": [
0
],
"password": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| code | string | false | none | TOTP or backup code |
| method | string | true | none | none |
| passkey_challenge_id | string | false | none | none |
| passkey_response | [integer] | false | none | raw assertion JSON |
| password | string | false | none | none |
reauth.IssueResponse
{
"expires_at": "string",
"method": "string",
"reauth_token": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| expires_at | string | false | none | none |
| method | string | false | none | none |
| reauth_token | string | false | none | none |
resource.AddPermissionInput
{
"description": "string",
"name": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| description | string | false | none | none |
| name | string | true | none | none |
resource.CreateInput
{
"access_token_ttl": 0,
"description": "string",
"identifier": "string",
"name": "string",
"signing_alg": "string",
"token_format": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| access_token_ttl | integer | false | none | none |
| description | string | false | none | none |
| identifier | string | true | none | none |
| name | string | true | none | none |
| signing_alg | string | false | none | none |
| token_format | string | false | none | none |
resource.SetClientPermissionsInput
{
"permission_ids": [
"string"
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| permission_ids | [string] | true | none | none |
resource.SetRolePermissionsInput
{
"permission_ids": [
"string"
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| permission_ids | [string] | true | none | none |
resource.UpdateInput
{
"access_token_ttl": 0,
"active": true,
"description": "string",
"name": "string",
"signing_alg": "string",
"token_format": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| access_token_ttl | integer | false | none | none |
| active | boolean | false | none | none |
| description | string | false | none | none |
| name | string | false | none | none |
| signing_alg | string | false | none | none |
| token_format | string | false | none | none |
user.AdminUpdateInput
{
"active": true,
"display_name": "string",
"email": "string",
"email_verified": true
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| active | boolean | false | none | none |
| display_name | string | false | none | none |
| string | false | none | none | |
| email_verified | boolean | false | none | none |
user.ChangePasswordInput
{
"current_password": "string",
"new_password": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| current_password | string | true | none | none |
| new_password | string | true | none | none |
user.ForgotPasswordInput
{
"email": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| string | true | none | none |
user.LoginInput
{
"email": "string",
"password": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| string | true | none | none | |
| password | string | true | none | none |
user.RegisterInput
{
"display_name": "string",
"email": "string",
"extra_fields": {
"property1": null,
"property2": null
},
"password": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| display_name | string | false | none | none |
| string | true | none | none | |
| extra_fields | object | false | none | none |
| » additionalProperties | any | false | none | none |
| password | string | true | none | none |
user.ResendVerificationInput
{
"email": "string",
"oauth_request_id": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| string | true | none | none | |
| oauth_request_id | string | false | none | none |
user.ResetPasswordInput
{
"new_password": "string",
"token": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| new_password | string | true | none | none |
| token | string | true | none | none |
user.UpdateProfileInput
{
"avatar_url": "string",
"display_name": "string",
"metadata": {
"address": {
"country": "string",
"formatted": "string",
"locality": "string",
"postal_code": "string",
"region": "string",
"street_address": "string"
},
"birthdate": "string",
"family_name": "string",
"gender": "string",
"given_name": "string",
"locale": "string",
"middle_name": "string",
"nickname": "string",
"phone_number_verified": true,
"preferred_username": "string",
"profile": "string",
"website": "string",
"zoneinfo": "string"
},
"phone": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| avatar_url | string | false | none | none |
| display_name | string | false | none | none |
| metadata | model.ProfileMetadata | false | none | none |
| phone | string | false | none | none |
user.VerifyEmailInput
{
"token": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| token | string | true | none | none |