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>
This commit is contained in:
Tanmay Deep Sharma
2025-05-22 17:57:12 +07:00
committed by GitHub
parent 99de5f4257
commit 459f225559
70 changed files with 28448 additions and 557 deletions

View File

@@ -28,7 +28,7 @@ get:
content:
application/json:
schema:
$ref: '#/components/schemas/contact_conversations'
$ref: '#/components/schemas/contact_conversations_response'
'404':
description: Contact not found
content:

View File

@@ -21,7 +21,7 @@ get:
content:
application/json:
schema:
$ref: '#/components/schemas/extended_contact'
$ref: '#/components/schemas/contact_show_response'
'404':
description: Contact not found
content:

View File

@@ -55,7 +55,7 @@ post:
content:
application/json:
schema:
$ref: '#/components/schemas/contact_list'
$ref: '#/components/schemas/contacts_list_response'
'400':
description: Bad Request Error
content:

View File

@@ -9,7 +9,7 @@ parameters:
get:
tags:
- Contacts
- Contact Labels
operationId: list-all-labels-of-a-contact
summary: List Labels
description: Lists all the labels of a contact
@@ -37,7 +37,7 @@ get:
post:
tags:
- Contacts
- Contact Labels
operationId: contact-add-labels
summary: Add Labels
description: Add labels to a contact. Note that this API would overwrite the existing list of labels associated to the conversation.

View File

@@ -16,7 +16,7 @@ get:
content:
application/json:
schema:
$ref: '#/components/schemas/contact_list'
$ref: '#/components/schemas/contacts_list_response'
'400':
description: Bad Request Error
content:

View File

@@ -21,10 +21,7 @@ get:
content:
application/json:
schema:
type: object
properties:
payload:
$ref: '#/components/schemas/contact_list'
$ref: '#/components/schemas/contacts_list_response'
'401':
description: Authentication error
content: