openapi: 3.0.3
info:
  title: Ersaal
  description: ''
  version: 1.0.0
servers:
  -
    url: 'https://sms.lamah.com'
tags:
  -
    name: 'Contact Us'
    description: ''
  -
    name: Endpoints
    description: ''
  -
    name: OTP
    description: ''
  -
    name: Plan
    description: ''
  -
    name: Project
    description: ''
  -
    name: SMS
    description: ''
components:
  securitySchemes:
    default:
      type: http
      scheme: bearer
      description: "You can retrieve your token by following these steps:\n    <ul>\n        <li>Visit your dashboard and navigate to the <b>Projects</b> section.</li>\n        <li>Create a new project or select an existing one.</li>\n        <li>Locate and copy the <b>API token</b> provided in the project details.</li>\n    </ul>"
security:
  -
    default: []
paths:
  /api/contact-us:
    post:
      summary: ''
      operationId: postApiContactUs
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            text/plain:
              schema:
                type: string
                example: 'json {"message": "string"}'
      tags:
        - 'Contact Us'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: required
                  description: string
                  example: hic
                phone:
                  type: required
                  description: string
                  example: ut
                subject:
                  type: required
                  description: string
                  example: aut
                email:
                  type: required
                  description: string
                  example: dion32@example.org
                message:
                  type: required
                  description: string
                  example: voluptatem
  /api/faq:
    get:
      summary: ''
      operationId: getApiFaq
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      question: 'كيف يمكنني الاشتراك؟'
                      answer: "للاشتراك في الخدمة، قم بزيارة موقع  وانقر على زر 'التسجيل'. املأ نموذج التسجيل بتفاصيلك، واختر خطة الاشتراك التي تناسب احتياجاتك، وأكمل عملية الدفع. بمجرد الانتهاء، ستتلقى رسالة تأكيد عبر البريد الإلكتروني للبدء!"
                properties:
                  data:
                    type: array
                    example:
                      -
                        question: 'كيف يمكنني الاشتراك؟'
                        answer: "للاشتراك في الخدمة، قم بزيارة موقع  وانقر على زر 'التسجيل'. املأ نموذج التسجيل بتفاصيلك، واختر خطة الاشتراك التي تناسب احتياجاتك، وأكمل عملية الدفع. بمجرد الانتهاء، ستتلقى رسالة تأكيد عبر البريد الإلكتروني للبدء!"
                    items:
                      type: object
                      properties:
                        question:
                          type: string
                          example: 'كيف يمكنني الاشتراك؟'
                        answer:
                          type: string
                          example: "للاشتراك في الخدمة، قم بزيارة موقع  وانقر على زر 'التسجيل'. املأ نموذج التسجيل بتفاصيلك، واختر خطة الاشتراك التي تناسب احتياجاتك، وأكمل عملية الدفع. بمجرد الانتهاء، ستتلقى رسالة تأكيد عبر البريد الإلكتروني للبدء!"
      tags:
        - Endpoints
  /api/cities:
    get:
      summary: ''
      operationId: getApiCities
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      name: مصراتة
                      description: null
                    -
                      name: طرابلس
                      description: null
                    -
                      name: الزنتان
                      description: null
                    -
                      name: الزاوية
                      description: null
                    -
                      name: الخمس
                      description: null
                    -
                      name: زوارة
                      description: null
                    -
                      name: ترهونة
                      description: null
                    -
                      name: العزيزية
                      description: null
                    -
                      name: غريان
                      description: null
                    -
                      name: بنغازي
                      description: null
                    -
                      name: البيضاء
                      description: null
                    -
                      name: درنة
                      description: null
                    -
                      name: طبرق
                      description: null
                    -
                      name: اجدابيا
                      description: null
                    -
                      name: المرج
                      description: null
                    -
                      name: شحات
                      description: null
                    -
                      name: سرت
                      description: null
                    -
                      name: سبها
                      description: null
                    -
                      name: مرزق
                      description: null
                    -
                      name: أوباري
                      description: null
                    -
                      name: غات
                      description: null
                    -
                      name: 'براك الشاطئ'
                      description: null
                    -
                      name: القطرون
                      description: null
                    -
                      name: نالوت
                      description: null
                properties:
                  data:
                    type: array
                    example:
                      -
                        name: مصراتة
                        description: null
                      -
                        name: طرابلس
                        description: null
                      -
                        name: الزنتان
                        description: null
                      -
                        name: الزاوية
                        description: null
                      -
                        name: الخمس
                        description: null
                      -
                        name: زوارة
                        description: null
                      -
                        name: ترهونة
                        description: null
                      -
                        name: العزيزية
                        description: null
                      -
                        name: غريان
                        description: null
                      -
                        name: بنغازي
                        description: null
                      -
                        name: البيضاء
                        description: null
                      -
                        name: درنة
                        description: null
                      -
                        name: طبرق
                        description: null
                      -
                        name: اجدابيا
                        description: null
                      -
                        name: المرج
                        description: null
                      -
                        name: شحات
                        description: null
                      -
                        name: سرت
                        description: null
                      -
                        name: سبها
                        description: null
                      -
                        name: مرزق
                        description: null
                      -
                        name: أوباري
                        description: null
                      -
                        name: غات
                        description: null
                      -
                        name: 'براك الشاطئ'
                        description: null
                      -
                        name: القطرون
                        description: null
                      -
                        name: نالوت
                        description: null
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                          example: مصراتة
                        description:
                          type: string
                          example: null
      tags:
        - Endpoints
  /api/otp/initiate:
    post:
      summary: ''
      operationId: postApiOtpInitiate
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            text/plain:
              schema:
                type: string
                example: 'json {"request_id": "string", "cost": int}'
      tags:
        - OTP
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                lang:
                  type: required
                  description: 'string [ar, en]'
                  example: eligendi
                length:
                  type: required
                  description: 'int [4, 6]'
                  example: in
                expiration:
                  type: required
                  description: 'int between 1 and 10 minutes'
                  example: rerum
                sender:
                  type: required
                  description: string
                  example: repellat
                payment_type:
                  type: required
                  description: 'string [wallet, subscription]'
                  example: quibusdam
                receiver:
                  type: required
                  description: 'phone number'
                  example: amet
  /api/otp/verify:
    post:
      summary: ''
      operationId: postApiOtpVerify
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            text/plain:
              schema:
                type: string
                example: 'json {"message": "string"}'
      tags:
        - OTP
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                request_id:
                  type: required
                  description: string
                  example: iste
                code:
                  type: required
                  description: string
                  example: nihil
  /api/plans:
    get:
      summary: ''
      operationId: getApiPlans
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            text/plain:
              schema:
                type: string
                example: json
      tags:
        - Plan
      security: []
  /api/project/details:
    get:
      summary: ''
      operationId: getApiProjectDetails
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            text/plain:
              schema:
                type: string
                example: json
      tags:
        - Project
  /api/project/balance:
    get:
      summary: ''
      operationId: getApiProjectBalance
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            text/plain:
              schema:
                type: string
                example: json
      tags:
        - Project
  '/api/project/contacts/{group_id}':
    get:
      summary: ''
      operationId: getApiProjectContactsGroup_id
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            text/plain:
              schema:
                type: string
                example: json
      tags:
        - Project
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                page:
                  type: integer
                  description: nullable
                  example: 14
                  nullable: true
                per_page:
                  type: integer
                  description: nullable
                  example: 18
                  nullable: true
                from:
                  type: date
                  description: nullable
                  example: sed
                  nullable: true
                to:
                  type: date
                  description: nullable
                  example: enim
                  nullable: true
                group_id:
                  type: string
                  description: validation.uuid.
                  example: e8ff83c4-e405-3c7f-96da-98a781a22d8c
                  nullable: true
    parameters:
      -
        in: path
        name: group_id
        description: 'The ID of the group.'
        example: minus
        required: true
        schema:
          type: string
  /api/project/consumptions:
    get:
      summary: ''
      operationId: getApiProjectConsumptions
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            text/plain:
              schema:
                type: string
                example: json
      tags:
        - Project
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                page:
                  type: integer
                  description: nullable
                  example: 3
                  nullable: true
                per_page:
                  type: integer
                  description: nullable
                  example: 14
                  nullable: true
                from:
                  type: date
                  description: nullable
                  example: sapiente
                  nullable: true
                to:
                  type: date
                  description: nullable
                  example: et
                  nullable: true
  /api/sms/messages:
    post:
      summary: ''
      operationId: postApiSmsMessages
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            text/plain:
              schema:
                type: string
                example: json
      tags:
        - SMS
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                message:
                  type: required
                  description: string
                  example: qui
                sender:
                  type: required
                  description: string
                  example: excepturi
                payment_type:
                  type: required
                  description: 'string [wallet, subscription]'
                  example: nihil
                receiver:
                  type: required
                  description: 'phone number'
                  example: quaerat
    get:
      summary: ''
      operationId: getApiSmsMessages
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            text/plain:
              schema:
                type: string
                example: json
      tags:
        - SMS
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                page:
                  type: integer
                  description: nullable
                  example: 12
                  nullable: true
                per_page:
                  type: integer
                  description: nullable
                  example: 10
                  nullable: true
                from:
                  type: date
                  description: nullable
                  example: aut
                  nullable: true
                to:
                  type: date
                  description: nullable
                  example: est
                  nullable: true
  /api/sms/messages/bulk:
    post:
      summary: ''
      operationId: postApiSmsMessagesBulk
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            text/plain:
              schema:
                type: string
                example: json
      tags:
        - SMS
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                message:
                  type: required
                  description: string
                  example: ea
                sender:
                  type: required
                  description: string
                  example: dolores
                payment_type:
                  type: required
                  description: 'string [wallet, subscription]'
                  example: doloribus
                receivers:
                  type: array
                  description: 'of phone numbers required'
                  example:
                    - molestiae
                  items:
                    type: string
  /api/sms/messages/template:
    post:
      summary: ''
      operationId: postApiSmsMessagesTemplate
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            text/plain:
              schema:
                type: string
                example: json
      tags:
        - SMS
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                template_name:
                  type: string
                  description: ''
                  example: ea
                sender:
                  type: required
                  description: string
                  example: velit
                payment_type:
                  type: required
                  description: 'string [wallet, subscription]'
                  example: odit
                receiver:
                  type: required
                  description: 'phone number'
                  example: dolore
                params:
                  type: array
                  description: ''
                  example:
                    - deserunt
                  items:
                    type: string
                template_id:
                  type: required
                  description: string
                  example: fuga
              required:
                - template_name
                - params
  /api/sms/messages/contacts:
    post:
      summary: ''
      operationId: postApiSmsMessagesContacts
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            text/plain:
              schema:
                type: string
                example: json
      tags:
        - SMS
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                message:
                  type: required
                  description: string
                  example: omnis
                sender:
                  type: required
                  description: string
                  example: inventore
                payment_type:
                  type: required
                  description: 'string [wallet, subscription]'
                  example: impedit
                contact_group_id:
                  type: required
                  description: 'string uuid'
                  example: natus
  '/api/sms/messages/{message_id}':
    get:
      summary: ''
      operationId: getApiSmsMessagesMessage_id
      description: ''
      parameters:
        -
          in: query
          name: message_id
          description: uuid
          example: atque
          required: true
          schema:
            type: string
            description: uuid
            example: atque
      responses:
        200:
          description: ''
          content:
            text/plain:
              schema:
                type: string
                example: json
      tags:
        - SMS
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                message_id:
                  type: string
                  description: validation.uuid.
                  example: aa817e18-89a3-37a0-9ff8-69f166a24984
              required:
                - message_id
    parameters:
      -
        in: path
        name: message_id
        description: 'The ID of the message.'
        example: optio
        required: true
        schema:
          type: string
