{
"openapi": "3.1.0",
"info": {
"title": "Auth Business API",
"version": "v1"
},
"x-lenso-contract-id": "auth-http",
"x-lenso-contract-version": "v1",
"x-lenso-module-id": "auth",
"paths": {
"/users": {
"get": {
"operationId": "auth/http/GET:/users",
"summary": "List Auth users",
"x-lenso-capability": "auth.users.read",
"x-lenso-idempotency": "idempotent",
"x-lenso-connected-route": {
"method": "GET",
"path": "/v1/auth/console/users"
},
"parameters": [
{
"name": "limit",
"in": "query",
"required": false,
"schema": { "type": "integer", "minimum": 1, "maximum": 200 }
},
{
"name": "cursor",
"in": "query",
"required": false,
"schema": { "type": "string", "minLength": 1 }
}
],
"responses": {
"200": {
"description": "Auth user page",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/UserPage" }
}
}
}
}
}
},
"/sessions": {
"get": {
"operationId": "auth/http/GET:/sessions",
"summary": "List Auth sessions",
"x-lenso-capability": "auth.sessions.read",
"x-lenso-idempotency": "idempotent",
"x-lenso-connected-route": {
"method": "GET",
"path": "/v1/auth/console/sessions"
},
"parameters": [
{
"name": "limit",
"in": "query",
"required": false,
"schema": { "type": "integer", "minimum": 1, "maximum": 200 }
},
{
"name": "cursor",
"in": "query",
"required": false,
"schema": { "type": "string", "minLength": 1 }
}
],
"responses": {
"200": {
"description": "Auth session page",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/SessionPage" }
}
}
}
}
}
},
"/users/{userId}/disable": {
"post": {
"operationId": "auth/http/POST:/users/{id}/disable",
"summary": "Disable an Auth user",
"x-lenso-capability": "auth.users.manage",
"x-lenso-idempotency": "idempotent",
"x-lenso-connected-route": {
"method": "POST",
"path": "/v1/auth/console/users/{userId}/disable"
},
"parameters": [
{
"name": "userId",
"in": "path",
"required": true,
"schema": { "type": "string", "minLength": 1 }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/DisableUserInput" }
}
}
},
"responses": {
"200": {
"description": "Auth user disabled",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/UserMutationResult" }
}
}
}
}
}
},
"/users/{userId}/enable": {
"post": {
"operationId": "auth/http/POST:/users/{id}/enable",
"summary": "Enable an Auth user",
"x-lenso-capability": "auth.users.manage",
"x-lenso-idempotency": "idempotent",
"x-lenso-connected-route": {
"method": "POST",
"path": "/v1/auth/console/users/{userId}/enable"
},
"parameters": [
{
"name": "userId",
"in": "path",
"required": true,
"schema": { "type": "string", "minLength": 1 }
}
],
"responses": {
"200": {
"description": "Auth user enabled",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/UserMutationResult" }
}
}
}
}
}
},
"/sessions/{sessionId}/revoke": {
"post": {
"operationId": "auth/http/POST:/sessions/{id}/revoke",
"summary": "Revoke an Auth session",
"x-lenso-capability": "auth.sessions.revoke",
"x-lenso-idempotency": "idempotent",
"x-lenso-connected-route": {
"method": "POST",
"path": "/v1/auth/console/sessions/{sessionId}/revoke"
},
"parameters": [
{
"name": "sessionId",
"in": "path",
"required": true,
"schema": { "type": "string", "minLength": 1 }
}
],
"responses": {
"200": {
"description": "Auth session revoke result",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SessionMutationResult"
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"User": {
"type": "object",
"additionalProperties": false,
"required": [
"id",
"is_anonymous",
"created_at",
"disabled_at",
"disabled_reason",
"disabled_until"
],
"properties": {
"id": { "type": "string" },
"is_anonymous": { "type": "boolean" },
"created_at": { "type": "string", "format": "date-time" },
"disabled_at": { "type": ["string", "null"], "format": "date-time" },
"disabled_reason": { "type": ["string", "null"] },
"disabled_until": {
"type": ["string", "null"],
"format": "date-time"
}
}
},
"Session": {
"type": "object",
"additionalProperties": false,
"required": [
"id",
"user_id",
"device_id",
"client_ip",
"user_agent",
"created_at",
"expires_at",
"revoked_at"
],
"properties": {
"id": { "type": "string" },
"user_id": { "type": "string" },
"device_id": { "type": ["string", "null"] },
"client_ip": { "type": ["string", "null"] },
"user_agent": { "type": ["string", "null"] },
"created_at": { "type": "string", "format": "date-time" },
"expires_at": { "type": "string", "format": "date-time" },
"revoked_at": { "type": ["string", "null"], "format": "date-time" }
}
},
"UserPage": {
"type": "object",
"additionalProperties": false,
"required": ["records", "next_cursor"],
"properties": {
"records": {
"type": "array",
"items": { "$ref": "#/components/schemas/User" }
},
"next_cursor": { "type": ["string", "null"] }
}
},
"SessionPage": {
"type": "object",
"additionalProperties": false,
"required": ["records", "next_cursor"],
"properties": {
"records": {
"type": "array",
"items": { "$ref": "#/components/schemas/Session" }
},
"next_cursor": { "type": ["string", "null"] }
}
},
"DisableUserInput": {
"type": "object",
"additionalProperties": false,
"properties": {
"reason": { "type": "string" },
"disabled_until": { "type": "string", "format": "date-time" }
}
},
"UserMutationResult": {
"type": "object",
"additionalProperties": false,
"required": ["user_id", "changed"],
"properties": {
"user_id": { "type": "string" },
"changed": { "type": "boolean" }
}
},
"SessionMutationResult": {
"type": "object",
"additionalProperties": false,
"required": ["session_id", "revoked"],
"properties": {
"session_id": { "type": "string" },
"revoked": { "type": "boolean" }
}
}
}
}
}