Spaces:
Runtime error
Runtime error
| openapi: 3.0.0 | |
| info: | |
| title: Express API Documentation | |
| version: 1.0.0 | |
| description: This is the API documentation for my Express application. | |
| servers: | |
| - url: https://934a-45-119-30-178.ngrok-free.app | |
| paths: | |
| /_healthz: | |
| get: | |
| operationId: getHealthZ | |
| description: Check server health | |
| responses: | |
| '200': | |
| description: Server is healthy | |
| content: | |
| text/plain: | |
| schema: | |
| type: string | |
| example: Hello World! | |
| /company/{companyId}: | |
| get: | |
| operationId: getOrVerifyCompanyCredentials | |
| description: Retrieve company credentials | |
| tags: | |
| - Company | |
| parameters: | |
| - in: path | |
| name: companyId | |
| required: true | |
| schema: | |
| type: string | |
| description: The company ID | |
| responses: | |
| '200': | |
| description: Company credentials retrieved successfully | |
| content: | |
| application/json: | |
| schema: | |
| $ref: '#/components/schemas/CompanyCreds' | |
| '404': | |
| description: Company credentials not found | |
| content: | |
| application/json: | |
| schema: | |
| $ref: '#/components/schemas/ErrorResponse' | |
| put: | |
| operationId: updateCompanyCredentials | |
| description: Update company credentials | |
| tags: | |
| - Company | |
| parameters: | |
| - in: path | |
| name: companyId | |
| required: true | |
| schema: | |
| type: string | |
| description: The company ID | |
| requestBody: | |
| required: true | |
| content: | |
| application/json: | |
| schema: | |
| $ref: '#/components/schemas/CompanyCreds' | |
| responses: | |
| '200': | |
| description: Company credentials updated successfully | |
| content: | |
| application/json: | |
| schema: | |
| type: object | |
| properties: | |
| message: | |
| type: string | |
| '400': | |
| description: Invalid input | |
| content: | |
| application/json: | |
| schema: | |
| $ref: '#/components/schemas/ErrorResponse' | |
| /company/{companyId}/applications: | |
| get: | |
| operationId: getSalesChannelByCompany | |
| description: Retrieve applications for a specific company | |
| tags: | |
| - Company | |
| parameters: | |
| - in: path | |
| name: companyId | |
| required: true | |
| schema: | |
| type: string | |
| description: The ID of the company to retrieve applications for | |
| responses: | |
| '200': | |
| description: List of applications for the specified company | |
| content: | |
| application/json: | |
| schema: | |
| type: array | |
| items: | |
| type: object | |
| properties: | |
| name: | |
| type: string | |
| description: Name of the application | |
| id: | |
| type: string | |
| description: ID of the application | |
| token: | |
| type: string | |
| description: Token associated with the application | |
| domain: | |
| type: string | |
| description: Primary domain of the application | |
| logo: | |
| type: string | |
| description: Logo URL of the application | |
| '500': | |
| description: Server error | |
| content: | |
| application/json: | |
| schema: | |
| $ref: '#/components/schemas/ErrorResponse' | |
| /company/{companyId}/brands: | |
| get: | |
| summary: Retrieves a list of brands for a specific company | |
| tags: | |
| - Brands | |
| operationId: getCompanyBrands | |
| description: Fetches a list of brands associated with the given company ID. | |
| parameters: | |
| - in: path | |
| name: companyId | |
| required: true | |
| schema: | |
| type: string | |
| description: The unique identifier of the company | |
| responses: | |
| '200': | |
| description: A list of brands | |
| content: | |
| application/json: | |
| schema: | |
| type: array | |
| items: | |
| $ref: '#/components/schemas/Brand' | |
| post: | |
| summary: Creates a new brand for a specific company | |
| tags: | |
| - Brands | |
| operationId: createCompanyBrand | |
| description: Adds a new brand to the company profile. | |
| parameters: | |
| - in: path | |
| name: companyId | |
| required: true | |
| schema: | |
| type: string | |
| description: The unique identifier of the company | |
| requestBody: | |
| required: true | |
| content: | |
| application/json: | |
| schema: | |
| $ref: '#/components/schemas/BrandCreation' | |
| responses: | |
| '200': | |
| description: Brand created successfully | |
| content: | |
| application/json: | |
| schema: | |
| type: object | |
| properties: | |
| message: | |
| type: string | |
| id: | |
| type: string | |
| /company/{companyId}/brands/{brandId}: | |
| put: | |
| summary: Creates a new brand for a specific company | |
| tags: | |
| - Brands | |
| operationId: updateCompanyBrand | |
| description: updated an existing brand. | |
| parameters: | |
| - in: path | |
| name: companyId | |
| required: true | |
| schema: | |
| type: string | |
| description: The unique identifier of the company | |
| - in: path | |
| name: brandId | |
| required: true | |
| schema: | |
| type: number | |
| description: The unique identifier of the brand | |
| requestBody: | |
| required: true | |
| content: | |
| application/json: | |
| schema: | |
| $ref: '#/components/schemas/BrandCreation' | |
| responses: | |
| '200': | |
| description: Brand updated successfully | |
| content: | |
| application/json: | |
| schema: | |
| type: object | |
| properties: | |
| message: | |
| type: string | |
| id: | |
| type: string | |
| /company/{companyId}/locations: | |
| get: | |
| operationId: getLocationsByCompany | |
| description: get all company locations | |
| tags: | |
| - Company | |
| parameters: | |
| - in: path | |
| name: companyId | |
| required: true | |
| schema: | |
| type: string | |
| description: The ID of the company to add a location for | |
| responses: | |
| '200': | |
| description: location list | |
| content: | |
| application/json: | |
| schema: | |
| type: array | |
| items: | |
| properties: | |
| id: | |
| type: number | |
| description: Location id | |
| code: | |
| type: string | |
| description: Location code | |
| name: | |
| type: string | |
| description: Location code | |
| documents: | |
| type: array | |
| description: Location gst documents | |
| items: | |
| type: object | |
| properties: | |
| type: | |
| type: string | |
| description: document type | |
| value: | |
| type: string | |
| description: document number | |
| verified: | |
| type: boolean | |
| description: document number verification status | |
| legal_name: | |
| type: boolean | |
| description: document owner | |
| '400': | |
| description: Invalid input | |
| content: | |
| application/json: | |
| schema: | |
| $ref: '#/components/schemas/ErrorResponse' | |
| post: | |
| operationId: createLocationsForCompany | |
| description: Add a new location for a specific company | |
| tags: | |
| - Company | |
| parameters: | |
| - in: path | |
| name: companyId | |
| required: true | |
| schema: | |
| type: string | |
| description: The ID of the company to add a location for | |
| requestBody: | |
| required: true | |
| content: | |
| application/json: | |
| schema: | |
| $ref: '#/components/schemas/CreateUpdateLocation' | |
| responses: | |
| '200': | |
| description: Location created successfully | |
| content: | |
| application/json: | |
| schema: | |
| type: object | |
| properties: | |
| message: | |
| type: string | |
| id: | |
| type: string | |
| description: Location id | |
| '400': | |
| description: Invalid input | |
| content: | |
| application/json: | |
| schema: | |
| $ref: '#/components/schemas/ErrorResponse' | |
| /company/{companyId}/locations/{locationId}: | |
| put: | |
| operationId: updateLocationByCompany | |
| description: update a location for a specific company | |
| tags: | |
| - Company | |
| parameters: | |
| - in: path | |
| name: companyId | |
| required: true | |
| schema: | |
| type: string | |
| description: The ID of the company to add a location for | |
| - in: path | |
| name: locationId | |
| required: true | |
| schema: | |
| type: string | |
| description: The ID of the location to be updated | |
| requestBody: | |
| required: true | |
| content: | |
| application/json: | |
| schema: | |
| $ref: '#/components/schemas/CreateUpdateLocation' | |
| responses: | |
| '200': | |
| description: Location updated successfully | |
| content: | |
| application/json: | |
| schema: | |
| type: object | |
| properties: | |
| message: | |
| type: string | |
| id: | |
| type: string | |
| description: Location id | |
| '400': | |
| description: Invalid input | |
| content: | |
| application/json: | |
| schema: | |
| $ref: '#/components/schemas/ErrorResponse' | |
| /company/{companyId}/products: | |
| post: | |
| summary: Creates a new product for a given company. | |
| description: >- | |
| This endpoint creates a new product with various attributes including | |
| name, slug, pricing, and more. | |
| operationId: createProduct | |
| tags: | |
| - Products | |
| parameters: | |
| - in: path | |
| name: companyId | |
| required: true | |
| schema: | |
| type: string | |
| description: Unique identifier of the company. | |
| requestBody: | |
| required: true | |
| content: | |
| application/json: | |
| schema: | |
| type: object | |
| required: | |
| - name | |
| - slug | |
| - seller_identifier | |
| - brand_id | |
| properties: | |
| name: | |
| type: string | |
| description: Name of the product. | |
| slug: | |
| type: string | |
| description: URL-friendly identifier for the product. | |
| seller_identifier: | |
| type: string | |
| description: Unique identifier for the seller. | |
| brand_id: | |
| type: string | |
| description: Unique identifier for the brand. | |
| location_id: | |
| type: string | |
| description: Location identifier for the product. | |
| mrp: | |
| type: number | |
| default: 999 | |
| description: Maximum retail price of the product. | |
| selling_price: | |
| type: number | |
| default: 499 | |
| description: Selling price of the product. | |
| responses: | |
| '200': | |
| description: Successful creation of the product. | |
| content: | |
| application/json: | |
| schema: | |
| type: object | |
| properties: | |
| message: | |
| type: string | |
| id: | |
| type: string | |
| seller_identifier: | |
| type: string | |
| /company/{companyId}/products/{productId}/inventory: | |
| post: | |
| summary: Updates inventory for a specific product. | |
| description: >- | |
| This endpoint updates the inventory details for a given product, | |
| including location, pricing, and quantity. | |
| operationId: updateInventory | |
| tags: | |
| - Inventory | |
| parameters: | |
| - in: path | |
| name: companyId | |
| required: true | |
| schema: | |
| type: string | |
| description: Unique identifier of the company. | |
| - in: path | |
| name: productId | |
| required: true | |
| schema: | |
| type: string | |
| description: Unique identifier of the product. | |
| requestBody: | |
| required: true | |
| content: | |
| application/json: | |
| schema: | |
| type: object | |
| required: | |
| - location_id | |
| - seller_identifier | |
| properties: | |
| location_id: | |
| type: string | |
| description: Location identifier where the inventory is stored. | |
| mrp: | |
| type: number | |
| default: 999 | |
| description: Maximum retail price of the product. | |
| selling_price: | |
| type: number | |
| default: 499 | |
| description: Selling price of the product. | |
| seller_identifier: | |
| type: string | |
| description: Unique identifier for the seller. | |
| responses: | |
| '200': | |
| description: Successful update of inventory. | |
| content: | |
| application/json: | |
| schema: | |
| type: object | |
| properties: | |
| message: | |
| type: string | |
| /company/{companyId}/sales_channel: | |
| post: | |
| operationId: addSalesChannel | |
| summary: Create a sales channel for a given company | |
| description: This endpoint creates a new sales channel for the specified company. | |
| tags: | |
| - Sales Channel | |
| parameters: | |
| - in: path | |
| name: companyId | |
| required: true | |
| schema: | |
| type: string | |
| description: The ID of the company | |
| requestBody: | |
| required: true | |
| content: | |
| application/json: | |
| schema: | |
| type: object | |
| properties: | |
| brand_ids: | |
| type: array | |
| items: | |
| type: integer | |
| description: Array of brand IDs to be associated with the sales channel | |
| name: | |
| type: string | |
| description: Name of the sales channel | |
| subdomain: | |
| type: string | |
| description: subdomain associated with the sales channel | |
| responses: | |
| '200': | |
| description: Sales channel successfully created | |
| content: | |
| application/json: | |
| schema: | |
| type: object | |
| properties: | |
| message: | |
| type: string | |
| app: | |
| type: object | |
| description: Details of the created sales channel | |
| '400': | |
| description: Bad request | |
| '500': | |
| description: Internal server error | |
| components: | |
| schemas: | |
| CompanyCreds: | |
| type: object | |
| properties: | |
| clientId: | |
| type: string | |
| description: Client ID for the company | |
| clientSecret: | |
| type: string | |
| description: Client secret for the company | |
| required: | |
| - clientId | |
| - clientSecret | |
| CreateUpdateLocation: | |
| type: object | |
| required: | |
| - code | |
| - name | |
| - gst | |
| - manager | |
| - address | |
| properties: | |
| code: | |
| type: string | |
| description: Unique code for the location | |
| name: | |
| type: string | |
| description: Name of the location | |
| gst: | |
| type: object | |
| required: | |
| - legal_name | |
| - value | |
| properties: | |
| legal_name: | |
| type: string | |
| description: Legal name for GST purposes | |
| value: | |
| type: string | |
| description: GST value | |
| manager: | |
| type: object | |
| required: | |
| - manager_name | |
| - number | |
| - country_code | |
| properties: | |
| manager_name: | |
| type: string | |
| description: Name of the manager | |
| email: | |
| type: string | |
| description: Email of the manager | |
| number: | |
| type: string | |
| description: Contact number of the manager | |
| country_code: | |
| type: string | |
| description: Country code for the manager's contact number | |
| address: | |
| type: object | |
| required: | |
| - address1 | |
| - country | |
| - pincode | |
| - city | |
| - state | |
| properties: | |
| address1: | |
| type: string | |
| description: Primary address line | |
| address2: | |
| type: string | |
| description: Secondary address line | |
| country: | |
| type: string | |
| description: Country of the location | |
| pincode: | |
| type: string | |
| description: Postal code of the location | |
| city: | |
| type: string | |
| description: City of the location | |
| state: | |
| type: string | |
| description: State of the location | |
| latitude: | |
| type: number | |
| description: Latitude for the location | |
| longitude: | |
| type: number | |
| description: Longitude for the location | |
| landmark: | |
| type: string | |
| description: Landmark near the location | |
| Brand: | |
| type: object | |
| properties: | |
| name: | |
| type: string | |
| logo: | |
| type: string | |
| id: | |
| type: string | |
| BrandCreation: | |
| type: object | |
| required: | |
| - name | |
| - logo | |
| - description | |
| properties: | |
| name: | |
| type: string | |
| logo: | |
| type: string | |
| description: | |
| type: string | |
| ErrorResponse: | |
| type: object | |
| properties: | |
| message: | |
| type: string | |
| description: Error message | |
| tags: [] | |