{
  "openapi": "3.0.1",
  "info": {
    "title": "Com.Api | v1",
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "https://api.com.seed.tr/"
    }
  ],
  "paths": {
    "/swagger": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/swagger/index.html": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/guide": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/guide/api": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/guide/groups": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/groups": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/health/live": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/otp/test": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "parameters": [
          {
            "name": "projectSlug",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "send",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Com.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OtpTestBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/diag/sync-tokens": {
      "post": {
        "tags": [
          "Com.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "get": {
        "tags": [
          "Com.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/health/monitor": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/health/stats": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/health/docs": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/health": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/auth/methods": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/auth/password": {
      "post": {
        "tags": [
          "Com.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PasswordLoginRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/auth/passwordless": {
      "post": {
        "tags": [
          "Com.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PasswordlessRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/auth/otp/request": {
      "post": {
        "tags": [
          "Com.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OtpRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/auth/otp/verify": {
      "post": {
        "tags": [
          "Com.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OtpVerify"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/auth/logout": {
      "post": {
        "tags": [
          "Com.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/me": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "patch": {
        "tags": [
          "Com.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProfileBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/me/phone": {
      "patch": {
        "tags": [
          "Com.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PhoneBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/settings/routing": {
      "patch": {
        "tags": [
          "Com.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RoutingBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/balance": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/credits/overview": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/credits/purchases": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/credits/quote": {
      "post": {
        "tags": [
          "Com.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreditQuoteBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/credits/purchase": {
      "post": {
        "tags": [
          "Com.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreditPurchaseBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/messages": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/messages/{id}": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/wapi/send": {
      "post": {
        "tags": [
          "Com.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SendBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/wapi/groups": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/mapi/send": {
      "post": {
        "tags": [
          "Com.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SendBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/sapi/send": {
      "post": {
        "tags": [
          "Com.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SendBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/dispatch": {
      "post": {
        "tags": [
          "Com.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DispatchBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/dispatch/logs": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "parameters": [
          {
            "name": "take",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/admin/projects": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Com.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProjectBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/admin/projects/{id}/credits": {
      "post": {
        "tags": [
          "Com.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreditBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/admin/projects/{id}/credits/reclaim": {
      "post": {
        "tags": [
          "Com.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreditBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/admin/projects/credits/reset-all": {
      "post": {
        "tags": [
          "Com.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/admin/projects/{id}": {
      "patch": {
        "tags": [
          "Com.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProjectRoutingBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/admin/projects/{id}/token": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/admin/projects/ensure-catalog": {
      "post": {
        "tags": [
          "Com.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/contacts": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Com.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContactBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/contacts/{id}": {
      "patch": {
        "tags": [
          "Com.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContactBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/contacts/{id}/block": {
      "post": {
        "tags": [
          "Com.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContactBlockBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/contacts/merge": {
      "post": {
        "tags": [
          "Com.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContactMergeBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/contacts/dedupe": {
      "post": {
        "tags": [
          "Com.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/unsubscribes": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/unsubscribes/{id}/resubscribe": {
      "post": {
        "tags": [
          "Com.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResubscribeBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/unsubscribe": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "parameters": [
          {
            "name": "t",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "c",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Com.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UnsubscribeBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/scheduled": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Com.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ScheduledSendBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/contacts/groups": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/campaigns/send": {
      "post": {
        "tags": [
          "Com.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CampaignBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/providers/catalog": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/providers/settings": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/providers": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Com.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProviderCreateBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/providers/{id}": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "patch": {
        "tags": [
          "Com.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProviderCreateBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "Com.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/providers/{id}/test": {
      "post": {
        "tags": [
          "Com.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProviderTestBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/providers/{id}/default": {
      "post": {
        "tags": [
          "Com.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/providers/whatsapp/qr/start": {
      "post": {
        "tags": [
          "Com.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WhatsAppQrStartBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/providers/whatsapp/qr/{id}/status": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/providers/whatsapp/qr/{id}/logout": {
      "post": {
        "tags": [
          "Com.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/providers/whatsapp/logs": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "parameters": [
          {
            "name": "sessionId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "afterId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/providers/whatsapp/groups": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/admin/platform-providers/whatsapp/logs": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "parameters": [
          {
            "name": "sessionId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "afterId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/admin/platform-providers/whatsapp/groups": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/admin/platform-providers": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Com.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProviderCreateBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/admin/platform-providers/{id}": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "patch": {
        "tags": [
          "Com.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProviderCreateBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "Com.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/admin/platform-providers/{id}/test": {
      "post": {
        "tags": [
          "Com.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProviderTestBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/admin/platform-providers/{id}/default": {
      "post": {
        "tags": [
          "Com.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/admin/platform-providers/whatsapp/qr/start": {
      "post": {
        "tags": [
          "Com.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WhatsAppQrStartBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/admin/platform-providers/whatsapp/qr/{id}/status": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/developers/api-keys": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Com.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiKeyBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/developers/api-keys/{id}": {
      "delete": {
        "tags": [
          "Com.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/developers/examples": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/developers/examples/bundle": {
      "post": {
        "tags": [
          "Com.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DistributionBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/usage": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/audit": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/otp-codes": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "schema": {
              "type": "string",
              "default": null
            }
          },
          {
            "name": "project",
            "in": "query",
            "schema": {
              "type": "string",
              "default": null
            }
          },
          {
            "name": "channel",
            "in": "query",
            "schema": {
              "type": "string",
              "default": null
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 25
            }
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string",
              "default": null
            }
          },
          {
            "name": "dir",
            "in": "query",
            "schema": {
              "type": "string",
              "default": null
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/otp/send": {
      "post": {
        "tags": [
          "Com.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OtpSendBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/members": {
      "get": {
        "tags": [
          "Com.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Com.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MemberBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/members/{id}": {
      "patch": {
        "tags": [
          "Com.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MemberBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "Com.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ApiKeyBody": {
        "required": [
          "name",
          "environment"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "environment": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "CampaignBody": {
        "required": [
          "channel",
          "groupId",
          "content"
        ],
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "nullable": true
          },
          "groupId": {
            "type": "string",
            "nullable": true
          },
          "content": {
            "type": "string"
          }
        }
      },
      "ContactBlockBody": {
        "required": [
          "blocked"
        ],
        "type": "object",
        "properties": {
          "blocked": {
            "type": "boolean",
            "nullable": true
          }
        }
      },
      "ContactBody": {
        "required": [
          "name",
          "email",
          "phone"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          },
          "wantsEmail": {
            "type": "boolean",
            "default": null,
            "nullable": true
          },
          "wantsSms": {
            "type": "boolean",
            "default": null,
            "nullable": true
          },
          "wantsWhatsApp": {
            "type": "boolean",
            "default": null,
            "nullable": true
          },
          "emails": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "default": null,
            "nullable": true
          },
          "phones": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "default": null,
            "nullable": true
          },
          "isBlocked": {
            "type": "boolean",
            "default": null,
            "nullable": true
          }
        }
      },
      "ContactMergeBody": {
        "required": [
          "keepId",
          "mergeIds"
        ],
        "type": "object",
        "properties": {
          "keepId": {
            "type": "string",
            "nullable": true
          },
          "mergeIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        }
      },
      "CreditBody": {
        "required": [
          "amount"
        ],
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "CreditPurchaseBody": {
        "required": [
          "amount",
          "cardNumber",
          "cardHolder",
          "expiryMonth",
          "expiryYear",
          "cvv"
        ],
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "double"
          },
          "cardNumber": {
            "type": "string",
            "nullable": true
          },
          "cardHolder": {
            "type": "string",
            "nullable": true
          },
          "expiryMonth": {
            "type": "string",
            "nullable": true
          },
          "expiryYear": {
            "type": "string",
            "nullable": true
          },
          "cvv": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "CreditQuoteBody": {
        "required": [
          "amount"
        ],
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "DispatchBody": {
        "required": [
          "to",
          "message",
          "content",
          "subject",
          "html",
          "text",
          "channel",
          "channels",
          "sendAt",
          "token",
          "clientReference"
        ],
        "type": "object",
        "properties": {
          "to": {
            "type": "string",
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "content": {
            "type": "string",
            "nullable": true
          },
          "subject": {
            "type": "string",
            "nullable": true
          },
          "html": {
            "type": "string",
            "nullable": true
          },
          "text": {
            "type": "string",
            "nullable": true
          },
          "channel": {
            "type": "string",
            "nullable": true
          },
          "channels": {
            "type": "string",
            "nullable": true
          },
          "sendAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "token": {
            "type": "string",
            "nullable": true
          },
          "clientReference": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "DistributionBody": {
        "required": [
          "name",
          "environment"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "environment": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "MemberBody": {
        "required": [
          "name",
          "email",
          "phone",
          "role"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          },
          "role": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "OtpRequest": {
        "required": [
          "channel",
          "identifier"
        ],
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "nullable": true
          },
          "identifier": {
            "type": "string"
          }
        }
      },
      "OtpSendBody": {
        "required": [
          "to",
          "phone",
          "email",
          "code",
          "channel",
          "message",
          "subject",
          "clientReference"
        ],
        "type": "object",
        "properties": {
          "to": {
            "type": "string",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "code": {
            "type": "string",
            "nullable": true
          },
          "channel": {
            "type": "string",
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "subject": {
            "type": "string",
            "nullable": true
          },
          "clientReference": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "OtpTestBody": {
        "required": [
          "projectSlug",
          "channel",
          "to",
          "code",
          "send"
        ],
        "type": "object",
        "properties": {
          "projectSlug": {
            "type": "string",
            "nullable": true
          },
          "channel": {
            "type": "string",
            "nullable": true
          },
          "to": {
            "type": "string",
            "nullable": true
          },
          "code": {
            "type": "string",
            "nullable": true
          },
          "send": {
            "type": "boolean",
            "nullable": true
          }
        }
      },
      "OtpVerify": {
        "required": [
          "challengeId",
          "code",
          "identifier"
        ],
        "type": "object",
        "properties": {
          "challengeId": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "identifier": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "PasswordlessRequest": {
        "required": [
          "identifier"
        ],
        "type": "object",
        "properties": {
          "identifier": {
            "type": "string"
          }
        }
      },
      "PasswordLoginRequest": {
        "required": [
          "email",
          "password"
        ],
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "nullable": true
          },
          "password": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "PhoneBody": {
        "required": [
          "phone"
        ],
        "type": "object",
        "properties": {
          "phone": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ProfileBody": {
        "required": [
          "name",
          "phone"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ProjectBody": {
        "required": [
          "name",
          "slug"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "credits": {
            "type": "number",
            "format": "double",
            "default": 0
          }
        }
      },
      "ProjectRoutingBody": {
        "required": [
          "providerRoutingMode",
          "whatsAppProviderId",
          "smsProviderId",
          "mailProviderId"
        ],
        "type": "object",
        "properties": {
          "providerRoutingMode": {
            "type": "string",
            "nullable": true
          },
          "whatsAppProviderId": {
            "type": "string",
            "nullable": true
          },
          "smsProviderId": {
            "type": "string",
            "nullable": true
          },
          "mailProviderId": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ProviderCreateBody": {
        "required": [
          "adapterKey",
          "name",
          "credentials"
        ],
        "type": "object",
        "properties": {
          "adapterKey": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "credentials": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true
          },
          "isDefault": {
            "type": "boolean",
            "default": false
          },
          "unitPriceTry": {
            "type": "number",
            "format": "double",
            "default": null,
            "nullable": true
          },
          "tenantUnitPriceTry": {
            "type": "number",
            "format": "double",
            "default": null,
            "nullable": true
          }
        }
      },
      "ProviderTestBody": {
        "required": [
          "to",
          "message",
          "text"
        ],
        "type": "object",
        "properties": {
          "to": {
            "type": "string",
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "text": {
            "type": "string",
            "nullable": true
          }
        },
        "nullable": true
      },
      "ResubscribeBody": {
        "required": [
          "channel"
        ],
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "nullable": true
          }
        },
        "nullable": true
      },
      "RoutingBody": {
        "required": [
          "channelRoutingMode",
          "fallbackToPlatform"
        ],
        "type": "object",
        "properties": {
          "channelRoutingMode": {
            "type": "string",
            "nullable": true
          },
          "fallbackToPlatform": {
            "type": "boolean",
            "nullable": true
          }
        }
      },
      "ScheduledSendBody": {
        "required": [
          "channel",
          "to",
          "message",
          "subject",
          "html",
          "from",
          "sender",
          "clientReference",
          "sendAt"
        ],
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "nullable": true
          },
          "to": {
            "type": "string",
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "subject": {
            "type": "string",
            "nullable": true
          },
          "html": {
            "type": "string",
            "nullable": true
          },
          "from": {
            "type": "string",
            "nullable": true
          },
          "sender": {
            "type": "string",
            "nullable": true
          },
          "clientReference": {
            "type": "string",
            "nullable": true
          },
          "sendAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        }
      },
      "SendBody": {
        "required": [
          "to",
          "message",
          "content",
          "subject",
          "html",
          "text",
          "from",
          "cc",
          "bcc",
          "replyTo",
          "sender",
          "providerId",
          "clientReference",
          "sendAt"
        ],
        "type": "object",
        "properties": {
          "to": {
            "type": "string",
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "content": {
            "type": "string",
            "nullable": true
          },
          "subject": {
            "type": "string",
            "nullable": true
          },
          "html": {
            "type": "string",
            "nullable": true
          },
          "text": {
            "type": "string",
            "nullable": true
          },
          "from": {
            "type": "string",
            "nullable": true
          },
          "cc": {
            "type": "string",
            "nullable": true
          },
          "bcc": {
            "type": "string",
            "nullable": true
          },
          "replyTo": {
            "type": "string",
            "nullable": true
          },
          "sender": {
            "type": "string",
            "nullable": true
          },
          "providerId": {
            "type": "string",
            "nullable": true
          },
          "clientReference": {
            "type": "string",
            "nullable": true
          },
          "sendAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        }
      },
      "UnsubscribeBody": {
        "required": [
          "token",
          "code"
        ],
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "nullable": true
          },
          "code": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "WhatsAppQrStartBody": {
        "required": [
          "name",
          "phone"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          }
        }
      }
    }
  },
  "tags": [
    {
      "name": "Com.Api"
    }
  ]
}