Files
leadchat/swagger/paths/application/portal/update.yml
Tanmay Deep Sharma 459f225559 feat: Update swagger to openapi 3.0.4, update request payloads with examples (#11533)
# Pull Request Template

## Description

Updates the public swagger spec to be OpenAPI 3.0.4 compliant. Regarding
#7893, I'm investigating the use of
[oas_rails](https://github.com/a-chacon/oas_rails) to auto-generate the
documentation along with correct expected payloads.
Mostly fixes #10531, related to #7893

## Type of change

- [ ] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality not to work as expected)
- [ ] This change requires a documentation update

## How Has This Been Tested?

Copied spec into swagger editor, reviewed outputs:

![openapi](https://github.com/user-attachments/assets/bd43f895-74bb-4373-ba6d-c5b190b699dd)

Note that this shows two errors with the `DELETE` endpoints as
technically these should not have a `requestBody` - in which case we
should be making use of another HTTP verb or another endpoint.

## Checklist:

- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my code
- [x] I have commented on my code, particularly in hard-to-understand
areas
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [x] Any dependent changes have been merged and published in downstream
modules

---------

Co-authored-by: Daniel Jimenez <devildan.knex@gmail.com>
Co-authored-by: Daniel Jimenez <daniel.jimenez@spark64.com>
2025-05-22 17:57:12 +07:00

86 lines
2.6 KiB
YAML

tags:
- Help Center
operationId: update-portal-to-account
summary: Update a portal
description: Update a portal to account
security:
- userApiKey: []
parameters:
- $ref: '#/components/parameters/account_id'
- $ref: '#/components/parameters/portal_id'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/portal_create_update_payload'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/portal_single'
example:
payload:
id: 123
archived: false
color: "#1F93FF"
config:
allowed_locales:
- code: "en"
articles_count: 32
categories_count: 9
custom_domain: "chatwoot.help"
header_text: "Handbook"
homepage_link: "https://www.chatwoot.com"
name: "Handbook"
slug: "handbook"
page_title: "Handbook"
account_id: 123
inbox:
id: 123
name: "Chatwoot"
website_url: "chatwoot.com"
channel_type: "Channel::WebWidget"
avatar_url: "https://example.com/avatar.png"
widget_color: "#1F93FF"
website_token: "4cWzuf9i9jxN9tbnv8K9STKU"
enable_auto_assignment: true
web_widget_script: "<script>...</script>"
welcome_title: "Hi there ! 🙌🏼"
welcome_tagline: "We make it simple to connect with us."
greeting_enabled: true
greeting_message: "Hey there 👋, Thank you for reaching out to us."
channel_id: 123
working_hours_enabled: true
enable_email_collect: true
csat_survey_enabled: true
timezone: "America/Los_Angeles"
business_name: "Chatwoot"
hmac_mandatory: true
logo:
id: 123
portal_id: 123
file_type: "image/png"
account_id: 123
file_url: "https://example.com/logo.png"
blob_id: 123
filename: "square.png"
meta:
all_articles_count: 32
categories_count: 9
default_locale: "en"
'403':
description: Access denied
content:
application/json:
schema:
$ref: '#/components/schemas/bad_request_error'
'404':
description: Portal not found
content:
application/json:
schema:
$ref: '#/components/schemas/bad_request_error'