openapi: 3.0.3
info:
  title: addy.io
  description: ''
  version: 1.0.0
servers:
  -
    url: 'https://app.addy.io'
paths:
  /api/v1/api-token-details:
    get:
      summary: 'Get details about the current API token'
      operationId: getDetailsAboutTheCurrentAPIToken
      description: 'This endpoint retrieves details about the current API token.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  name: 'Firefox Extension'
                  created_at: '2019-10-01 09:00:00'
                  expires_at: null
                properties:
                  name:
                    type: string
                    example: 'Firefox Extension'
                  created_at:
                    type: string
                    example: '2019-10-01 09:00:00'
                  expires_at:
                    type: string
                    example: null
      tags:
        - 'API Token'
  /api/v1/account-details:
    get:
      summary: 'Get All Account Details'
      operationId: getAllAccountDetails
      description: 'This endpoint retrieves all account details.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      id: 50c9e585-e7f5-41c4-9016-9014c15454bc
                      username: johndoe
                      from_name: 'John Doe'
                      email_subject: 'Private Subject'
                      banner_location: 'off'
                      bandwidth: 10485760
                      username_count: 2
                      username_limit: 3
                      default_recipient_id: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
                      default_alias_domain: anonaddy.me
                      default_alias_format: random_words
                      subscription: pro
                      subscription_ends_at: null
                      bandwidth_limit: 0
                      recipient_count: 12
                      recipient_limit: 20
                      active_domain_count: 4
                      active_domain_limit: 10
                      active_shared_domain_alias_count: 50
                      active_shared_domain_alias_limit: 0
                      active_rule_count: 4
                      active_rule_limit: 5
                      total_emails_forwarded: 488
                      total_emails_blocked: 6
                      total_emails_replied: 95
                      total_emails_sent: 17
                      total_aliases: 529
                      total_active_aliases: 481
                      total_inactive_aliases: 19
                      total_deleted_aliases: 29
                      created_at: '2019-10-01 09:00:00'
                      updated_at: '2019-10-01 09:00:00'
                properties:
                  data:
                    type: array
                    example:
                      -
                        id: 50c9e585-e7f5-41c4-9016-9014c15454bc
                        username: johndoe
                        from_name: 'John Doe'
                        email_subject: 'Private Subject'
                        banner_location: 'off'
                        bandwidth: 10485760
                        username_count: 2
                        username_limit: 3
                        default_recipient_id: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
                        default_alias_domain: anonaddy.me
                        default_alias_format: random_words
                        subscription: pro
                        subscription_ends_at: null
                        bandwidth_limit: 0
                        recipient_count: 12
                        recipient_limit: 20
                        active_domain_count: 4
                        active_domain_limit: 10
                        active_shared_domain_alias_count: 50
                        active_shared_domain_alias_limit: 0
                        active_rule_count: 4
                        active_rule_limit: 5
                        total_emails_forwarded: 488
                        total_emails_blocked: 6
                        total_emails_replied: 95
                        total_emails_sent: 17
                        total_aliases: 529
                        total_active_aliases: 481
                        total_inactive_aliases: 19
                        total_deleted_aliases: 29
                        created_at: '2019-10-01 09:00:00'
                        updated_at: '2019-10-01 09:00:00'
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          example: 50c9e585-e7f5-41c4-9016-9014c15454bc
                        username:
                          type: string
                          example: johndoe
                        from_name:
                          type: string
                          example: 'John Doe'
                        email_subject:
                          type: string
                          example: 'Private Subject'
                        banner_location:
                          type: string
                          example: 'off'
                        bandwidth:
                          type: integer
                          example: 10485760
                        username_count:
                          type: integer
                          example: 2
                        username_limit:
                          type: integer
                          example: 3
                        default_recipient_id:
                          type: string
                          example: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
                        default_alias_domain:
                          type: string
                          example: anonaddy.me
                        default_alias_format:
                          type: string
                          example: random_words
                        subscription:
                          type: string
                          example: pro
                        subscription_ends_at:
                          type: string
                          example: null
                        bandwidth_limit:
                          type: integer
                          example: 0
                        recipient_count:
                          type: integer
                          example: 12
                        recipient_limit:
                          type: integer
                          example: 20
                        active_domain_count:
                          type: integer
                          example: 4
                        active_domain_limit:
                          type: integer
                          example: 10
                        active_shared_domain_alias_count:
                          type: integer
                          example: 50
                        active_shared_domain_alias_limit:
                          type: integer
                          example: 0
                        active_rule_count:
                          type: integer
                          example: 4
                        active_rule_limit:
                          type: integer
                          example: 5
                        total_emails_forwarded:
                          type: integer
                          example: 488
                        total_emails_blocked:
                          type: integer
                          example: 6
                        total_emails_replied:
                          type: integer
                          example: 95
                        total_emails_sent:
                          type: integer
                          example: 17
                        total_aliases:
                          type: integer
                          example: 529
                        total_active_aliases:
                          type: integer
                          example: 481
                        total_inactive_aliases:
                          type: integer
                          example: 19
                        total_deleted_aliases:
                          type: integer
                          example: 29
                        created_at:
                          type: string
                          example: '2019-10-01 09:00:00'
                        updated_at:
                          type: string
                          example: '2019-10-01 09:00:00'
      tags:
        - 'Account Details'
  /api/v1/aliases/get/bulk:
    post:
      summary: 'Bulk Get Specific Aliases'
      operationId: bulkGetSpecificAliases
      description: 'This endpoint gets specific aliases.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      id: 50c9e585-e7f5-41c4-9016-9014c15454bc
                      user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                      aliasable_id: null
                      aliasable_type: null
                      local_part: first
                      extension: null
                      domain: johndoe.anonaddy.com
                      email: first@johndoe.anonaddy.com
                      active: true
                      description: null
                      from_name: null
                      emails_forwarded: 5
                      emails_blocked: 0
                      emails_replied: 0
                      emails_sent: 0
                      recipients: []
                      last_forwarded: '2019-10-01 09:00:00'
                      last_blocked: null
                      last_replied: null
                      last_sent: null
                      created_at: '2019-10-01 09:00:00'
                      updated_at: '2019-10-01 09:00:00'
                      deleted_at: null
                    -
                      id: c549db7d-5fac-4b09-9443-9e47f644d29f
                      user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                      domain_id: null
                      local_part: second
                      extension: null
                      domain: johndoe.anonaddy.com
                      email: second@johndoe.anonaddy.com
                      active: true
                      description: null
                      from_name: null
                      emails_forwarded: 2
                      emails_blocked: 1
                      emails_replied: 0
                      emails_sent: 0
                      recipients: []
                      last_forwarded: '2019-10-01 09:00:00'
                      last_blocked: null
                      last_replied: null
                      last_sent: null
                      created_at: '2019-10-01 09:00:00'
                      updated_at: '2019-10-01 09:00:00'
                      deleted_at: null
                properties:
                  data:
                    type: array
                    example:
                      -
                        id: 50c9e585-e7f5-41c4-9016-9014c15454bc
                        user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                        aliasable_id: null
                        aliasable_type: null
                        local_part: first
                        extension: null
                        domain: johndoe.anonaddy.com
                        email: first@johndoe.anonaddy.com
                        active: true
                        description: null
                        from_name: null
                        emails_forwarded: 5
                        emails_blocked: 0
                        emails_replied: 0
                        emails_sent: 0
                        recipients: []
                        last_forwarded: '2019-10-01 09:00:00'
                        last_blocked: null
                        last_replied: null
                        last_sent: null
                        created_at: '2019-10-01 09:00:00'
                        updated_at: '2019-10-01 09:00:00'
                        deleted_at: null
                      -
                        id: c549db7d-5fac-4b09-9443-9e47f644d29f
                        user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                        domain_id: null
                        local_part: second
                        extension: null
                        domain: johndoe.anonaddy.com
                        email: second@johndoe.anonaddy.com
                        active: true
                        description: null
                        from_name: null
                        emails_forwarded: 2
                        emails_blocked: 1
                        emails_replied: 0
                        emails_sent: 0
                        recipients: []
                        last_forwarded: '2019-10-01 09:00:00'
                        last_blocked: null
                        last_replied: null
                        last_sent: null
                        created_at: '2019-10-01 09:00:00'
                        updated_at: '2019-10-01 09:00:00'
                        deleted_at: null
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          example: 50c9e585-e7f5-41c4-9016-9014c15454bc
                        user_id:
                          type: string
                          example: ca0a4e09-c266-4f6f-845c-958db5090f09
                        aliasable_id:
                          type: string
                          example: null
                        aliasable_type:
                          type: string
                          example: null
                        local_part:
                          type: string
                          example: first
                        extension:
                          type: string
                          example: null
                        domain:
                          type: string
                          example: johndoe.anonaddy.com
                        email:
                          type: string
                          example: first@johndoe.anonaddy.com
                        active:
                          type: boolean
                          example: true
                        description:
                          type: string
                          example: null
                        from_name:
                          type: string
                          example: null
                        emails_forwarded:
                          type: integer
                          example: 5
                        emails_blocked:
                          type: integer
                          example: 0
                        emails_replied:
                          type: integer
                          example: 0
                        emails_sent:
                          type: integer
                          example: 0
                        recipients:
                          type: array
                          example: []
                        last_forwarded:
                          type: string
                          example: '2019-10-01 09:00:00'
                        last_blocked:
                          type: string
                          example: null
                        last_replied:
                          type: string
                          example: null
                        last_sent:
                          type: string
                          example: null
                        created_at:
                          type: string
                          example: '2019-10-01 09:00:00'
                        updated_at:
                          type: string
                          example: '2019-10-01 09:00:00'
                        deleted_at:
                          type: string
                          example: null
      tags:
        - 'Alias Bulk Actions'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                ids:
                  type: array
                  description: 'An array of the alias ids (max 25)'
                  example:
                    - 50c9e585-e7f5-41c4-9016-9014c15454bc
                    - c549db7d-5fac-4b09-9443-9e47f644d29f
                  items:
                    type: string
              required:
                - ids
  /api/v1/aliases/activate/bulk:
    post:
      summary: 'Bulk Activate Specific Aliases'
      operationId: bulkActivateSpecificAliases
      description: 'This endpoint activates specific aliases.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    message: '2 aliases activated successfully'
                    ids:
                      - 50c9e585-e7f5-41c4-9016-9014c15454bc
                      - c549db7d-5fac-4b09-9443-9e47f644d29f
                properties:
                  data:
                    type: object
                    properties:
                      message:
                        type: string
                        example: '2 aliases activated successfully'
                      ids:
                        type: array
                        example:
                          - 50c9e585-e7f5-41c4-9016-9014c15454bc
                          - c549db7d-5fac-4b09-9443-9e47f644d29f
                        items:
                          type: string
      tags:
        - 'Alias Bulk Actions'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                ids:
                  type: array
                  description: 'An array of the alias ids (max 25)'
                  example:
                    - 50c9e585-e7f5-41c4-9016-9014c15454bc
                    - c549db7d-5fac-4b09-9443-9e47f644d29f
                  items:
                    type: string
              required:
                - ids
  /api/v1/aliases/deactivate/bulk:
    post:
      summary: 'Bulk Deactivate Specific Aliases'
      operationId: bulkDeactivateSpecificAliases
      description: 'This endpoint deactivates specific aliases.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    message: '2 aliases deactivated successfully'
                    ids:
                      - 50c9e585-e7f5-41c4-9016-9014c15454bc
                      - c549db7d-5fac-4b09-9443-9e47f644d29f
                properties:
                  data:
                    type: object
                    properties:
                      message:
                        type: string
                        example: '2 aliases deactivated successfully'
                      ids:
                        type: array
                        example:
                          - 50c9e585-e7f5-41c4-9016-9014c15454bc
                          - c549db7d-5fac-4b09-9443-9e47f644d29f
                        items:
                          type: string
      tags:
        - 'Alias Bulk Actions'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                ids:
                  type: array
                  description: 'An array of the alias ids (max 25)'
                  example:
                    - 50c9e585-e7f5-41c4-9016-9014c15454bc
                    - c549db7d-5fac-4b09-9443-9e47f644d29f
                  items:
                    type: string
              required:
                - ids
  /api/v1/aliases/delete/bulk:
    post:
      summary: 'Bulk Delete Specific Aliases'
      operationId: bulkDeleteSpecificAliases
      description: 'This endpoint deletes specific aliases.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    message: '2 aliases deleted successfully'
                    ids:
                      - 50c9e585-e7f5-41c4-9016-9014c15454bc
                      - c549db7d-5fac-4b09-9443-9e47f644d29f
                properties:
                  data:
                    type: object
                    properties:
                      message:
                        type: string
                        example: '2 aliases deleted successfully'
                      ids:
                        type: array
                        example:
                          - 50c9e585-e7f5-41c4-9016-9014c15454bc
                          - c549db7d-5fac-4b09-9443-9e47f644d29f
                        items:
                          type: string
      tags:
        - 'Alias Bulk Actions'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                ids:
                  type: array
                  description: 'An array of the alias ids (max 25)'
                  example:
                    - 50c9e585-e7f5-41c4-9016-9014c15454bc
                    - c549db7d-5fac-4b09-9443-9e47f644d29f
                  items:
                    type: string
              required:
                - ids
  /api/v1/aliases/restore/bulk:
    post:
      summary: 'Bulk Restore Specific Aliases'
      operationId: bulkRestoreSpecificAliases
      description: 'This endpoint restores specific aliases.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    message: '2 aliases restored successfully'
                    ids:
                      - 50c9e585-e7f5-41c4-9016-9014c15454bc
                      - c549db7d-5fac-4b09-9443-9e47f644d29f
                properties:
                  data:
                    type: object
                    properties:
                      message:
                        type: string
                        example: '2 aliases restored successfully'
                      ids:
                        type: array
                        example:
                          - 50c9e585-e7f5-41c4-9016-9014c15454bc
                          - c549db7d-5fac-4b09-9443-9e47f644d29f
                        items:
                          type: string
      tags:
        - 'Alias Bulk Actions'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                ids:
                  type: array
                  description: 'An array of the alias ids (max 25)'
                  example:
                    - 50c9e585-e7f5-41c4-9016-9014c15454bc
                    - c549db7d-5fac-4b09-9443-9e47f644d29f
                  items:
                    type: string
              required:
                - ids
  /api/v1/aliases/forget/bulk:
    post:
      summary: 'Bulk Forget Specific Aliases'
      operationId: bulkForgetSpecificAliases
      description: 'This endpoint forgets specific aliases.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    message: '2 aliases forgotten successfully'
                    ids:
                      - 50c9e585-e7f5-41c4-9016-9014c15454bc
                      - c549db7d-5fac-4b09-9443-9e47f644d29f
                properties:
                  data:
                    type: object
                    properties:
                      message:
                        type: string
                        example: '2 aliases forgotten successfully'
                      ids:
                        type: array
                        example:
                          - 50c9e585-e7f5-41c4-9016-9014c15454bc
                          - c549db7d-5fac-4b09-9443-9e47f644d29f
                        items:
                          type: string
      tags:
        - 'Alias Bulk Actions'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                ids:
                  type: array
                  description: 'An array of the alias ids (max 25)'
                  example:
                    - 50c9e585-e7f5-41c4-9016-9014c15454bc
                    - c549db7d-5fac-4b09-9443-9e47f644d29f
                  items:
                    type: string
              required:
                - ids
  /api/v1/aliases/recipients/bulk:
    post:
      summary: 'Bulk Update Recipients for Specific Aliases'
      operationId: bulkUpdateRecipientsForSpecificAliases
      description: 'This endpoint updates the recipients for specific aliases.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    message: 'recipients updated for 2 aliases successfully'
                    ids:
                      - 50c9e585-e7f5-41c4-9016-9014c15454bc
                      - c549db7d-5fac-4b09-9443-9e47f644d29f
                properties:
                  data:
                    type: object
                    properties:
                      message:
                        type: string
                        example: 'recipients updated for 2 aliases successfully'
                      ids:
                        type: array
                        example:
                          - 50c9e585-e7f5-41c4-9016-9014c15454bc
                          - c549db7d-5fac-4b09-9443-9e47f644d29f
                        items:
                          type: string
      tags:
        - 'Alias Bulk Actions'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                ids:
                  type: array
                  description: 'An array of the alias ids (max 25)'
                  example:
                    - 50c9e585-e7f5-41c4-9016-9014c15454bc
                    - c549db7d-5fac-4b09-9443-9e47f644d29f
                  items:
                    type: string
                recipient_ids:
                  type: array
                  description: 'An array of recipient ids to add'
                  example:
                    - 46eebc50-f7f8-46d7-beb9-c37f04c29a84
                  items:
                    type: string
              required:
                - ids
                - recipient_ids
  /api/v1/aliases:
    get:
      summary: 'Get All Aliases'
      operationId: getAllAliases
      description: 'This endpoint retrieves all aliases.'
      parameters:
        -
          in: query
          name: 'filter[deleted]'
          description: 'Choose to return alias with deleted or only deleted. Options: with, only.'
          example: with
          required: false
          schema:
            type: string
            description: 'Choose to return alias with deleted or only deleted. Options: with, only.'
            example: with
        -
          in: query
          name: 'filter[active]'
          description: 'Choose to return active or inactive aliases. Options: true, false.'
          example: 'true'
          required: false
          schema:
            type: string
            description: 'Choose to return active or inactive aliases. Options: true, false.'
            example: 'true'
        -
          in: query
          name: 'filter[search]'
          description: 'Search aliases by email and description.'
          example: johndoe
          required: false
          schema:
            type: string
            description: 'Search aliases by email and description.'
            example: johndoe
        -
          in: query
          name: sort
          description: 'Choose what to sort the aliases by, prepend "-" for descending results. Options: local_part, domain, email, emails_forwarded, emails_blocked, emails_replied, emails_sent, last_forwarded, last_blocked, last_replied, last_sent, active, created_at, updated_at, deleted_at'
          example: '-email'
          required: false
          schema:
            type: string
            description: 'Choose what to sort the aliases by, prepend "-" for descending results. Options: local_part, domain, email, emails_forwarded, emails_blocked, emails_replied, emails_sent, last_forwarded, last_blocked, last_replied, last_sent, active, created_at, updated_at, deleted_at'
            example: '-email'
        -
          in: query
          name: 'page[number]'
          description: 'Paginate the alias results.'
          example: 1
          required: false
          schema:
            type: integer
            description: 'Paginate the alias results.'
            example: 1
        -
          in: query
          name: 'page[size]'
          description: 'Paginate the alias results, default 100, min 1 max 100.'
          example: 10
          required: false
          schema:
            type: integer
            description: 'Paginate the alias results, default 100, min 1 max 100.'
            example: 10
        -
          in: query
          name: with
          description: 'Return aliases with their attached recipients. Options: recipients'
          example: recipients
          required: false
          schema:
            type: string
            description: 'Return aliases with their attached recipients. Options: recipients'
            example: recipients
        -
          in: query
          name: recipient
          description: 'Return aliases using the recipient with the specified ID.'
          example: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
          required: false
          schema:
            type: string
            description: 'Return aliases using the recipient with the specified ID.'
            example: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
        -
          in: query
          name: domain
          description: 'Return aliases using the custom domain with the specified ID.'
          example: 0ad7a75a-1517-4b86-bb8a-9443d4965e60
          required: false
          schema:
            type: string
            description: 'Return aliases using the custom domain with the specified ID.'
            example: 0ad7a75a-1517-4b86-bb8a-9443d4965e60
        -
          in: query
          name: username
          description: 'Return aliases using the username with the specified ID.'
          example: 2777dee6-1721-45c0-8d01-698b6be2335f
          required: false
          schema:
            type: string
            description: 'Return aliases using the username with the specified ID.'
            example: 2777dee6-1721-45c0-8d01-698b6be2335f
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      id: 50c9e585-e7f5-41c4-9016-9014c15454bc
                      user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                      aliasable_id: null
                      aliasable_type: null
                      local_part: first
                      extension: null
                      domain: johndoe.anonaddy.com
                      email: first@johndoe.anonaddy.com
                      active: true
                      description: null
                      from_name: null
                      emails_forwarded: 5
                      emails_blocked: 0
                      emails_replied: 0
                      emails_sent: 0
                      recipients: []
                      last_forwarded: '2019-10-01 09:00:00'
                      last_blocked: null
                      last_replied: null
                      last_sent: null
                      created_at: '2019-10-01 09:00:00'
                      updated_at: '2019-10-01 09:00:00'
                      deleted_at: null
                    -
                      id: c549db7d-5fac-4b09-9443-9e47f644d29f
                      user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                      domain_id: null
                      local_part: second
                      extension: null
                      domain: johndoe.anonaddy.com
                      email: second@johndoe.anonaddy.com
                      active: true
                      description: null
                      from_name: null
                      emails_forwarded: 2
                      emails_blocked: 1
                      emails_replied: 0
                      emails_sent: 0
                      recipients: []
                      last_forwarded: '2019-10-01 09:00:00'
                      last_blocked: null
                      last_replied: null
                      last_sent: null
                      created_at: '2019-10-01 09:00:00'
                      updated_at: '2019-10-01 09:00:00'
                      deleted_at: null
                  links:
                    first: 'https://app.addy.io/api/v1/aliases?filter%5Bdeleted%5D=with&filter%5Bsearch%5D=johndoe&page%5Bsize%5D=10&page%5Bnumber%5D=1'
                    last: 'https://app.addy.io/api/v1/aliases?filter%5Bdeleted%5D=with&filter%5Bsearch%5D=johndoe&page%5Bsize%5D=10&page%5Bnumber%5D=1'
                    prev: null
                    next: null
                  meta:
                    current_page: 1
                    from: 1
                    last_page: 1
                    links:
                      -
                        url: null
                        label: '&laquo; Previous'
                        active: false
                      -
                        url: 'https://app.addy.io/api/v1/aliases?filter%5Bdeleted%5D=with&filter%5Bsearch%5D=johndoe&page%5Bsize%5D=10&page%5Bnumber%5D=1'
                        label: '1'
                        active: true
                      -
                        url: null
                        label: 'Next &raquo;'
                        active: false
                    path: 'https://app.addy.io/api/v1/aliases'
                    per_page: 10
                    to: 2
                    total: 2
                properties:
                  data:
                    type: array
                    example:
                      -
                        id: 50c9e585-e7f5-41c4-9016-9014c15454bc
                        user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                        aliasable_id: null
                        aliasable_type: null
                        local_part: first
                        extension: null
                        domain: johndoe.anonaddy.com
                        email: first@johndoe.anonaddy.com
                        active: true
                        description: null
                        from_name: null
                        emails_forwarded: 5
                        emails_blocked: 0
                        emails_replied: 0
                        emails_sent: 0
                        recipients: []
                        last_forwarded: '2019-10-01 09:00:00'
                        last_blocked: null
                        last_replied: null
                        last_sent: null
                        created_at: '2019-10-01 09:00:00'
                        updated_at: '2019-10-01 09:00:00'
                        deleted_at: null
                      -
                        id: c549db7d-5fac-4b09-9443-9e47f644d29f
                        user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                        domain_id: null
                        local_part: second
                        extension: null
                        domain: johndoe.anonaddy.com
                        email: second@johndoe.anonaddy.com
                        active: true
                        description: null
                        from_name: null
                        emails_forwarded: 2
                        emails_blocked: 1
                        emails_replied: 0
                        emails_sent: 0
                        recipients: []
                        last_forwarded: '2019-10-01 09:00:00'
                        last_blocked: null
                        last_replied: null
                        last_sent: null
                        created_at: '2019-10-01 09:00:00'
                        updated_at: '2019-10-01 09:00:00'
                        deleted_at: null
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          example: 50c9e585-e7f5-41c4-9016-9014c15454bc
                        user_id:
                          type: string
                          example: ca0a4e09-c266-4f6f-845c-958db5090f09
                        aliasable_id:
                          type: string
                          example: null
                        aliasable_type:
                          type: string
                          example: null
                        local_part:
                          type: string
                          example: first
                        extension:
                          type: string
                          example: null
                        domain:
                          type: string
                          example: johndoe.anonaddy.com
                        email:
                          type: string
                          example: first@johndoe.anonaddy.com
                        active:
                          type: boolean
                          example: true
                        description:
                          type: string
                          example: null
                        from_name:
                          type: string
                          example: null
                        emails_forwarded:
                          type: integer
                          example: 5
                        emails_blocked:
                          type: integer
                          example: 0
                        emails_replied:
                          type: integer
                          example: 0
                        emails_sent:
                          type: integer
                          example: 0
                        recipients:
                          type: array
                          example: []
                        last_forwarded:
                          type: string
                          example: '2019-10-01 09:00:00'
                        last_blocked:
                          type: string
                          example: null
                        last_replied:
                          type: string
                          example: null
                        last_sent:
                          type: string
                          example: null
                        created_at:
                          type: string
                          example: '2019-10-01 09:00:00'
                        updated_at:
                          type: string
                          example: '2019-10-01 09:00:00'
                        deleted_at:
                          type: string
                          example: null
                  links:
                    type: object
                    properties:
                      first:
                        type: string
                        example: 'https://app.addy.io/api/v1/aliases?filter%5Bdeleted%5D=with&filter%5Bsearch%5D=johndoe&page%5Bsize%5D=10&page%5Bnumber%5D=1'
                      last:
                        type: string
                        example: 'https://app.addy.io/api/v1/aliases?filter%5Bdeleted%5D=with&filter%5Bsearch%5D=johndoe&page%5Bsize%5D=10&page%5Bnumber%5D=1'
                      prev:
                        type: string
                        example: null
                      next:
                        type: string
                        example: null
                  meta:
                    type: object
                    properties:
                      current_page:
                        type: integer
                        example: 1
                      from:
                        type: integer
                        example: 1
                      last_page:
                        type: integer
                        example: 1
                      links:
                        type: array
                        example:
                          -
                            url: null
                            label: '&laquo; Previous'
                            active: false
                          -
                            url: 'https://app.addy.io/api/v1/aliases?filter%5Bdeleted%5D=with&filter%5Bsearch%5D=johndoe&page%5Bsize%5D=10&page%5Bnumber%5D=1'
                            label: '1'
                            active: true
                          -
                            url: null
                            label: 'Next &raquo;'
                            active: false
                        items:
                          type: object
                          properties:
                            url:
                              type: string
                              example: null
                            label:
                              type: string
                              example: '&laquo; Previous'
                            active:
                              type: boolean
                              example: false
                      path:
                        type: string
                        example: 'https://app.addy.io/api/v1/aliases'
                      per_page:
                        type: integer
                        example: 10
                      to:
                        type: integer
                        example: 2
                      total:
                        type: integer
                        example: 2
      tags:
        - Aliases
    post:
      summary: 'Create New Alias'
      operationId: createNewAlias
      description: 'This endpoint creates a new alias.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        201:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 50c9e585-e7f5-41c4-9016-9014c15454bc
                    user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                    aliasable_id: null
                    aliasable_type: null
                    local_part: 50c9e585-e7f5-41c4-9016-9014c15454bc
                    extension: null
                    domain: anonaddy.me
                    email: 50c9e585-e7f5-41c4-9016-9014c15454bc@anonaddy.me
                    active: true
                    description: 'For example.com'
                    from_name: null
                    emails_forwarded: 5
                    emails_blocked: 0
                    emails_replied: 0
                    emails_sent: 0
                    recipients: []
                    last_forwarded: '2019-10-01 09:00:00'
                    last_blocked: null
                    last_replied: null
                    last_sent: null
                    created_at: '2019-10-01 09:00:00'
                    updated_at: '2019-10-01 09:00:00'
                    deleted_at: null
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 50c9e585-e7f5-41c4-9016-9014c15454bc
                      user_id:
                        type: string
                        example: ca0a4e09-c266-4f6f-845c-958db5090f09
                      aliasable_id:
                        type: string
                        example: null
                      aliasable_type:
                        type: string
                        example: null
                      local_part:
                        type: string
                        example: 50c9e585-e7f5-41c4-9016-9014c15454bc
                      extension:
                        type: string
                        example: null
                      domain:
                        type: string
                        example: anonaddy.me
                      email:
                        type: string
                        example: 50c9e585-e7f5-41c4-9016-9014c15454bc@anonaddy.me
                      active:
                        type: boolean
                        example: true
                      description:
                        type: string
                        example: 'For example.com'
                      from_name:
                        type: string
                        example: null
                      emails_forwarded:
                        type: integer
                        example: 5
                      emails_blocked:
                        type: integer
                        example: 0
                      emails_replied:
                        type: integer
                        example: 0
                      emails_sent:
                        type: integer
                        example: 0
                      recipients:
                        type: array
                        example: []
                      last_forwarded:
                        type: string
                        example: '2019-10-01 09:00:00'
                      last_blocked:
                        type: string
                        example: null
                      last_replied:
                        type: string
                        example: null
                      last_sent:
                        type: string
                        example: null
                      created_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      updated_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      deleted_at:
                        type: string
                        example: null
      tags:
        - Aliases
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                domain:
                  type: string
                  description: 'The domain of the alias'
                  example: anonaddy.me
                description:
                  type: string
                  description: 'The description of the alias'
                  example: 'For example.com'
                format:
                  type: string
                  description: 'The chosen format for the alias. Options: random_characters, uuid, random_words, custom (the custom format is not available for shared domains)'
                  example: uuid
                local_part:
                  type: string
                  description: 'The chosen local part for the alias (only required if you have the format as custom)'
                  example: hello
                recipient_ids:
                  type: array
                  description: 'An array of recipient ids to add (the default recipient will be used if none provided)'
                  example:
                    - 46eebc50-f7f8-46d7-beb9-c37f04c29a84
                  items:
                    type: string
              required:
                - domain
  '/api/v1/aliases/{id}':
    get:
      summary: 'Get a Specific Alias'
      operationId: getASpecificAlias
      description: 'This endpoint retrieves a specific alias.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 50c9e585-e7f5-41c4-9016-9014c15454bc
                    user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                    aliasable_id: null
                    aliasable_type: null
                    local_part: first
                    extension: null
                    domain: johndoe.anonaddy.com
                    email: first@johndoe.anonaddy.com
                    active: true
                    description: null
                    from_name: null
                    emails_forwarded: 5
                    emails_blocked: 0
                    emails_replied: 0
                    emails_sent: 0
                    recipients: []
                    last_forwarded: '2019-10-01 09:00:00'
                    last_blocked: null
                    last_replied: null
                    last_sent: null
                    created_at: '2019-10-01 09:00:00'
                    updated_at: '2019-10-01 09:00:00'
                    deleted_at: null
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 50c9e585-e7f5-41c4-9016-9014c15454bc
                      user_id:
                        type: string
                        example: ca0a4e09-c266-4f6f-845c-958db5090f09
                      aliasable_id:
                        type: string
                        example: null
                      aliasable_type:
                        type: string
                        example: null
                      local_part:
                        type: string
                        example: first
                      extension:
                        type: string
                        example: null
                      domain:
                        type: string
                        example: johndoe.anonaddy.com
                      email:
                        type: string
                        example: first@johndoe.anonaddy.com
                      active:
                        type: boolean
                        example: true
                      description:
                        type: string
                        example: null
                      from_name:
                        type: string
                        example: null
                      emails_forwarded:
                        type: integer
                        example: 5
                      emails_blocked:
                        type: integer
                        example: 0
                      emails_replied:
                        type: integer
                        example: 0
                      emails_sent:
                        type: integer
                        example: 0
                      recipients:
                        type: array
                        example: []
                      last_forwarded:
                        type: string
                        example: '2019-10-01 09:00:00'
                      last_blocked:
                        type: string
                        example: null
                      last_replied:
                        type: string
                        example: null
                      last_sent:
                        type: string
                        example: null
                      created_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      updated_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      deleted_at:
                        type: string
                        example: null
      tags:
        - Aliases
    patch:
      summary: 'Update a Specific Alias'
      operationId: updateASpecificAlias
      description: 'This endpoint updates a specific alias.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 50c9e585-e7f5-41c4-9016-9014c15454bc
                    user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                    aliasable_id: null
                    aliasable_type: null
                    local_part: first
                    extension: null
                    domain: johndoe.anonaddy.com
                    email: first@johndoe.anonaddy.com
                    active: true
                    description: 'New description'
                    from_name: 'John Doe'
                    emails_forwarded: 5
                    emails_blocked: 0
                    emails_replied: 0
                    emails_sent: 0
                    recipients: []
                    last_forwarded: '2019-10-01 09:00:00'
                    last_blocked: null
                    last_replied: null
                    last_sent: null
                    created_at: '2019-10-01 09:00:00'
                    updated_at: '2019-10-01 09:00:00'
                    deleted_at: null
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 50c9e585-e7f5-41c4-9016-9014c15454bc
                      user_id:
                        type: string
                        example: ca0a4e09-c266-4f6f-845c-958db5090f09
                      aliasable_id:
                        type: string
                        example: null
                      aliasable_type:
                        type: string
                        example: null
                      local_part:
                        type: string
                        example: first
                      extension:
                        type: string
                        example: null
                      domain:
                        type: string
                        example: johndoe.anonaddy.com
                      email:
                        type: string
                        example: first@johndoe.anonaddy.com
                      active:
                        type: boolean
                        example: true
                      description:
                        type: string
                        example: 'New description'
                      from_name:
                        type: string
                        example: 'John Doe'
                      emails_forwarded:
                        type: integer
                        example: 5
                      emails_blocked:
                        type: integer
                        example: 0
                      emails_replied:
                        type: integer
                        example: 0
                      emails_sent:
                        type: integer
                        example: 0
                      recipients:
                        type: array
                        example: []
                      last_forwarded:
                        type: string
                        example: '2019-10-01 09:00:00'
                      last_blocked:
                        type: string
                        example: null
                      last_replied:
                        type: string
                        example: null
                      last_sent:
                        type: string
                        example: null
                      created_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      updated_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      deleted_at:
                        type: string
                        example: null
      tags:
        - Aliases
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                description:
                  type: string
                  description: 'The description of the alias'
                  example: 'New description'
                from_name:
                  type: string
                  description: 'The from name of the alias'
                  example: 'John Doe'
    delete:
      summary: 'Delete a Specific Alias'
      operationId: deleteASpecificAlias
      description: 'This endpoint deletes a specific alias.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        204:
          description: ''
      tags:
        - Aliases
    parameters:
      -
        in: path
        name: id
        description: 'The id of the alias to retrieve'
        example: 50c9e585-e7f5-41c4-9016-9014c15454bc
        required: true
        schema:
          type: string
  '/api/v1/aliases/{id}/restore':
    patch:
      summary: 'Restore a Specific Deleted Alias'
      operationId: restoreASpecificDeletedAlias
      description: 'This endpoint restores a specific deleted alias.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 50c9e585-e7f5-41c4-9016-9014c15454bc
                    user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                    aliasable_id: null
                    aliasable_type: null
                    local_part: first
                    extension: null
                    domain: johndoe.anonaddy.com
                    email: first@johndoe.anonaddy.com
                    active: true
                    description: 'New description'
                    from_name: null
                    emails_forwarded: 5
                    emails_blocked: 0
                    emails_replied: 0
                    emails_sent: 0
                    recipients: []
                    last_forwarded: '2019-10-01 09:00:00'
                    last_blocked: null
                    last_replied: null
                    last_sent: null
                    created_at: '2019-10-01 09:00:00'
                    updated_at: '2019-10-01 09:00:00'
                    deleted_at: null
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 50c9e585-e7f5-41c4-9016-9014c15454bc
                      user_id:
                        type: string
                        example: ca0a4e09-c266-4f6f-845c-958db5090f09
                      aliasable_id:
                        type: string
                        example: null
                      aliasable_type:
                        type: string
                        example: null
                      local_part:
                        type: string
                        example: first
                      extension:
                        type: string
                        example: null
                      domain:
                        type: string
                        example: johndoe.anonaddy.com
                      email:
                        type: string
                        example: first@johndoe.anonaddy.com
                      active:
                        type: boolean
                        example: true
                      description:
                        type: string
                        example: 'New description'
                      from_name:
                        type: string
                        example: null
                      emails_forwarded:
                        type: integer
                        example: 5
                      emails_blocked:
                        type: integer
                        example: 0
                      emails_replied:
                        type: integer
                        example: 0
                      emails_sent:
                        type: integer
                        example: 0
                      recipients:
                        type: array
                        example: []
                      last_forwarded:
                        type: string
                        example: '2019-10-01 09:00:00'
                      last_blocked:
                        type: string
                        example: null
                      last_replied:
                        type: string
                        example: null
                      last_sent:
                        type: string
                        example: null
                      created_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      updated_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      deleted_at:
                        type: string
                        example: null
      tags:
        - Aliases
    parameters:
      -
        in: path
        name: id
        description: 'The id of the alias to restore'
        example: 50c9e585-e7f5-41c4-9016-9014c15454bc
        required: true
        schema:
          type: string
  '/api/v1/aliases/{id}/forget':
    delete:
      summary: 'Forget a Specific Alias'
      operationId: forgetASpecificAlias
      description: 'This endpoint forgets a specific alias.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        204:
          description: ''
      tags:
        - Aliases
    parameters:
      -
        in: path
        name: id
        description: 'The id of the alias to forget'
        example: 50c9e585-e7f5-41c4-9016-9014c15454bc
        required: true
        schema:
          type: string
  /api/v1/active-aliases:
    post:
      summary: 'Activate a Specific Alias'
      operationId: activateASpecificAlias
      description: 'This endpoint activates a specific alias.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 50c9e585-e7f5-41c4-9016-9014c15454bc
                    user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                    aliasable_id: null
                    aliasable_type: null
                    local_part: 50c9e585-e7f5-41c4-9016-9014c15454bc
                    extension: null
                    domain: anonaddy.me
                    email: 50c9e585-e7f5-41c4-9016-9014c15454bc@anonaddy.me
                    active: true
                    description: null
                    from_name: null
                    emails_forwarded: 5
                    emails_blocked: 0
                    emails_replied: 0
                    emails_sent: 0
                    recipients: []
                    last_forwarded: '2019-10-01 09:00:00'
                    last_blocked: null
                    last_replied: null
                    last_sent: null
                    created_at: '2019-10-01 09:00:00'
                    updated_at: '2019-10-01 09:00:00'
                    deleted_at: null
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 50c9e585-e7f5-41c4-9016-9014c15454bc
                      user_id:
                        type: string
                        example: ca0a4e09-c266-4f6f-845c-958db5090f09
                      aliasable_id:
                        type: string
                        example: null
                      aliasable_type:
                        type: string
                        example: null
                      local_part:
                        type: string
                        example: 50c9e585-e7f5-41c4-9016-9014c15454bc
                      extension:
                        type: string
                        example: null
                      domain:
                        type: string
                        example: anonaddy.me
                      email:
                        type: string
                        example: 50c9e585-e7f5-41c4-9016-9014c15454bc@anonaddy.me
                      active:
                        type: boolean
                        example: true
                      description:
                        type: string
                        example: null
                      from_name:
                        type: string
                        example: null
                      emails_forwarded:
                        type: integer
                        example: 5
                      emails_blocked:
                        type: integer
                        example: 0
                      emails_replied:
                        type: integer
                        example: 0
                      emails_sent:
                        type: integer
                        example: 0
                      recipients:
                        type: array
                        example: []
                      last_forwarded:
                        type: string
                        example: '2019-10-01 09:00:00'
                      last_blocked:
                        type: string
                        example: null
                      last_replied:
                        type: string
                        example: null
                      last_sent:
                        type: string
                        example: null
                      created_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      updated_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      deleted_at:
                        type: string
                        example: null
      tags:
        - Aliases
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  description: 'The id for the alias'
                  example: 50c9e585-e7f5-41c4-9016-9014c15454bc
              required:
                - id
  '/api/v1/active-aliases/{id}':
    delete:
      summary: 'Deactivate a Specific Alias'
      operationId: deactivateASpecificAlias
      description: 'This endpoint deactivates a specific alias.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        204:
          description: ''
      tags:
        - Aliases
    parameters:
      -
        in: path
        name: id
        description: 'The id of the alias to deactivate'
        example: 50c9e585-e7f5-41c4-9016-9014c15454bc
        required: true
        schema:
          type: string
  /api/v1/alias-recipients:
    post:
      summary: 'Update Recipients for a Specific Alias'
      operationId: updateRecipientsForASpecificAlias
      description: 'This endpoint updates the recipients for a specific alias.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 50c9e585-e7f5-41c4-9016-9014c15454bc
                    user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                    aliasable_id: null
                    aliasable_type: null
                    local_part: first
                    extension: null
                    domain: johndoe.anonaddy.com
                    email: first@johndoe.anonaddy.com
                    active: true
                    description: null
                    from_name: null
                    emails_forwarded: 5
                    emails_blocked: 0
                    emails_replied: 0
                    emails_sent: 0
                    recipients:
                      -
                        id: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
                        user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                        email: me@example.com
                        can_reply_send: true
                        should_encrypt: false
                        inline_encryption: false
                        protected_headers: false
                        fingerprint: null
                        email_verified_at: '2019-10-01 09:00:00'
                        aliases: []
                        created_at: '2019-10-01 09:00:00'
                        updated_at: '2019-10-01 09:00:00'
                    last_forwarded: '2019-10-01 09:00:00'
                    last_blocked: null
                    last_replied: null
                    last_sent: null
                    created_at: '2019-10-01 09:00:00'
                    updated_at: '2019-10-01 09:00:00'
                    deleted_at: null
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 50c9e585-e7f5-41c4-9016-9014c15454bc
                      user_id:
                        type: string
                        example: ca0a4e09-c266-4f6f-845c-958db5090f09
                      aliasable_id:
                        type: string
                        example: null
                      aliasable_type:
                        type: string
                        example: null
                      local_part:
                        type: string
                        example: first
                      extension:
                        type: string
                        example: null
                      domain:
                        type: string
                        example: johndoe.anonaddy.com
                      email:
                        type: string
                        example: first@johndoe.anonaddy.com
                      active:
                        type: boolean
                        example: true
                      description:
                        type: string
                        example: null
                      from_name:
                        type: string
                        example: null
                      emails_forwarded:
                        type: integer
                        example: 5
                      emails_blocked:
                        type: integer
                        example: 0
                      emails_replied:
                        type: integer
                        example: 0
                      emails_sent:
                        type: integer
                        example: 0
                      recipients:
                        type: array
                        example:
                          -
                            id: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
                            user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                            email: me@example.com
                            can_reply_send: true
                            should_encrypt: false
                            inline_encryption: false
                            protected_headers: false
                            fingerprint: null
                            email_verified_at: '2019-10-01 09:00:00'
                            aliases: []
                            created_at: '2019-10-01 09:00:00'
                            updated_at: '2019-10-01 09:00:00'
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              example: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
                            user_id:
                              type: string
                              example: ca0a4e09-c266-4f6f-845c-958db5090f09
                            email:
                              type: string
                              example: me@example.com
                            can_reply_send:
                              type: boolean
                              example: true
                            should_encrypt:
                              type: boolean
                              example: false
                            inline_encryption:
                              type: boolean
                              example: false
                            protected_headers:
                              type: boolean
                              example: false
                            fingerprint:
                              type: string
                              example: null
                            email_verified_at:
                              type: string
                              example: '2019-10-01 09:00:00'
                            aliases:
                              type: array
                              example: []
                            created_at:
                              type: string
                              example: '2019-10-01 09:00:00'
                            updated_at:
                              type: string
                              example: '2019-10-01 09:00:00'
                      last_forwarded:
                        type: string
                        example: '2019-10-01 09:00:00'
                      last_blocked:
                        type: string
                        example: null
                      last_replied:
                        type: string
                        example: null
                      last_sent:
                        type: string
                        example: null
                      created_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      updated_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      deleted_at:
                        type: string
                        example: null
      tags:
        - Aliases
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                alias_id:
                  type: string
                  description: 'The id of the alias'
                  example: 50c9e585-e7f5-41c4-9016-9014c15454bc
                recipient_ids:
                  type: array
                  description: 'An array of recipient ids to add'
                  example:
                    - 46eebc50-f7f8-46d7-beb9-c37f04c29a84
                  items:
                    type: string
              required:
                - alias_id
                - recipient_ids
  /api/v1/app-version:
    get:
      summary: 'Get The Current addy.io App Version'
      operationId: getTheCurrentAddyioAppVersion
      description: 'This endpoint retrieves details about the current addy.io version (only available for self-hosted instances).'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  version: 0.1.4
                  major: 0
                  minor: 1
                  patch: 4
                properties:
                  version:
                    type: string
                    example: 0.1.4
                  major:
                    type: integer
                    example: 0
                  minor:
                    type: integer
                    example: 1
                  patch:
                    type: integer
                    example: 4
      tags:
        - 'App Version'
  /api/v1/domain-options:
    get:
      summary: 'Get All Domain Options'
      operationId: getAllDomainOptions
      description: 'This endpoint retrieves all domain options.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    - anonaddy.me
                    - johndoe.anonaddy.com
                    - johndoe.anonaddy.me
                  sharedDomains:
                    - anonaddy.me
                  defaultAliasDomain: anonaddy.me
                  defaultAliasFormat: random_words
                properties:
                  data:
                    type: array
                    example:
                      - anonaddy.me
                      - johndoe.anonaddy.com
                      - johndoe.anonaddy.me
                    items:
                      type: string
                  sharedDomains:
                    type: array
                    example:
                      - anonaddy.me
                    items:
                      type: string
                  defaultAliasDomain:
                    type: string
                    example: anonaddy.me
                  defaultAliasFormat:
                    type: string
                    example: random_words
      tags:
        - 'Domain Options'
  /api/v1/domains:
    get:
      summary: 'Get All Domains'
      operationId: getAllDomains
      description: 'This endpoint retrieves all domains.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      id: 0ad7a75a-1517-4b86-bb8a-9443d4965e60
                      user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                      domain: example.com
                      description: null
                      from_name: null
                      aliases_count: 5
                      default_recipient: null
                      active: true
                      catch_all: true
                      domain_verified_at: '2019-10-01 09:00:00'
                      domain_mx_validated_at: '2019-10-01 09:00:00'
                      domain_sending_verified_at: '2019-10-01 09:00:00'
                      created_at: '2019-10-01 09:00:00'
                      updated_at: '2019-10-01 09:00:00'
                    -
                      id: 9a7308d9-fcde-4510-b853-6b09e87b42af
                      user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                      domain: example.me
                      description: null
                      from_name: null
                      aliases_count: 1
                      default_recipient: null
                      active: true
                      catch_all: true
                      domain_verified_at: null
                      domain_mx_validated_at: null
                      domain_sending_verified_at: null
                      created_at: '2019-10-01 09:00:00'
                      updated_at: '2019-10-01 09:00:00'
                properties:
                  data:
                    type: array
                    example:
                      -
                        id: 0ad7a75a-1517-4b86-bb8a-9443d4965e60
                        user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                        domain: example.com
                        description: null
                        from_name: null
                        aliases_count: 5
                        default_recipient: null
                        active: true
                        catch_all: true
                        domain_verified_at: '2019-10-01 09:00:00'
                        domain_mx_validated_at: '2019-10-01 09:00:00'
                        domain_sending_verified_at: '2019-10-01 09:00:00'
                        created_at: '2019-10-01 09:00:00'
                        updated_at: '2019-10-01 09:00:00'
                      -
                        id: 9a7308d9-fcde-4510-b853-6b09e87b42af
                        user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                        domain: example.me
                        description: null
                        from_name: null
                        aliases_count: 1
                        default_recipient: null
                        active: true
                        catch_all: true
                        domain_verified_at: null
                        domain_mx_validated_at: null
                        domain_sending_verified_at: null
                        created_at: '2019-10-01 09:00:00'
                        updated_at: '2019-10-01 09:00:00'
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          example: 0ad7a75a-1517-4b86-bb8a-9443d4965e60
                        user_id:
                          type: string
                          example: ca0a4e09-c266-4f6f-845c-958db5090f09
                        domain:
                          type: string
                          example: example.com
                        description:
                          type: string
                          example: null
                        from_name:
                          type: string
                          example: null
                        aliases_count:
                          type: integer
                          example: 5
                        default_recipient:
                          type: string
                          example: null
                        active:
                          type: boolean
                          example: true
                        catch_all:
                          type: boolean
                          example: true
                        domain_verified_at:
                          type: string
                          example: '2019-10-01 09:00:00'
                        domain_mx_validated_at:
                          type: string
                          example: '2019-10-01 09:00:00'
                        domain_sending_verified_at:
                          type: string
                          example: '2019-10-01 09:00:00'
                        created_at:
                          type: string
                          example: '2019-10-01 09:00:00'
                        updated_at:
                          type: string
                          example: '2019-10-01 09:00:00'
      tags:
        - Domains
    post:
      summary: 'Create New Domain'
      operationId: createNewDomain
      description: 'This endpoint creates a new domain.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        201:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 0ad7a75a-1517-4b86-bb8a-9443d4965e60
                    user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                    domain: example.com
                    description: null
                    from_name: null
                    aliases_count: 5
                    default_recipient: null
                    active: true
                    catch_all: true
                    domain_verified_at: '2019-10-01 09:00:00'
                    domain_mx_validated_at: '2019-10-01 09:00:00'
                    domain_sending_verified_at: '2019-10-01 09:00:00'
                    created_at: '2019-10-01 09:00:00'
                    updated_at: '2019-10-01 09:00:00'
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 0ad7a75a-1517-4b86-bb8a-9443d4965e60
                      user_id:
                        type: string
                        example: ca0a4e09-c266-4f6f-845c-958db5090f09
                      domain:
                        type: string
                        example: example.com
                      description:
                        type: string
                        example: null
                      from_name:
                        type: string
                        example: null
                      aliases_count:
                        type: integer
                        example: 5
                      default_recipient:
                        type: string
                        example: null
                      active:
                        type: boolean
                        example: true
                      catch_all:
                        type: boolean
                        example: true
                      domain_verified_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      domain_mx_validated_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      domain_sending_verified_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      created_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      updated_at:
                        type: string
                        example: '2019-10-01 09:00:00'
      tags:
        - Domains
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                domain:
                  type: string
                  description: 'The domain name of the domain'
                  example: example.com
              required:
                - domain
  '/api/v1/domains/{id}':
    get:
      summary: 'Get a Specific Domain'
      operationId: getASpecificDomain
      description: 'This endpoint retrieves a specific domain.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 0ad7a75a-1517-4b86-bb8a-9443d4965e60
                    user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                    domain: example.com
                    description: null
                    from_name: null
                    aliases_count: 5
                    default_recipient: null
                    active: true
                    catch_all: true
                    domain_verified_at: '2019-10-01 09:00:00'
                    domain_mx_validated_at: '2019-10-01 09:00:00'
                    domain_sending_verified_at: '2019-10-01 09:00:00'
                    created_at: '2019-10-01 09:00:00'
                    updated_at: '2019-10-01 09:00:00'
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 0ad7a75a-1517-4b86-bb8a-9443d4965e60
                      user_id:
                        type: string
                        example: ca0a4e09-c266-4f6f-845c-958db5090f09
                      domain:
                        type: string
                        example: example.com
                      description:
                        type: string
                        example: null
                      from_name:
                        type: string
                        example: null
                      aliases_count:
                        type: integer
                        example: 5
                      default_recipient:
                        type: string
                        example: null
                      active:
                        type: boolean
                        example: true
                      catch_all:
                        type: boolean
                        example: true
                      domain_verified_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      domain_mx_validated_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      domain_sending_verified_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      created_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      updated_at:
                        type: string
                        example: '2019-10-01 09:00:00'
      tags:
        - Domains
    patch:
      summary: 'Update a Specific Domain'
      operationId: updateASpecificDomain
      description: 'This endpoint updates a specific domain.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 0ad7a75a-1517-4b86-bb8a-9443d4965e60
                    user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                    domain: example.com
                    description: 'New description'
                    from_name: 'Mr Example'
                    aliases_count: 5
                    default_recipient: null
                    active: true
                    catch_all: true
                    domain_verified_at: '2019-10-01 09:00:00'
                    domain_mx_validated_at: '2019-10-01 09:00:00'
                    domain_sending_verified_at: '2019-10-01 09:00:00'
                    created_at: '2019-10-01 09:00:00'
                    updated_at: '2019-10-01 09:00:00'
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 0ad7a75a-1517-4b86-bb8a-9443d4965e60
                      user_id:
                        type: string
                        example: ca0a4e09-c266-4f6f-845c-958db5090f09
                      domain:
                        type: string
                        example: example.com
                      description:
                        type: string
                        example: 'New description'
                      from_name:
                        type: string
                        example: 'Mr Example'
                      aliases_count:
                        type: integer
                        example: 5
                      default_recipient:
                        type: string
                        example: null
                      active:
                        type: boolean
                        example: true
                      catch_all:
                        type: boolean
                        example: true
                      domain_verified_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      domain_mx_validated_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      domain_sending_verified_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      created_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      updated_at:
                        type: string
                        example: '2019-10-01 09:00:00'
      tags:
        - Domains
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                description:
                  type: string
                  description: 'The description of the domain'
                  example: 'New description'
                from_name:
                  type: string
                  description: 'The from name of the domain'
                  example: 'Mr Example'
    delete:
      summary: 'Delete a Specific Domain'
      operationId: deleteASpecificDomain
      description: 'This endpoint deletes a specific domain.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        204:
          description: ''
      tags:
        - Domains
    parameters:
      -
        in: path
        name: id
        description: 'The id of the domain to retrieve'
        example: 0ad7a75a-1517-4b86-bb8a-9443d4965e60
        required: true
        schema:
          type: string
  '/api/v1/domains/{id}/default-recipient':
    patch:
      summary: 'Update Default Recipient for a Specific Domain'
      operationId: updateDefaultRecipientForASpecificDomain
      description: 'This endpoint updates the default recipient for a specific domain.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 0ad7a75a-1517-4b86-bb8a-9443d4965e60
                    user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                    domain: example.com
                    description: null
                    from_name: null
                    aliases_count: 5
                    default_recipient:
                      id: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
                      user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                      email: me@example.com
                      can_reply_send: true
                      should_encrypt: false
                      inline_encryption: false
                      protected_headers: false
                      fingerprint: null
                      email_verified_at: '2019-10-01 09:00:00'
                      created_at: '2019-10-01 09:00:00'
                      updated_at: '2019-10-01 09:00:00'
                    active: true
                    catch_all: true
                    domain_verified_at: '2019-10-01 09:00:00'
                    domain_mx_validated_at: '2019-10-01 09:00:00'
                    domain_sending_verified_at: '2019-10-01 09:00:00'
                    created_at: '2019-10-01 09:00:00'
                    updated_at: '2019-10-01 09:00:00'
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 0ad7a75a-1517-4b86-bb8a-9443d4965e60
                      user_id:
                        type: string
                        example: ca0a4e09-c266-4f6f-845c-958db5090f09
                      domain:
                        type: string
                        example: example.com
                      description:
                        type: string
                        example: null
                      from_name:
                        type: string
                        example: null
                      aliases_count:
                        type: integer
                        example: 5
                      default_recipient:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
                          user_id:
                            type: string
                            example: ca0a4e09-c266-4f6f-845c-958db5090f09
                          email:
                            type: string
                            example: me@example.com
                          can_reply_send:
                            type: boolean
                            example: true
                          should_encrypt:
                            type: boolean
                            example: false
                          inline_encryption:
                            type: boolean
                            example: false
                          protected_headers:
                            type: boolean
                            example: false
                          fingerprint:
                            type: string
                            example: null
                          email_verified_at:
                            type: string
                            example: '2019-10-01 09:00:00'
                          created_at:
                            type: string
                            example: '2019-10-01 09:00:00'
                          updated_at:
                            type: string
                            example: '2019-10-01 09:00:00'
                      active:
                        type: boolean
                        example: true
                      catch_all:
                        type: boolean
                        example: true
                      domain_verified_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      domain_mx_validated_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      domain_sending_verified_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      created_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      updated_at:
                        type: string
                        example: '2019-10-01 09:00:00'
      tags:
        - Domains
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                default_recipient:
                  type: string
                  description: 'The id of the recipient'
                  example: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
    parameters:
      -
        in: path
        name: id
        description: 'The id of the domain to update'
        example: 0ad7a75a-1517-4b86-bb8a-9443d4965e60
        required: true
        schema:
          type: string
  /api/v1/active-domains:
    post:
      summary: 'Activate a Specific Domain'
      operationId: activateASpecificDomain
      description: 'This endpoint activates a specific domain.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 0ad7a75a-1517-4b86-bb8a-9443d4965e60
                    user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                    domain: example.com
                    description: null
                    from_name: null
                    aliases_count: 5
                    default_recipient: null
                    active: true
                    catch_all: true
                    domain_verified_at: '2019-10-01 09:00:00'
                    domain_mx_validated_at: '2019-10-01 09:00:00'
                    domain_sending_verified_at: '2019-10-01 09:00:00'
                    created_at: '2019-10-01 09:00:00'
                    updated_at: '2019-10-01 09:00:00'
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 0ad7a75a-1517-4b86-bb8a-9443d4965e60
                      user_id:
                        type: string
                        example: ca0a4e09-c266-4f6f-845c-958db5090f09
                      domain:
                        type: string
                        example: example.com
                      description:
                        type: string
                        example: null
                      from_name:
                        type: string
                        example: null
                      aliases_count:
                        type: integer
                        example: 5
                      default_recipient:
                        type: string
                        example: null
                      active:
                        type: boolean
                        example: true
                      catch_all:
                        type: boolean
                        example: true
                      domain_verified_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      domain_mx_validated_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      domain_sending_verified_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      created_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      updated_at:
                        type: string
                        example: '2019-10-01 09:00:00'
      tags:
        - Domains
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  description: 'The id for the domain'
                  example: 0ad7a75a-1517-4b86-bb8a-9443d4965e60
              required:
                - id
  '/api/v1/active-domains/{id}':
    delete:
      summary: 'Deactivate a Specific Domain'
      operationId: deactivateASpecificDomain
      description: 'This endpoint deactivates a specific domain.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        204:
          description: ''
      tags:
        - Domains
    parameters:
      -
        in: path
        name: id
        description: 'The id of the domain to deactivate'
        example: 0ad7a75a-1517-4b86-bb8a-9443d4965e60
        required: true
        schema:
          type: string
  /api/v1/catch-all-domains:
    post:
      summary: 'Enable catch-all for a Specific Domain'
      operationId: enableCatchAllForASpecificDomain
      description: 'This endpoint enables catch-all a specific domain.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 0ad7a75a-1517-4b86-bb8a-9443d4965e60
                    user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                    domain: example.com
                    from_name: null
                    description: null
                    aliases_count: 5
                    default_recipient: null
                    active: true
                    catch_all: true
                    domain_verified_at: '2019-10-01 09:00:00'
                    domain_mx_validated_at: '2019-10-01 09:00:00'
                    domain_sending_verified_at: '2019-10-01 09:00:00'
                    created_at: '2019-10-01 09:00:00'
                    updated_at: '2019-10-01 09:00:00'
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 0ad7a75a-1517-4b86-bb8a-9443d4965e60
                      user_id:
                        type: string
                        example: ca0a4e09-c266-4f6f-845c-958db5090f09
                      domain:
                        type: string
                        example: example.com
                      from_name:
                        type: string
                        example: null
                      description:
                        type: string
                        example: null
                      aliases_count:
                        type: integer
                        example: 5
                      default_recipient:
                        type: string
                        example: null
                      active:
                        type: boolean
                        example: true
                      catch_all:
                        type: boolean
                        example: true
                      domain_verified_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      domain_mx_validated_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      domain_sending_verified_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      created_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      updated_at:
                        type: string
                        example: '2019-10-01 09:00:00'
      tags:
        - Domains
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  description: 'The id for the domain'
                  example: 0ad7a75a-1517-4b86-bb8a-9443d4965e60
              required:
                - id
  '/api/v1/catch-all-domains/{id}':
    delete:
      summary: 'Disable catch-all for a Specific Domain'
      operationId: disableCatchAllForASpecificDomain
      description: 'This endpoint disables catch-all for a specific domain.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        204:
          description: ''
      tags:
        - Domains
    parameters:
      -
        in: path
        name: id
        description: 'The id of the domain to disable catch-all'
        example: 0ad7a75a-1517-4b86-bb8a-9443d4965e60
        required: true
        schema:
          type: string
  /api/v1/failed-deliveries:
    get:
      summary: 'Get All Failed Deliveries'
      operationId: getAllFailedDeliveries
      description: 'This endpoint retrieves all failed deliveries.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      id: 0222b9fe-59d0-4066-a711-c44ad42f1734
                      user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                      recipient_id: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
                      recipient_email: user@recipient.com
                      alias_id: 50c9e585-e7f5-41c4-9016-9014c15454bc
                      alias_email: alias@anonaddy.com
                      bounce_type: spam
                      remote_mta: mail.icloud.com
                      sender: sender@example.com
                      email_type: F
                      status: 5.7.1
                      code: 'smtp; 554 5.7.1 [CS01] Message rejected due to local policy. Please visit https://support.apple.com/en-us/HT204137'
                      attempted_at: '2019-10-01 09:00:00'
                      created_at: '2019-10-01 09:00:00'
                      updated_at: '2019-10-01 09:00:00'
                    -
                      id: f6d1cfe6-46b6-4068-5881-b7cd07dac8a2
                      user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                      recipient_id: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
                      recipient_email: user@recipient.com
                      alias_id: 50c9e585-e7f5-41c4-9016-9014c15454bc
                      alias_email: alias@anonaddy.com
                      bounce_type: hard
                      remote_mta: mail.example.com
                      sender: sender@example.com
                      email_type: F
                      status: 5.7.1
                      code: 'smtp; 550 5.7.1 <does-not-exist@example.com>: Recipient address rejected: Recipient not found'
                      attempted_at: '2019-10-01 09:00:00'
                      created_at: '2019-10-01 09:00:00'
                      updated_at: '2019-10-01 09:00:00'
                properties:
                  data:
                    type: array
                    example:
                      -
                        id: 0222b9fe-59d0-4066-a711-c44ad42f1734
                        user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                        recipient_id: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
                        recipient_email: user@recipient.com
                        alias_id: 50c9e585-e7f5-41c4-9016-9014c15454bc
                        alias_email: alias@anonaddy.com
                        bounce_type: spam
                        remote_mta: mail.icloud.com
                        sender: sender@example.com
                        email_type: F
                        status: 5.7.1
                        code: 'smtp; 554 5.7.1 [CS01] Message rejected due to local policy. Please visit https://support.apple.com/en-us/HT204137'
                        attempted_at: '2019-10-01 09:00:00'
                        created_at: '2019-10-01 09:00:00'
                        updated_at: '2019-10-01 09:00:00'
                      -
                        id: f6d1cfe6-46b6-4068-5881-b7cd07dac8a2
                        user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                        recipient_id: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
                        recipient_email: user@recipient.com
                        alias_id: 50c9e585-e7f5-41c4-9016-9014c15454bc
                        alias_email: alias@anonaddy.com
                        bounce_type: hard
                        remote_mta: mail.example.com
                        sender: sender@example.com
                        email_type: F
                        status: 5.7.1
                        code: 'smtp; 550 5.7.1 <does-not-exist@example.com>: Recipient address rejected: Recipient not found'
                        attempted_at: '2019-10-01 09:00:00'
                        created_at: '2019-10-01 09:00:00'
                        updated_at: '2019-10-01 09:00:00'
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          example: 0222b9fe-59d0-4066-a711-c44ad42f1734
                        user_id:
                          type: string
                          example: ca0a4e09-c266-4f6f-845c-958db5090f09
                        recipient_id:
                          type: string
                          example: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
                        recipient_email:
                          type: string
                          example: user@recipient.com
                        alias_id:
                          type: string
                          example: 50c9e585-e7f5-41c4-9016-9014c15454bc
                        alias_email:
                          type: string
                          example: alias@anonaddy.com
                        bounce_type:
                          type: string
                          example: spam
                        remote_mta:
                          type: string
                          example: mail.icloud.com
                        sender:
                          type: string
                          example: sender@example.com
                        email_type:
                          type: string
                          example: F
                        status:
                          type: string
                          example: 5.7.1
                        code:
                          type: string
                          example: 'smtp; 554 5.7.1 [CS01] Message rejected due to local policy. Please visit https://support.apple.com/en-us/HT204137'
                        attempted_at:
                          type: string
                          example: '2019-10-01 09:00:00'
                        created_at:
                          type: string
                          example: '2019-10-01 09:00:00'
                        updated_at:
                          type: string
                          example: '2019-10-01 09:00:00'
      tags:
        - 'Failed Deliveries'
  '/api/v1/failed-deliveries/{id}':
    get:
      summary: 'Get a Specific Failed Delivery'
      operationId: getASpecificFailedDelivery
      description: 'This endpoint retrieves a specific failed delivery.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 0222b9fe-59d0-4066-a711-c44ad42f1734
                    user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                    recipient_id: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
                    recipient_email: user@recipient.com
                    alias_id: 50c9e585-e7f5-41c4-9016-9014c15454bc
                    alias_email: alias@anonaddy.com
                    bounce_type: spam
                    remote_mta: mail.icloud.com
                    sender: sender@example.com
                    email_type: F
                    status: 5.7.1
                    code: 'smtp; 554 5.7.1 [CS01] Message rejected due to local policy. Please visit https://support.apple.com/en-us/HT204137'
                    attempted_at: '2019-10-01 09:00:00'
                    created_at: '2019-10-01 09:00:00'
                    updated_at: '2019-10-01 09:00:00'
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 0222b9fe-59d0-4066-a711-c44ad42f1734
                      user_id:
                        type: string
                        example: ca0a4e09-c266-4f6f-845c-958db5090f09
                      recipient_id:
                        type: string
                        example: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
                      recipient_email:
                        type: string
                        example: user@recipient.com
                      alias_id:
                        type: string
                        example: 50c9e585-e7f5-41c4-9016-9014c15454bc
                      alias_email:
                        type: string
                        example: alias@anonaddy.com
                      bounce_type:
                        type: string
                        example: spam
                      remote_mta:
                        type: string
                        example: mail.icloud.com
                      sender:
                        type: string
                        example: sender@example.com
                      email_type:
                        type: string
                        example: F
                      status:
                        type: string
                        example: 5.7.1
                      code:
                        type: string
                        example: 'smtp; 554 5.7.1 [CS01] Message rejected due to local policy. Please visit https://support.apple.com/en-us/HT204137'
                      attempted_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      created_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      updated_at:
                        type: string
                        example: '2019-10-01 09:00:00'
      tags:
        - 'Failed Deliveries'
    delete:
      summary: 'Delete a Specific Failed Delivery'
      operationId: deleteASpecificFailedDelivery
      description: 'This endpoint deletes a specific failed delivery.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        204:
          description: ''
      tags:
        - 'Failed Deliveries'
    parameters:
      -
        in: path
        name: id
        description: 'The id of the failed delivery to retrieve'
        example: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
        required: true
        schema:
          type: string
  /api/v1/recipients:
    get:
      summary: 'Get All Recipients'
      operationId: getAllRecipients
      description: 'This endpoint retrieves all recipients.'
      parameters:
        -
          in: query
          name: 'filter[verified]'
          description: 'Choose to return recipients that are verified or unverified. Options: true, false.'
          example: 'true'
          required: false
          schema:
            type: string
            description: 'Choose to return recipients that are verified or unverified. Options: true, false.'
            example: 'true'
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      id: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
                      user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                      email: me@example.com
                      can_reply_send: true
                      should_encrypt: false
                      inline_encryption: false
                      protected_headers: false
                      fingerprint: null
                      email_verified_at: '2019-10-01 09:00:00'
                      aliases_count: 5
                      created_at: '2019-10-01 09:00:00'
                      updated_at: '2019-10-01 09:00:00'
                    -
                      id: 8f515035-efed-4daa-b708-9692a155fa14
                      user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                      email: hello@example.com
                      can_reply_send: true
                      should_encrypt: false
                      inline_encryption: false
                      protected_headers: false
                      fingerprint: null
                      email_verified_at: '2019-10-01 09:00:00'
                      aliases_count: 0
                      created_at: '2019-10-01 09:00:00'
                      updated_at: '2019-10-01 09:00:00'
                properties:
                  data:
                    type: array
                    example:
                      -
                        id: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
                        user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                        email: me@example.com
                        can_reply_send: true
                        should_encrypt: false
                        inline_encryption: false
                        protected_headers: false
                        fingerprint: null
                        email_verified_at: '2019-10-01 09:00:00'
                        aliases_count: 5
                        created_at: '2019-10-01 09:00:00'
                        updated_at: '2019-10-01 09:00:00'
                      -
                        id: 8f515035-efed-4daa-b708-9692a155fa14
                        user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                        email: hello@example.com
                        can_reply_send: true
                        should_encrypt: false
                        inline_encryption: false
                        protected_headers: false
                        fingerprint: null
                        email_verified_at: '2019-10-01 09:00:00'
                        aliases_count: 0
                        created_at: '2019-10-01 09:00:00'
                        updated_at: '2019-10-01 09:00:00'
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          example: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
                        user_id:
                          type: string
                          example: ca0a4e09-c266-4f6f-845c-958db5090f09
                        email:
                          type: string
                          example: me@example.com
                        can_reply_send:
                          type: boolean
                          example: true
                        should_encrypt:
                          type: boolean
                          example: false
                        inline_encryption:
                          type: boolean
                          example: false
                        protected_headers:
                          type: boolean
                          example: false
                        fingerprint:
                          type: string
                          example: null
                        email_verified_at:
                          type: string
                          example: '2019-10-01 09:00:00'
                        aliases_count:
                          type: integer
                          example: 5
                        created_at:
                          type: string
                          example: '2019-10-01 09:00:00'
                        updated_at:
                          type: string
                          example: '2019-10-01 09:00:00'
      tags:
        - Recipients
    post:
      summary: 'Create New Recipient'
      operationId: createNewRecipient
      description: 'This endpoint creates a new recipient.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        201:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
                    user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                    email: me@example.com
                    can_reply_send: true
                    should_encrypt: false
                    inline_encryption: false
                    protected_headers: false
                    fingerprint: null
                    email_verified_at: null
                    aliases_count: 0
                    created_at: '2019-10-01 09:00:00'
                    updated_at: '2019-10-01 09:00:00'
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
                      user_id:
                        type: string
                        example: ca0a4e09-c266-4f6f-845c-958db5090f09
                      email:
                        type: string
                        example: me@example.com
                      can_reply_send:
                        type: boolean
                        example: true
                      should_encrypt:
                        type: boolean
                        example: false
                      inline_encryption:
                        type: boolean
                        example: false
                      protected_headers:
                        type: boolean
                        example: false
                      fingerprint:
                        type: string
                        example: null
                      email_verified_at:
                        type: string
                        example: null
                      aliases_count:
                        type: integer
                        example: 0
                      created_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      updated_at:
                        type: string
                        example: '2019-10-01 09:00:00'
      tags:
        - Recipients
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                  description: 'The email of the recipient'
                  example: me@example.com
              required:
                - email
  '/api/v1/recipients/{id}':
    get:
      summary: 'Get a Specific Recipient'
      operationId: getASpecificRecipient
      description: 'This endpoint retrieves a specific recipient.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
                    user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                    email: me@example.com
                    can_reply_send: true
                    should_encrypt: false
                    inline_encryption: false
                    protected_headers: false
                    fingerprint: null
                    email_verified_at: null
                    aliases_count: 5
                    created_at: '2019-10-01 09:00:00'
                    updated_at: '2019-10-01 09:00:00'
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
                      user_id:
                        type: string
                        example: ca0a4e09-c266-4f6f-845c-958db5090f09
                      email:
                        type: string
                        example: me@example.com
                      can_reply_send:
                        type: boolean
                        example: true
                      should_encrypt:
                        type: boolean
                        example: false
                      inline_encryption:
                        type: boolean
                        example: false
                      protected_headers:
                        type: boolean
                        example: false
                      fingerprint:
                        type: string
                        example: null
                      email_verified_at:
                        type: string
                        example: null
                      aliases_count:
                        type: integer
                        example: 5
                      created_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      updated_at:
                        type: string
                        example: '2019-10-01 09:00:00'
      tags:
        - Recipients
    delete:
      summary: 'Delete a Specific Recipient'
      operationId: deleteASpecificRecipient
      description: 'This endpoint deletes a specific recipient.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        204:
          description: ''
      tags:
        - Recipients
    parameters:
      -
        in: path
        name: id
        description: 'The id of the recipient to retrieve'
        example: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
        required: true
        schema:
          type: string
  /api/v1/recipients/email/resend:
    post:
      summary: 'Resend the verification email for a recipient'
      operationId: resendTheVerificationEmailForARecipient
      description: 'This endpoint can be used to resend the verification email when adding a new recipient'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example: {  }
                properties: {  }
      tags:
        - Recipients
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                recipient_id:
                  type: string
                  description: 'The ID of the recipient'
                  example: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
              required:
                - recipient_id
  '/api/v1/recipient-keys/{id}':
    patch:
      summary: 'Add Public Key for a Specific Recipient'
      operationId: addPublicKeyForASpecificRecipient
      description: 'This endpoint adds a public GPG/OpenPGP key for a specific recipient. Make sure to escape the json using something like - https://jsonformatter.org/json-escape'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
                    user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                    email: me@example.com
                    can_reply_send: true
                    should_encrypt: true
                    inline_encryption: false
                    protected_headers: false
                    fingerprint: 70E400B5064061EB84181DABEDADE14D67325B36
                    email_verified_at: '2019-10-01 09:00:00'
                    aliases_count: 5
                    created_at: '2019-10-01 09:00:00'
                    updated_at: '2019-10-01 09:00:00'
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
                      user_id:
                        type: string
                        example: ca0a4e09-c266-4f6f-845c-958db5090f09
                      email:
                        type: string
                        example: me@example.com
                      can_reply_send:
                        type: boolean
                        example: true
                      should_encrypt:
                        type: boolean
                        example: true
                      inline_encryption:
                        type: boolean
                        example: false
                      protected_headers:
                        type: boolean
                        example: false
                      fingerprint:
                        type: string
                        example: 70E400B5064061EB84181DABEDADE14D67325B36
                      email_verified_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      aliases_count:
                        type: integer
                        example: 5
                      created_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      updated_at:
                        type: string
                        example: '2019-10-01 09:00:00'
      tags:
        - Recipients
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                key_data:
                  type: string
                  description: 'The public key data for the recipient'
                  example: '-----BEGIN PGP PUBLIC KEY BLOCK-----'
              required:
                - key_data
    delete:
      summary: 'Remove Public Key for a Specific Recipient'
      operationId: removePublicKeyForASpecificRecipient
      description: 'This endpoint remnoves a public GPG/OpenPGP key for a specific recipient.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        204:
          description: ''
      tags:
        - Recipients
    parameters:
      -
        in: path
        name: id
        description: 'The id of the recipient to add the key for'
        example: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
        required: true
        schema:
          type: string
  /api/v1/encrypted-recipients:
    post:
      summary: 'Enable Encryption for a Specific Recipient'
      operationId: enableEncryptionForASpecificRecipient
      description: 'This endpoint enables encryption for a specific recipient.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
                    user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                    email: me@example.com
                    can_reply_send: true
                    should_encrypt: true
                    inline_encryption: false
                    protected_headers: false
                    fingerprint: 70E400B5064061EB84181DABEDADE14D67325B36
                    email_verified_at: '2019-10-01 09:00:00'
                    aliases_count: 5
                    created_at: '2019-10-01 09:00:00'
                    updated_at: '2019-10-01 09:00:00'
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
                      user_id:
                        type: string
                        example: ca0a4e09-c266-4f6f-845c-958db5090f09
                      email:
                        type: string
                        example: me@example.com
                      can_reply_send:
                        type: boolean
                        example: true
                      should_encrypt:
                        type: boolean
                        example: true
                      inline_encryption:
                        type: boolean
                        example: false
                      protected_headers:
                        type: boolean
                        example: false
                      fingerprint:
                        type: string
                        example: 70E400B5064061EB84181DABEDADE14D67325B36
                      email_verified_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      aliases_count:
                        type: integer
                        example: 5
                      created_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      updated_at:
                        type: string
                        example: '2019-10-01 09:00:00'
      tags:
        - Recipients
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  description: 'The id for the recipient'
                  example: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
              required:
                - id
  '/api/v1/encrypted-recipients/{id}':
    delete:
      summary: 'Disable Encryption for a Specific Recipient'
      operationId: disableEncryptionForASpecificRecipient
      description: 'This endpoint disables encryption for a specific recipient.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        204:
          description: ''
      tags:
        - Recipients
    parameters:
      -
        in: path
        name: id
        description: 'The id of the recipient to disable encryption for'
        example: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
        required: true
        schema:
          type: string
  /api/v1/inline-encrypted-recipients:
    post:
      summary: 'Enable Inline (PGP/Inline) Encryption for a Specific Recipient'
      operationId: enableInlinePGPInlineEncryptionForASpecificRecipient
      description: 'This endpoint enables inline encryption for a specific recipient.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
                    user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                    email: me@example.com
                    can_reply_send: true
                    should_encrypt: true
                    inline_encryption: true
                    protected_headers: false
                    fingerprint: 70E400B5064061EB84181DABEDADE14D67325B36
                    email_verified_at: '2019-10-01 09:00:00'
                    aliases_count: 5
                    created_at: '2019-10-01 09:00:00'
                    updated_at: '2019-10-01 09:00:00'
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
                      user_id:
                        type: string
                        example: ca0a4e09-c266-4f6f-845c-958db5090f09
                      email:
                        type: string
                        example: me@example.com
                      can_reply_send:
                        type: boolean
                        example: true
                      should_encrypt:
                        type: boolean
                        example: true
                      inline_encryption:
                        type: boolean
                        example: true
                      protected_headers:
                        type: boolean
                        example: false
                      fingerprint:
                        type: string
                        example: 70E400B5064061EB84181DABEDADE14D67325B36
                      email_verified_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      aliases_count:
                        type: integer
                        example: 5
                      created_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      updated_at:
                        type: string
                        example: '2019-10-01 09:00:00'
      tags:
        - Recipients
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  description: 'The id for the recipient'
                  example: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
              required:
                - id
  '/api/v1/inline-encrypted-recipients/{id}':
    delete:
      summary: 'Disable Inline (PGP/Inline) Encryption for a Specific Recipient'
      operationId: disableInlinePGPInlineEncryptionForASpecificRecipient
      description: 'This endpoint disables inline encryption for a specific recipient.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        204:
          description: ''
      tags:
        - Recipients
    parameters:
      -
        in: path
        name: id
        description: 'The id of the recipient to disable inline encryption for'
        example: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
        required: true
        schema:
          type: string
  /api/v1/protected-headers-recipients:
    post:
      summary: 'Enable Protected Headers (hide subject) for a Specific Recipient'
      operationId: enableProtectedHeadershideSubjectForASpecificRecipient
      description: 'This endpoint enables protected headers which hides the message subject for a specific recipient.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
                    user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                    email: me@example.com
                    can_reply_send: true
                    should_encrypt: true
                    inline_encryption: false
                    protected_headers: true
                    fingerprint: 70E400B5064061EB84181DABEDADE14D67325B36
                    email_verified_at: '2019-10-01 09:00:00'
                    aliases_count: 5
                    created_at: '2019-10-01 09:00:00'
                    updated_at: '2019-10-01 09:00:00'
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
                      user_id:
                        type: string
                        example: ca0a4e09-c266-4f6f-845c-958db5090f09
                      email:
                        type: string
                        example: me@example.com
                      can_reply_send:
                        type: boolean
                        example: true
                      should_encrypt:
                        type: boolean
                        example: true
                      inline_encryption:
                        type: boolean
                        example: false
                      protected_headers:
                        type: boolean
                        example: true
                      fingerprint:
                        type: string
                        example: 70E400B5064061EB84181DABEDADE14D67325B36
                      email_verified_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      aliases_count:
                        type: integer
                        example: 5
                      created_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      updated_at:
                        type: string
                        example: '2019-10-01 09:00:00'
      tags:
        - Recipients
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  description: 'The id for the recipient'
                  example: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
              required:
                - id
  '/api/v1/protected-headers-recipients/{id}':
    delete:
      summary: 'Disable Protected Headers (hide subject) for a Specific Recipient'
      operationId: disableProtectedHeadershideSubjectForASpecificRecipient
      description: 'This endpoint disables protected headers for a specific recipient.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        204:
          description: ''
      tags:
        - Recipients
    parameters:
      -
        in: path
        name: id
        description: 'The id of the recipient to disable protected headers for'
        example: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
        required: true
        schema:
          type: string
  /api/v1/allowed-recipients:
    post:
      summary: 'Allow a Specific Recipient to reply/send from your aliases'
      operationId: allowASpecificRecipientToReplysendFromYourAliases
      description: 'This endpoint allows a specific recipient to reply/send.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
                    user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                    email: me@example.com
                    can_reply_send: true
                    should_encrypt: true
                    inline_encryption: false
                    protected_headers: false
                    fingerprint: 70E400B5064061EB84181DABEDADE14D67325B36
                    email_verified_at: '2019-10-01 09:00:00'
                    aliases_count: 5
                    created_at: '2019-10-01 09:00:00'
                    updated_at: '2019-10-01 09:00:00'
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
                      user_id:
                        type: string
                        example: ca0a4e09-c266-4f6f-845c-958db5090f09
                      email:
                        type: string
                        example: me@example.com
                      can_reply_send:
                        type: boolean
                        example: true
                      should_encrypt:
                        type: boolean
                        example: true
                      inline_encryption:
                        type: boolean
                        example: false
                      protected_headers:
                        type: boolean
                        example: false
                      fingerprint:
                        type: string
                        example: 70E400B5064061EB84181DABEDADE14D67325B36
                      email_verified_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      aliases_count:
                        type: integer
                        example: 5
                      created_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      updated_at:
                        type: string
                        example: '2019-10-01 09:00:00'
      tags:
        - Recipients
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  description: 'The id for the recipient'
                  example: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
              required:
                - id
  '/api/v1/allowed-recipients/{id}':
    delete:
      summary: 'Disallow a Specific Recipient to reply/send from your aliases'
      operationId: disallowASpecificRecipientToReplysendFromYourAliases
      description: 'This endpoint disallows a specific recipient to reply/send.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        204:
          description: ''
      tags:
        - Recipients
    parameters:
      -
        in: path
        name: id
        description: 'The id of the recipient to disallow replies/sends for'
        example: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
        required: true
        schema:
          type: string
  /api/v1/rules:
    get:
      summary: 'Get All Rules'
      operationId: getAllRules
      description: 'This endpoint retrieves all rules.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      id: 50c9e585-e7f5-41c4-9016-9014c15454bc
                      user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                      name: 'First Rule'
                      order: 0
                      conditions:
                        -
                          type: sender
                          match: 'is not'
                          values:
                            - will@anonaddy.com
                      actions:
                        -
                          type: subject
                          value: 'New Subject'
                      operator: AND
                      forwards: true
                      replies: false
                      sends: false
                      active: true
                      applied: 5
                      last_applied: '2019-10-01 09:00:00'
                      created_at: '2019-10-01 09:00:00'
                      updated_at: '2019-10-01 09:00:00'
                    -
                      id: c549db7d-5fac-4b09-9443-9e47f644d29f
                      user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                      name: 'Second Rule'
                      order: 0
                      conditions:
                        -
                          type: sender
                          match: 'is exactly'
                          values:
                            - will@anonaddy.com
                      actions:
                        -
                          type: subject
                          value: 'Another Subject'
                      operator: OR
                      forwards: true
                      replies: false
                      sends: false
                      active: true
                      applied: 3
                      last_applied: '2019-10-01 09:00:00'
                      created_at: '2019-10-01 09:00:00'
                      updated_at: '2019-10-01 09:00:00'
                properties:
                  data:
                    type: array
                    example:
                      -
                        id: 50c9e585-e7f5-41c4-9016-9014c15454bc
                        user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                        name: 'First Rule'
                        order: 0
                        conditions:
                          -
                            type: sender
                            match: 'is not'
                            values:
                              - will@anonaddy.com
                        actions:
                          -
                            type: subject
                            value: 'New Subject'
                        operator: AND
                        forwards: true
                        replies: false
                        sends: false
                        active: true
                        applied: 5
                        last_applied: '2019-10-01 09:00:00'
                        created_at: '2019-10-01 09:00:00'
                        updated_at: '2019-10-01 09:00:00'
                      -
                        id: c549db7d-5fac-4b09-9443-9e47f644d29f
                        user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                        name: 'Second Rule'
                        order: 0
                        conditions:
                          -
                            type: sender
                            match: 'is exactly'
                            values:
                              - will@anonaddy.com
                        actions:
                          -
                            type: subject
                            value: 'Another Subject'
                        operator: OR
                        forwards: true
                        replies: false
                        sends: false
                        active: true
                        applied: 3
                        last_applied: '2019-10-01 09:00:00'
                        created_at: '2019-10-01 09:00:00'
                        updated_at: '2019-10-01 09:00:00'
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          example: 50c9e585-e7f5-41c4-9016-9014c15454bc
                        user_id:
                          type: string
                          example: ca0a4e09-c266-4f6f-845c-958db5090f09
                        name:
                          type: string
                          example: 'First Rule'
                        order:
                          type: integer
                          example: 0
                        conditions:
                          type: array
                          example:
                            -
                              type: sender
                              match: 'is not'
                              values:
                                - will@anonaddy.com
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                                example: sender
                              match:
                                type: string
                                example: 'is not'
                              values:
                                type: array
                                example:
                                  - will@anonaddy.com
                                items:
                                  type: string
                        actions:
                          type: array
                          example:
                            -
                              type: subject
                              value: 'New Subject'
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                                example: subject
                              value:
                                type: string
                                example: 'New Subject'
                        operator:
                          type: string
                          example: AND
                        forwards:
                          type: boolean
                          example: true
                        replies:
                          type: boolean
                          example: false
                        sends:
                          type: boolean
                          example: false
                        active:
                          type: boolean
                          example: true
                        applied:
                          type: integer
                          example: 5
                        last_applied:
                          type: string
                          example: '2019-10-01 09:00:00'
                        created_at:
                          type: string
                          example: '2019-10-01 09:00:00'
                        updated_at:
                          type: string
                          example: '2019-10-01 09:00:00'
      tags:
        - Rules
    post:
      summary: 'Create New Rule'
      operationId: createNewRule
      description: 'This endpoint creates a new rule.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        201:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 50c9e585-e7f5-41c4-9016-9014c15454bc
                    user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                    name: 'First Rule'
                    order: 0
                    conditions:
                      -
                        type: sender
                        match: 'is exactly'
                        values:
                          - will@anonaddy.com
                    actions:
                      -
                        type: subject
                        value: 'New Subject!'
                    operator: AND
                    forwards: true
                    replies: false
                    sends: false
                    active: true
                    applied: 0
                    last_applied: null
                    created_at: '2019-10-01 09:00:00'
                    updated_at: '2019-10-01 09:00:00'
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 50c9e585-e7f5-41c4-9016-9014c15454bc
                      user_id:
                        type: string
                        example: ca0a4e09-c266-4f6f-845c-958db5090f09
                      name:
                        type: string
                        example: 'First Rule'
                      order:
                        type: integer
                        example: 0
                      conditions:
                        type: array
                        example:
                          -
                            type: sender
                            match: 'is exactly'
                            values:
                              - will@anonaddy.com
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              example: sender
                            match:
                              type: string
                              example: 'is exactly'
                            values:
                              type: array
                              example:
                                - will@anonaddy.com
                              items:
                                type: string
                      actions:
                        type: array
                        example:
                          -
                            type: subject
                            value: 'New Subject!'
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              example: subject
                            value:
                              type: string
                              example: 'New Subject!'
                      operator:
                        type: string
                        example: AND
                      forwards:
                        type: boolean
                        example: true
                      replies:
                        type: boolean
                        example: false
                      sends:
                        type: boolean
                        example: false
                      active:
                        type: boolean
                        example: true
                      applied:
                        type: integer
                        example: 0
                      last_applied:
                        type: string
                        example: null
                      created_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      updated_at:
                        type: string
                        example: '2019-10-01 09:00:00'
      tags:
        - Rules
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the rule'
                  example: 'First Rule'
                conditions:
                  type: object
                  description: 'The conditions for the rule.'
                  example: []
                  properties:
                    type:
                      type: string
                      description: 'The type for the condition, options - sender, subject, alias.'
                      example: sender
                    match:
                      type: string
                      description: 'The match type for the condition, options - is exactly, is not, contains, does not contain, starts with, does not start with, ends with, does not end with.'
                      example: 'is exactly'
                    values:
                      type: array
                      description: 'The array of values you would like to match.'
                      example:
                        - will@anonaddy.com
                      items:
                        type: string
                actions:
                  type: object
                  description: 'The actions for the rule.'
                  example: []
                  properties:
                    type:
                      type: string
                      description: 'The type for the action, options - subject, displayFrom, encryption, banner, block.'
                      example: subject
                    value:
                      type: string
                      description: 'The value for the action.'
                      example: 'New Subject!'
                operator:
                  type: string
                  description: 'The chosen operator for the rule, options - AND, OR'
                  example: AND
                forwards:
                  type: boolean
                  description: 'Whether to apply rule to forwarded messages.'
                  example: true
                replies:
                  type: boolean
                  description: 'Whether to apply rule to replies from aliases.'
                  example: false
                sends:
                  type: boolean
                  description: 'Whether to apply rule to sends from aliases.'
                  example: false
              required:
                - name
                - conditions
                - actions
  '/api/v1/rules/{id}':
    get:
      summary: 'Get a Specific Rule'
      operationId: getASpecificRule
      description: 'This endpoint retrieves a specific rule.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 50c9e585-e7f5-41c4-9016-9014c15454bc
                    user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                    name: 'First Rule'
                    order: 0
                    conditions:
                      -
                        type: sender
                        match: 'is exactly'
                        values:
                          - will@anonaddy.com
                    actions:
                      -
                        type: subject
                        value: 'New Subject!'
                    operator: AND
                    forwards: true
                    replies: false
                    sends: false
                    active: true
                    applied: 5
                    last_applied: '2019-10-01 09:00:00'
                    created_at: '2019-10-01 09:00:00'
                    updated_at: '2019-10-01 09:00:00'
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 50c9e585-e7f5-41c4-9016-9014c15454bc
                      user_id:
                        type: string
                        example: ca0a4e09-c266-4f6f-845c-958db5090f09
                      name:
                        type: string
                        example: 'First Rule'
                      order:
                        type: integer
                        example: 0
                      conditions:
                        type: array
                        example:
                          -
                            type: sender
                            match: 'is exactly'
                            values:
                              - will@anonaddy.com
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              example: sender
                            match:
                              type: string
                              example: 'is exactly'
                            values:
                              type: array
                              example:
                                - will@anonaddy.com
                              items:
                                type: string
                      actions:
                        type: array
                        example:
                          -
                            type: subject
                            value: 'New Subject!'
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              example: subject
                            value:
                              type: string
                              example: 'New Subject!'
                      operator:
                        type: string
                        example: AND
                      forwards:
                        type: boolean
                        example: true
                      replies:
                        type: boolean
                        example: false
                      sends:
                        type: boolean
                        example: false
                      active:
                        type: boolean
                        example: true
                      applied:
                        type: integer
                        example: 5
                      last_applied:
                        type: string
                        example: '2019-10-01 09:00:00'
                      created_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      updated_at:
                        type: string
                        example: '2019-10-01 09:00:00'
      tags:
        - Rules
    patch:
      summary: 'Update a Specific Rule'
      operationId: updateASpecificRule
      description: 'This endpoint updates a specific rule.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 50c9e585-e7f5-41c4-9016-9014c15454bc
                    user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                    name: 'New Name'
                    order: 0
                    conditions:
                      -
                        type: sender
                        match: 'is exactly'
                        values:
                          - will@anonaddy.com
                    actions:
                      -
                        type: subject
                        value: 'New Subject!'
                    operator: AND
                    forwards: true
                    replies: false
                    sends: false
                    active: true
                    applied: 5
                    last_applied: '2019-10-01 09:00:00'
                    created_at: '2019-10-01 09:00:00'
                    updated_at: '2019-10-01 09:00:00'
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 50c9e585-e7f5-41c4-9016-9014c15454bc
                      user_id:
                        type: string
                        example: ca0a4e09-c266-4f6f-845c-958db5090f09
                      name:
                        type: string
                        example: 'New Name'
                      order:
                        type: integer
                        example: 0
                      conditions:
                        type: array
                        example:
                          -
                            type: sender
                            match: 'is exactly'
                            values:
                              - will@anonaddy.com
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              example: sender
                            match:
                              type: string
                              example: 'is exactly'
                            values:
                              type: array
                              example:
                                - will@anonaddy.com
                              items:
                                type: string
                      actions:
                        type: array
                        example:
                          -
                            type: subject
                            value: 'New Subject!'
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              example: subject
                            value:
                              type: string
                              example: 'New Subject!'
                      operator:
                        type: string
                        example: AND
                      forwards:
                        type: boolean
                        example: true
                      replies:
                        type: boolean
                        example: false
                      sends:
                        type: boolean
                        example: false
                      active:
                        type: boolean
                        example: true
                      applied:
                        type: integer
                        example: 5
                      last_applied:
                        type: string
                        example: '2019-10-01 09:00:00'
                      created_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      updated_at:
                        type: string
                        example: '2019-10-01 09:00:00'
      tags:
        - Rules
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the rule'
                  example: 'New Name'
                conditions:
                  type: object
                  description: 'The conditions for the rule.'
                  example: []
                  properties:
                    type:
                      type: string
                      description: 'The type for the condition, options - sender, subject, alias.'
                      example: sender
                    match:
                      type: string
                      description: 'The match type for the condition, options - is exactly, is not, contains, does not contain, starts with, does not start with, ends with, does not end with.'
                      example: 'is exactly'
                    values:
                      type: array
                      description: 'The array of values you would like to match.'
                      example:
                        - will@anonaddy.com
                      items:
                        type: string
                actions:
                  type: object
                  description: 'The actions for the rule.'
                  example: []
                  properties:
                    type:
                      type: string
                      description: 'The type for the action, options - subject, displayFrom, encryption, banner, block.'
                      example: subject
                    value:
                      type: string
                      description: 'The value for the action.'
                      example: 'New Subject!'
                operator:
                  type: string
                  description: 'The chosen operator for the rule, options - AND, OR'
                  example: AND
                forwards:
                  type: boolean
                  description: 'Whether to apply rule to forwarded messages.'
                  example: true
                replies:
                  type: boolean
                  description: 'Whether to apply rule to replies from aliases.'
                  example: false
                sends:
                  type: boolean
                  description: 'Whether to apply rule to sends from aliases.'
                  example: false
              required:
                - name
                - conditions
                - actions
    delete:
      summary: 'Delete a Specific Rule'
      operationId: deleteASpecificRule
      description: 'This endpoint deletes a specific rule.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        204:
          description: ''
      tags:
        - Rules
    parameters:
      -
        in: path
        name: id
        description: 'The id of the rule to retrieve'
        example: 50c9e585-e7f5-41c4-9016-9014c15454bc
        required: true
        schema:
          type: string
  /api/v1/reorder-rules:
    post:
      summary: 'Update the order of the Rules'
      operationId: updateTheOrderOfTheRules
      description: 'This endpoint updates the order of the rules.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example: {  }
                properties: {  }
      tags:
        - Rules
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                ids:
                  type: array
                  description: 'The new order of the rules'
                  example:
                    - c549db7d-5fac-4b09-9443-9e47f644d29f
                    - 50c9e585-e7f5-41c4-9016-9014c15454bc
                  items:
                    type: string
              required:
                - ids
  /api/v1/active-rules:
    post:
      summary: 'Activate a Specific Rule'
      operationId: activateASpecificRule
      description: 'This endpoint activates a specific Rule.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 50c9e585-e7f5-41c4-9016-9014c15454bc
                    user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                    name: 'First Rule'
                    order: 0
                    conditions:
                      -
                        type: sender
                        match: 'is exactly'
                        values:
                          - will@anonaddy.com
                    actions:
                      -
                        type: subject
                        value: 'New Subject!'
                    operator: AND
                    forwards: true
                    replies: false
                    sends: false
                    active: true
                    applied: 5
                    last_applied: '2019-10-01 09:00:00'
                    created_at: '2019-10-01 09:00:00'
                    updated_at: '2019-10-01 09:00:00'
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 50c9e585-e7f5-41c4-9016-9014c15454bc
                      user_id:
                        type: string
                        example: ca0a4e09-c266-4f6f-845c-958db5090f09
                      name:
                        type: string
                        example: 'First Rule'
                      order:
                        type: integer
                        example: 0
                      conditions:
                        type: array
                        example:
                          -
                            type: sender
                            match: 'is exactly'
                            values:
                              - will@anonaddy.com
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              example: sender
                            match:
                              type: string
                              example: 'is exactly'
                            values:
                              type: array
                              example:
                                - will@anonaddy.com
                              items:
                                type: string
                      actions:
                        type: array
                        example:
                          -
                            type: subject
                            value: 'New Subject!'
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              example: subject
                            value:
                              type: string
                              example: 'New Subject!'
                      operator:
                        type: string
                        example: AND
                      forwards:
                        type: boolean
                        example: true
                      replies:
                        type: boolean
                        example: false
                      sends:
                        type: boolean
                        example: false
                      active:
                        type: boolean
                        example: true
                      applied:
                        type: integer
                        example: 5
                      last_applied:
                        type: string
                        example: '2019-10-01 09:00:00'
                      created_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      updated_at:
                        type: string
                        example: '2019-10-01 09:00:00'
      tags:
        - Rules
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  description: 'The id for the rule'
                  example: 50c9e585-e7f5-41c4-9016-9014c15454bc
              required:
                - id
  '/api/v1/active-rules/{id}':
    delete:
      summary: 'Deactivate a Specific Rule'
      operationId: deactivateASpecificRule
      description: 'This endpoint deactivates a specific rule.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        204:
          description: ''
      tags:
        - Rules
    parameters:
      -
        in: path
        name: id
        description: 'The id of the rule to deactivate'
        example: 50c9e585-e7f5-41c4-9016-9014c15454bc
        required: true
        schema:
          type: string
  /api/v1/usernames:
    get:
      summary: 'Get All Usernames'
      operationId: getAllUsernames
      description: 'This endpoint retrieves all usernames.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      id: 2777dee6-1721-45c0-8d01-698b6be2335f
                      user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                      username: johndoe
                      description: null
                      from_name: null
                      aliases_count: 5
                      default_recipient: null
                      active: true
                      catch_all: true
                      can_login: true
                      created_at: '2019-10-01 09:00:00'
                      updated_at: '2019-10-01 09:00:00'
                    -
                      id: ede18c01-9de2-40f4-8cce-c1e9f623ef2d
                      user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                      username: janedoe
                      description: null
                      from_name: null
                      aliases_count: 0
                      default_recipient: null
                      active: true
                      catch_all: true
                      can_login: true
                      created_at: '2019-10-01 09:00:00'
                      updated_at: '2019-10-01 09:00:00'
                properties:
                  data:
                    type: array
                    example:
                      -
                        id: 2777dee6-1721-45c0-8d01-698b6be2335f
                        user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                        username: johndoe
                        description: null
                        from_name: null
                        aliases_count: 5
                        default_recipient: null
                        active: true
                        catch_all: true
                        can_login: true
                        created_at: '2019-10-01 09:00:00'
                        updated_at: '2019-10-01 09:00:00'
                      -
                        id: ede18c01-9de2-40f4-8cce-c1e9f623ef2d
                        user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                        username: janedoe
                        description: null
                        from_name: null
                        aliases_count: 0
                        default_recipient: null
                        active: true
                        catch_all: true
                        can_login: true
                        created_at: '2019-10-01 09:00:00'
                        updated_at: '2019-10-01 09:00:00'
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          example: 2777dee6-1721-45c0-8d01-698b6be2335f
                        user_id:
                          type: string
                          example: ca0a4e09-c266-4f6f-845c-958db5090f09
                        username:
                          type: string
                          example: johndoe
                        description:
                          type: string
                          example: null
                        from_name:
                          type: string
                          example: null
                        aliases_count:
                          type: integer
                          example: 5
                        default_recipient:
                          type: string
                          example: null
                        active:
                          type: boolean
                          example: true
                        catch_all:
                          type: boolean
                          example: true
                        can_login:
                          type: boolean
                          example: true
                        created_at:
                          type: string
                          example: '2019-10-01 09:00:00'
                        updated_at:
                          type: string
                          example: '2019-10-01 09:00:00'
      tags:
        - Usernames
    post:
      summary: 'Create New Username'
      operationId: createNewUsername
      description: 'This endpoint creates a new username.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        201:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 2777dee6-1721-45c0-8d01-698b6be2335f
                    user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                    username: johndoe
                    description: null
                    from_name: null
                    aliases_count: 0
                    default_recipient: null
                    active: true
                    catch_all: true
                    can_login: true
                    created_at: '2019-10-01 09:00:00'
                    updated_at: '2019-10-01 09:00:00'
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 2777dee6-1721-45c0-8d01-698b6be2335f
                      user_id:
                        type: string
                        example: ca0a4e09-c266-4f6f-845c-958db5090f09
                      username:
                        type: string
                        example: johndoe
                      description:
                        type: string
                        example: null
                      from_name:
                        type: string
                        example: null
                      aliases_count:
                        type: integer
                        example: 0
                      default_recipient:
                        type: string
                        example: null
                      active:
                        type: boolean
                        example: true
                      catch_all:
                        type: boolean
                        example: true
                      can_login:
                        type: boolean
                        example: true
                      created_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      updated_at:
                        type: string
                        example: '2019-10-01 09:00:00'
      tags:
        - Usernames
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                username:
                  type: string
                  description: 'The username for the username'
                  example: johndoe
              required:
                - username
  '/api/v1/usernames/{id}':
    get:
      summary: 'Get a Specific Username'
      operationId: getASpecificUsername
      description: 'This endpoint retrieves a specific username.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 2777dee6-1721-45c0-8d01-698b6be2335f
                    user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                    username: johndoe
                    description: null
                    from_name: null
                    aliases_count: 5
                    default_recipient: null
                    active: true
                    catch_all: true
                    can_login: true
                    created_at: '2019-10-01 09:00:00'
                    updated_at: '2019-10-01 09:00:00'
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 2777dee6-1721-45c0-8d01-698b6be2335f
                      user_id:
                        type: string
                        example: ca0a4e09-c266-4f6f-845c-958db5090f09
                      username:
                        type: string
                        example: johndoe
                      description:
                        type: string
                        example: null
                      from_name:
                        type: string
                        example: null
                      aliases_count:
                        type: integer
                        example: 5
                      default_recipient:
                        type: string
                        example: null
                      active:
                        type: boolean
                        example: true
                      catch_all:
                        type: boolean
                        example: true
                      can_login:
                        type: boolean
                        example: true
                      created_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      updated_at:
                        type: string
                        example: '2019-10-01 09:00:00'
      tags:
        - Usernames
    patch:
      summary: 'Update a Specific Username'
      operationId: updateASpecificUsername
      description: 'This endpoint updates a specific username.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 2777dee6-1721-45c0-8d01-698b6be2335f
                    user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                    username: johndoe
                    description: 'New description'
                    from_name: John
                    aliases_count: 5
                    default_recipient: null
                    active: true
                    catch_all: true
                    can_login: true
                    created_at: '2019-10-01 09:00:00'
                    updated_at: '2019-10-01 09:00:00'
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 2777dee6-1721-45c0-8d01-698b6be2335f
                      user_id:
                        type: string
                        example: ca0a4e09-c266-4f6f-845c-958db5090f09
                      username:
                        type: string
                        example: johndoe
                      description:
                        type: string
                        example: 'New description'
                      from_name:
                        type: string
                        example: John
                      aliases_count:
                        type: integer
                        example: 5
                      default_recipient:
                        type: string
                        example: null
                      active:
                        type: boolean
                        example: true
                      catch_all:
                        type: boolean
                        example: true
                      can_login:
                        type: boolean
                        example: true
                      created_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      updated_at:
                        type: string
                        example: '2019-10-01 09:00:00'
      tags:
        - Usernames
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                description:
                  type: string
                  description: 'The description of the username'
                  example: 'New description'
                from_name:
                  type: string
                  description: 'The from name of the username'
                  example: John
    delete:
      summary: 'Delete a Specific Username'
      operationId: deleteASpecificUsername
      description: 'This endpoint deletes a specific username.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        204:
          description: ''
      tags:
        - Usernames
    parameters:
      -
        in: path
        name: id
        description: 'The id of the username to retrieve'
        example: 2777dee6-1721-45c0-8d01-698b6be2335f
        required: true
        schema:
          type: string
  '/api/v1/usernames/{id}/default-recipient':
    patch:
      summary: 'Update Default Recipient for a Specific Username'
      operationId: updateDefaultRecipientForASpecificUsername
      description: 'This endpoint updates the default recipient for a specific username.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 2777dee6-1721-45c0-8d01-698b6be2335f
                    user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                    username: johndoe
                    description: null
                    from_name: null
                    aliases_count: 5
                    default_recipient:
                      id: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
                      user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                      email: me@example.com
                      can_reply_send: true
                      should_encrypt: false
                      inline_encryption: false
                      protected_headers: false
                      fingerprint: null
                      email_verified_at: '2019-10-01 09:00:00'
                      created_at: '2019-10-01 09:00:00'
                      updated_at: '2019-10-01 09:00:00'
                    active: true
                    catch_all: true
                    can_login: true
                    created_at: '2019-10-01 09:00:00'
                    updated_at: '2019-10-01 09:00:00'
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 2777dee6-1721-45c0-8d01-698b6be2335f
                      user_id:
                        type: string
                        example: ca0a4e09-c266-4f6f-845c-958db5090f09
                      username:
                        type: string
                        example: johndoe
                      description:
                        type: string
                        example: null
                      from_name:
                        type: string
                        example: null
                      aliases_count:
                        type: integer
                        example: 5
                      default_recipient:
                        type: object
                        properties:
                          id:
                            type: string
                            example: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
                          user_id:
                            type: string
                            example: ca0a4e09-c266-4f6f-845c-958db5090f09
                          email:
                            type: string
                            example: me@example.com
                          can_reply_send:
                            type: boolean
                            example: true
                          should_encrypt:
                            type: boolean
                            example: false
                          inline_encryption:
                            type: boolean
                            example: false
                          protected_headers:
                            type: boolean
                            example: false
                          fingerprint:
                            type: string
                            example: null
                          email_verified_at:
                            type: string
                            example: '2019-10-01 09:00:00'
                          created_at:
                            type: string
                            example: '2019-10-01 09:00:00'
                          updated_at:
                            type: string
                            example: '2019-10-01 09:00:00'
                      active:
                        type: boolean
                        example: true
                      catch_all:
                        type: boolean
                        example: true
                      can_login:
                        type: boolean
                        example: true
                      created_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      updated_at:
                        type: string
                        example: '2019-10-01 09:00:00'
      tags:
        - Usernames
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                default_recipient:
                  type: string
                  description: 'The id of the recipient'
                  example: 46eebc50-f7f8-46d7-beb9-c37f04c29a84
    parameters:
      -
        in: path
        name: id
        description: 'The id of the username to update'
        example: 2777dee6-1721-45c0-8d01-698b6be2335f
        required: true
        schema:
          type: string
  /api/v1/active-usernames:
    post:
      summary: 'Activate a Specific Username'
      operationId: activateASpecificUsername
      description: 'This endpoint activates a specific username.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 2777dee6-1721-45c0-8d01-698b6be2335f
                    user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                    username: johndoe
                    description: null
                    from_name: null
                    aliases_count: 5
                    default_recipient: null
                    active: true
                    catch_all: true
                    can_login: true
                    created_at: '2019-10-01 09:00:00'
                    updated_at: '2019-10-01 09:00:00'
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 2777dee6-1721-45c0-8d01-698b6be2335f
                      user_id:
                        type: string
                        example: ca0a4e09-c266-4f6f-845c-958db5090f09
                      username:
                        type: string
                        example: johndoe
                      description:
                        type: string
                        example: null
                      from_name:
                        type: string
                        example: null
                      aliases_count:
                        type: integer
                        example: 5
                      default_recipient:
                        type: string
                        example: null
                      active:
                        type: boolean
                        example: true
                      catch_all:
                        type: boolean
                        example: true
                      can_login:
                        type: boolean
                        example: true
                      created_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      updated_at:
                        type: string
                        example: '2019-10-01 09:00:00'
      tags:
        - Usernames
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  description: 'The id for the username'
                  example: 2777dee6-1721-45c0-8d01-698b6be2335f
              required:
                - id
  '/api/v1/active-usernames/{id}':
    delete:
      summary: 'Deactivate a Specific Username'
      operationId: deactivateASpecificUsername
      description: 'This endpoint deactivates a specific username.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        204:
          description: ''
      tags:
        - Usernames
    parameters:
      -
        in: path
        name: id
        description: 'The id of the username to deactivate'
        example: 2777dee6-1721-45c0-8d01-698b6be2335f
        required: true
        schema:
          type: string
  /api/v1/catch-all-usernames:
    post:
      summary: 'Enable catch-all for a Specific Username'
      operationId: enableCatchAllForASpecificUsername
      description: 'This endpoint enables catch-all a specific username.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 2777dee6-1721-45c0-8d01-698b6be2335f
                    user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                    username: johndoe
                    description: null
                    from_name: null
                    aliases_count: 5
                    default_recipient: null
                    active: true
                    catch_all: true
                    can_login: true
                    created_at: '2019-10-01 09:00:00'
                    updated_at: '2019-10-01 09:00:00'
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 2777dee6-1721-45c0-8d01-698b6be2335f
                      user_id:
                        type: string
                        example: ca0a4e09-c266-4f6f-845c-958db5090f09
                      username:
                        type: string
                        example: johndoe
                      description:
                        type: string
                        example: null
                      from_name:
                        type: string
                        example: null
                      aliases_count:
                        type: integer
                        example: 5
                      default_recipient:
                        type: string
                        example: null
                      active:
                        type: boolean
                        example: true
                      catch_all:
                        type: boolean
                        example: true
                      can_login:
                        type: boolean
                        example: true
                      created_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      updated_at:
                        type: string
                        example: '2019-10-01 09:00:00'
      tags:
        - Usernames
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  description: 'The id for the username'
                  example: 2777dee6-1721-45c0-8d01-698b6be2335f
              required:
                - id
  '/api/v1/catch-all-usernames/{id}':
    delete:
      summary: 'Disable catch-all for a Specific Username'
      operationId: disableCatchAllForASpecificUsername
      description: 'This endpoint disables catch-all for a specific username.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        204:
          description: ''
      tags:
        - Usernames
    parameters:
      -
        in: path
        name: id
        description: 'The id of the username to disable catch-all'
        example: 2777dee6-1721-45c0-8d01-698b6be2335f
        required: true
        schema:
          type: string
  /api/v1/loginable-usernames:
    post:
      summary: 'Allow login for a Specific Username'
      operationId: allowLoginForASpecificUsername
      description: 'This endpoint gives a specific username the ability to login to your account.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 2777dee6-1721-45c0-8d01-698b6be2335f
                    user_id: ca0a4e09-c266-4f6f-845c-958db5090f09
                    username: johndoe
                    description: null
                    from_name: null
                    aliases_count: 5
                    default_recipient: null
                    active: true
                    catch_all: true
                    can_login: true
                    created_at: '2019-10-01 09:00:00'
                    updated_at: '2019-10-01 09:00:00'
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 2777dee6-1721-45c0-8d01-698b6be2335f
                      user_id:
                        type: string
                        example: ca0a4e09-c266-4f6f-845c-958db5090f09
                      username:
                        type: string
                        example: johndoe
                      description:
                        type: string
                        example: null
                      from_name:
                        type: string
                        example: null
                      aliases_count:
                        type: integer
                        example: 5
                      default_recipient:
                        type: string
                        example: null
                      active:
                        type: boolean
                        example: true
                      catch_all:
                        type: boolean
                        example: true
                      can_login:
                        type: boolean
                        example: true
                      created_at:
                        type: string
                        example: '2019-10-01 09:00:00'
                      updated_at:
                        type: string
                        example: '2019-10-01 09:00:00'
      tags:
        - Usernames
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  description: 'The id for the username'
                  example: 2777dee6-1721-45c0-8d01-698b6be2335f
              required:
                - id
  '/api/v1/loginable-usernames/{id}':
    delete:
      summary: 'Disallow login for a Specific Username'
      operationId: disallowLoginForASpecificUsername
      description: 'This endpoint prevents a specific username from being able to login to your account.'
      parameters:
        -
          in: header
          name: X-Requested-With
          description: ''
          example: XMLHttpRequest
          schema:
            type: string
      responses:
        204:
          description: ''
      tags:
        - Usernames
    parameters:
      -
        in: path
        name: id
        description: 'The id of the username'
        example: 2777dee6-1721-45c0-8d01-698b6be2335f
        required: true
        schema:
          type: string
tags:
  -
    name: 'API Token'
    description: ''
  -
    name: 'Account Details'
    description: ''
  -
    name: 'Alias Bulk Actions'
    description: ''
  -
    name: Aliases
    description: ''
  -
    name: 'App Version'
    description: ''
  -
    name: 'Domain Options'
    description: ''
  -
    name: Domains
    description: ''
  -
    name: 'Failed Deliveries'
    description: ''
  -
    name: Recipients
    description: ''
  -
    name: Rules
    description: ''
  -
    name: Usernames
    description: ''
components:
  securitySchemes:
    default:
      type: http
      scheme: bearer
      description: 'You can retrieve your token by visiting your <a href="https://app.addy.io/settings/api">account settings</a> and clicking <b>Generate New Token</b>.'
security:
  -
    default: []
