diff --git a/README.md b/README.md index c48f999..fb7807a 100644 --- a/README.md +++ b/README.md @@ -149,4 +149,4 @@ pytest --- -[hello@axme.ai](mailto:hello@axme.ai) · [@axme_ai](https://x.com/axme_ai) · [Security](SECURITY.md) · [License](LICENSE) +[contact@axme.ai](mailto:contact@axme.ai) · [@axme_ai](https://x.com/axme_ai) · [Security](SECURITY.md) · [License](LICENSE) diff --git a/docs/openapi/gateway.track-f-sprint1.v1.json b/docs/openapi/gateway.track-f-sprint1.v1.json index f5d74f9..fe47249 100644 --- a/docs/openapi/gateway.track-f-sprint1.v1.json +++ b/docs/openapi/gateway.track-f-sprint1.v1.json @@ -1147,6 +1147,65 @@ } } }, + "/v1/portal/personal/profile": { + "post": { + "summary": "Update Personal Profile", + "description": "Update the caller's profile (display name, company). Both fields optional.", + "operationId": "update_personal_profile_v1_portal_personal_profile_post", + "parameters": [ + { + "name": "authorization", + "in": "header", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Authorization" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PersonalProfileUpdateRequest" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": true, + "title": "Response Update Personal Profile V1 Portal Personal Profile Post" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, "/v1/portal/personal/overview": { "get": { "summary": "Personal Portal Overview", @@ -7724,6 +7783,36 @@ "type": "object", "title": "OrganizationUpdateRequest" }, + "PersonalProfileUpdateRequest": { + "properties": { + "display_name": { + "anyOf": [ + { + "type": "string", + "maxLength": 255 + }, + { + "type": "null" + } + ], + "title": "Display Name" + }, + "company": { + "anyOf": [ + { + "type": "string", + "maxLength": 255 + }, + { + "type": "null" + } + ], + "title": "Company" + } + }, + "type": "object", + "title": "PersonalProfileUpdateRequest" + }, "PersonalWorkspaceSelectionRequest": { "properties": { "org_id": { diff --git a/docs/openapi/gateway.v1.json b/docs/openapi/gateway.v1.json index dee0131..5937169 100644 --- a/docs/openapi/gateway.v1.json +++ b/docs/openapi/gateway.v1.json @@ -4112,6 +4112,129 @@ } } }, + "/v1/portal/personal/profile": { + "post": { + "summary": "Update Personal Profile", + "description": "Update the caller's profile (display name, company). Both fields optional.", + "operationId": "update_personal_profile_v1_portal_personal_profile_post", + "parameters": [ + { + "name": "authorization", + "in": "header", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Authorization" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PersonalProfileUpdateRequest" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": true, + "title": "Response Update Personal Profile V1 Portal Personal Profile Post" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/v1/feedback/view": { + "get": { + "summary": "Feedback View", + "description": "View feedback form. Public, token-based access.", + "operationId": "feedback_view_v1_feedback_view_get", + "parameters": [ + { + "name": "token", + "in": "query", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "title": "Token" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": true, + "title": "Response Feedback View V1 Feedback View Get" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/v1/feedback/submit": { + "post": { + "summary": "Feedback Submit", + "description": "Submit feedback responses. Public, token-based.", + "operationId": "feedback_submit_v1_feedback_submit_post", + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "additionalProperties": true, + "type": "object", + "title": "Response Feedback Submit V1 Feedback Submit Post" + } + } + } + } + } + } + }, "/v1/auth/cli-grants": { "post": { "summary": "Create Cli Grant", @@ -16547,6 +16670,36 @@ "type": "object", "title": "OrganizationUpdateRequest" }, + "PersonalProfileUpdateRequest": { + "properties": { + "display_name": { + "anyOf": [ + { + "type": "string", + "maxLength": 255 + }, + { + "type": "null" + } + ], + "title": "Display Name" + }, + "company": { + "anyOf": [ + { + "type": "string", + "maxLength": 255 + }, + { + "type": "null" + } + ], + "title": "Company" + } + }, + "type": "object", + "title": "PersonalProfileUpdateRequest" + }, "PersonalWorkspaceSelectionRequest": { "properties": { "org_id": { diff --git a/docs/security-overview.md b/docs/security-overview.md index 7c91321..408bd7e 100644 --- a/docs/security-overview.md +++ b/docs/security-overview.md @@ -74,7 +74,7 @@ For the full login and token lifecycle sequence, see [08-email-otp-login-and-tok ## 6) Incident response and disclosure -- Security reports and responsible disclosure: [hello@axme.ai](mailto:hello@axme.ai) +- Security reports and responsible disclosure: [contact@axme.ai](mailto:contact@axme.ai) - High-risk credential events should trigger immediate rotation/revocation workflows. - Incident handling includes containment, impact analysis, remediation, and follow-up hardening.